{
  "note": "used for functional tests.",
  "port": "7879",
  "latency": 0,
  "allowedDomains": ["abc"],
  "allowedHeaders": ["Content-Type", "my-custom-header"],
  "corsCredentials": "true",
  "proxyURL": "http://localhost:7881",
  "webServices": {
    "first": {
      "mockFile": "king.json",
      "contentType": "foobar",
      "verbs": ["get"],
      "alternatePaths": ["1st"]
    },
    "second": {
      "verbs": ["delete"],
      "httpStatus": 204
    },
    "royals": {
      "verbs": ["get", "post"],
      "responses": {
        "get": {
          "mockFile": "ace.json"
        },
        "post": {
          "mockFile": "king.json"
        }
      }
    },
    "protected": {
      "mockFile": "king.json",
      "httpStatus": 403,
      "verbs": ["put"]
    },
    "nested/ace": {
      "mockFile": "ace.json",
      "verbs": ["post", "get"],
      "switch": "customerId"
    },
    "var/:id": {
      "mockFile": "xml/queen.xml",
      "contentType": "application/xml",
      "verbs": ["all"]
    },
    "login": {
      "mockFile": "king.json",
      "verbs": ["post"],
      "switch": ["userId", "password"],
      "responses": {
        "post": { "httpStatus": 401 }
      },
      "switchResponses": {
        "userIduser1passwordgood": { "httpStatus": 200 }
      }
    },
    "verify": {
      "verbs": ["post"],
      "switch": ["customerId"],
      "switchResponses": {
        "customerId1234": { "mockFile": "ace.json" }
      }
    },
    "firstheaders": {
      "mockFile": "king.json",
      "contentType": "foobar",
      "headers": {
        "x-requested-by": "4c2df03a17a803c063f21aa86a36f6f55bdde1f85b89e49ee1b383f281d18c09c2ba30654090df3531cd2318e3c",
        "dummyheader": "dummyvalue"
      },
      "verbs": ["get"]
    },
    "noMockFile": {
      "verbs": ["get"]
    },
    "missingMockFile": {
      "verbs": ["get"],
      "mockFile": "missing",
      "httpStatus": 203
    },
    "template/:name/:number": {
      "mockFile": "templateSample.json",
      "enableTemplate": true,
      "contentType": "application/json",
      "verbs": ["get"]
    },
    "templateSwitchGetParams": {
      "mockFile": "templateSwitchSample.json",
      "verbs": ["get"],
      "templateSwitch": ["appID", "appName", "userName", "userAge"],
      "contentType": "application/json"
    },
    "templateSwitchPostJsonPath": {
      "mockFile": "templateSwitchSample.json",
      "verbs": ["post"],
      "templateSwitch": [
        { "key": "appID", "switch": "$.data.appID", "type": "jsonpath" },
        { "key": "appName", "switch": "$.data.appName", "type": "jsonpath" },
        {
          "key": "userName",
          "switch": "$.data.user.userName",
          "type": "jsonpath"
        },
        {
          "key": "userAge",
          "switch": "$.data.user.userAge",
          "type": "jsonpath"
        }
      ],
      "contentType": "application/json"
    },
    "users": {
      "mockFile": "users.json",
      "verbs": ["get"]
    },
    "users/:id": {
      "mockFile": "users.json",
      "verbs": ["get"],
      "switch": "id",
      "jsonPathSwitchResponse": {
        "jsonpath": "$[?(@.id==#id#)]",
        "mockFile": "users.json",
        "forceFirstObject": true
      }
    },
    "users/role/:role": {
      "mockFile": "users.json",
      "verbs": ["get"],
      "switch": "role",
      "jsonPathSwitchResponse": {
        "jsonpath": "$[?(@.role==\"#role#\")]",
        "mockFile": "users.json",
        "forceFirstObject": false
      }
    },
    "upload": {
      "verbs": ["post"],
      "switch": "name",
      "switchResponses": {
        "nameking": { "mockFile": "king.json" }
      },
      "mockFile": "json",
      "uploadDirectory": "uploads"
    },
    "upload/many": {
      "verbs": ["post"],
      "mockFile": "sorry.json",
      "uploadDirectory": "uploads"
    },
    "upload-form": {
      "verbs": ["get"],
      "mockFile": "upload-form.html",
      "contentType": "text/html"
    },
    "raw": {
      "mockBody": "{ \"text\" : \"Good Job!\" }",
      "verbs": ["all"]
    },
    "raw/template/:message": {
      "mockBody": "{ \"text\" : \"@message\" }",
      "enableTemplate": true,
      "contentType": "application/json",
      "verbs": ["get"]
    },
    "body/filter": {
      "verbs": ["post"],
      "bodies": {
        "post": [
          "{ \"text\": \"Raw body filter test\" }",
          { "sha1": "46607ed90dbc35ffa40bf49db6e341e92487f2bc" }
        ]
      },
      "mockFile": "king.json"
    }
  }
}
