{
  "message": "Inbound callback test server. No outbound requests are made.",
  "case_count": 44,
  "usage": "Use /case/<name> as callbackUrl path",
  "cases": {
    "/case/ok-json": "200 application/json, normal acknowledgement",
    "/case/ok-text": "200 text/plain",
    "/case/ok-html": "200 text/html",
    "/case/ok-xml": "200 application/xml",
    "/case/ok-empty": "200 with an empty response body",
    "/case/ok-201": "201 Created",
    "/case/ok-202": "202 Accepted",
    "/case/no-content-204": "204 No Content",
    "/case/not-modified-304": "304 Not Modified",
    "/case/bad-request-400": "400 Bad Request",
    "/case/unauthorized-401": "401 Unauthorized",
    "/case/forbidden-403": "403 Forbidden",
    "/case/not-found-404": "404 Not Found",
    "/case/conflict-409": "409 Conflict",
    "/case/gone-410": "410 Gone",
    "/case/unprocessable-422": "422 Unprocessable Content",
    "/case/rate-limit-429": "429 Too Many Requests + Retry-After",
    "/case/error-500": "500 Internal Server Error",
    "/case/bad-gateway-502": "502 Bad Gateway",
    "/case/unavailable-503": "503 Service Unavailable + Retry-After",
    "/case/timeout-504": "504 Gateway Timeout",
    "/case/redirect-301": "301 redirects to /case/ok-json",
    "/case/redirect-302": "302 redirects to /case/ok-json",
    "/case/redirect-303": "303 redirects to /case/ok-json (method often changes to GET)",
    "/case/redirect-307": "307 redirects to /case/ok-json (preserve POST method/body)",
    "/case/redirect-308": "308 redirects to /case/ok-json (preserve POST method/body)",
    "/case/loop-a": "307 redirects to loop-b",
    "/case/loop-b": "307 redirects back to loop-a",
    "/case/chain-1": "307 three-hop chain: chain-1 -> chain-2 -> chain-3 -> ok-json",
    "/case/chain-2": "307 chain intermediate hop 2",
    "/case/chain-3": "307 chain intermediate hop 3",
    "/case/redirect-absolute": "307 absolute URL to --public-base/case/ok-json",
    "/case/redirect-external": "307 to explicitly configured --external-redirect URL",
    "/case/slow-3": "Wait 3 seconds before HTTP 200",
    "/case/slow-10": "Wait 10 seconds before HTTP 200",
    "/case/invalid-json": "200 application/json containing malformed JSON",
    "/case/utf8-json": "200 JSON containing Persian Unicode characters",
    "/case/echo": "200 JSON describing incoming request and SHA256/body",
    "/case/large-response": "200 with 128 KiB response body",
    "/case/chunked-response": "200 Transfer-Encoding: chunked",
    "/case/duplicate-headers": "200 with repeated X-Callback-Test response headers",
    "/case/disconnect": "Close connection without sending an HTTP response",
    "/case/truncated-response": "Declare Content-Length 100 then send only 5 bytes and close",
    "/case/malformed-response": "Send an intentionally malformed HTTP response"
  }
}