{ "label": "vulnerable", "version": "9.3.2", "routerOpts": null, "methods": [ "GET" ], "results": [ { "config": "standard", "name": "control_baseline_normal", "method": "GET", "url": "/user/alice/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"alice\",\"params\":{\"id\":\"alice\"}}", "capturedParams": { "id": "alice" }, "bypass": false }, { "config": "standard", "name": "control_original_%2F", "method": "GET", "url": "/user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "standard", "name": "lowercase_%2f", "method": "GET", "url": "/user/a%2fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "standard", "name": "param_is_only_%2F", "method": "GET", "url": "/user/%2F/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"/\",\"params\":{\"id\":\"/\"}}", "capturedParams": { "id": "/" }, "bypass": true }, { "config": "standard", "name": "two_single_%2F_in_param", "method": "GET", "url": "/user/a%2Fb%2Fc/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b/c\",\"params\":{\"id\":\"a/b/c\"}}", "capturedParams": { "id": "a/b/c" }, "bypass": true }, { "config": "standard", "name": "mixed_case_%2F_%2f", "method": "GET", "url": "/user/a%2Fb%2fc/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b/c\",\"params\":{\"id\":\"a/b/c\"}}", "capturedParams": { "id": "a/b/c" }, "bypass": true }, { "config": "standard", "name": "double_%252F", "method": "GET", "url": "/user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "standard", "name": "double_%252f_lower", "method": "GET", "url": "/user/a%252fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2fb\",\"params\":{\"id\":\"a%2fb\"}}", "capturedParams": { "id": "a%2fb" }, "bypass": false }, { "config": "standard", "name": "triple_%25252F", "method": "GET", "url": "/user/a%25252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%252Fb\",\"params\":{\"id\":\"a%252Fb\"}}", "capturedParams": { "id": "a%252Fb" }, "bypass": false }, { "config": "standard", "name": "two_double_%252F", "method": "GET", "url": "/user/a%252Fb%252Fc/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb%2Fc\",\"params\":{\"id\":\"a%2Fb%2Fc\"}}", "capturedParams": { "id": "a%2Fb%2Fc" }, "bypass": false }, { "config": "standard", "name": "quad_%2525252F", "method": "GET", "url": "/user/a%2525252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%25252Fb\",\"params\":{\"id\":\"a%25252Fb\"}}", "capturedParams": { "id": "a%25252Fb" }, "bypass": false }, { "config": "standard", "name": "bare_%25_in_param", "method": "GET", "url": "/user/a%25b/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%b\",\"params\":{\"id\":\"a%b\"}}", "capturedParams": { "id": "a%b" }, "bypass": false }, { "config": "standard", "name": "percent25_then_2F_noencode", "method": "GET", "url": "/user/a%252/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2\",\"params\":{\"id\":\"a%2\"}}", "capturedParams": { "id": "a%2" }, "bypass": false }, { "config": "standard", "name": "with_query", "method": "GET", "url": "/user/a%2Fb/comments?x=1", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "standard", "name": "trailing_slash", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%2Fb/comments/ not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "standard", "name": "semicolon_after_param", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b;x\",\"params\":{\"id\":\"a/b;x\"}}", "capturedParams": { "id": "a/b;x" }, "bypass": true }, { "config": "standard", "name": "dup_leading_slash", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": null, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET://user/a%2Fb/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "structural:multi_param_first_%2F", "name": "multi_param_first_%2F", "method": "GET", "url": "/api/o%2Fr/x/issues", "guard": "/api/:org/:repo", "route": "/api/:org/:repo/issues", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"params\":{\"org\":\"o/r\",\"repo\":\"x\"}}", "capturedParams": { "org": "o/r", "repo": "x" }, "bypass": false }, { "config": "structural:multi_param_second_%2F", "name": "multi_param_second_%2F", "method": "GET", "url": "/api/x/o%2Fr/issues", "guard": "/api/:org/:repo", "route": "/api/:org/:repo/issues", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"params\":{\"org\":\"x\",\"repo\":\"o/r\"}}", "capturedParams": { "org": "x", "repo": "o/r" }, "bypass": false }, { "config": "structural:prefix_guard_%2F (end:false)", "name": "prefix_guard_%2F (end:false)", "method": "GET", "url": "/files/a%2Fb/download", "guard": "/files/:dir", "route": "/files/:dir/download", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"params\":{\"dir\":\"a/b\"}}", "capturedParams": { "dir": "a/b" }, "bypass": false }, { "config": "structural:double_%252F_multi_param", "name": "double_%252F_multi_param", "method": "GET", "url": "/api/o%252Fr/x/issues", "guard": "/api/:org/:repo", "route": "/api/:org/:repo/issues", "routerOpts": null, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"params\":{\"org\":\"o%2Fr\",\"repo\":\"x\"}}", "capturedParams": { "org": "o%2Fr", "repo": "x" }, "bypass": false }, { "config": "opts:trailing", "name": "ignoreTrailing_%2F", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:trailing", "name": "ignoreTrailing_%252F", "method": "GET", "url": "/user/a%252Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:trailing", "name": "ignoreDup_%2F", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET://user/a%2Fb/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:trailing", "name": "ignoreDup_%252F", "method": "GET", "url": "//user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET://user/a%252Fb/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:trailing", "name": "semi_%2F", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b;x\",\"params\":{\"id\":\"a/b;x\"}}", "capturedParams": { "id": "a/b;x" }, "bypass": true }, { "config": "opts:trailing", "name": "semi_%252F", "method": "GET", "url": "/user/a%252Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb;x\",\"params\":{\"id\":\"a%2Fb;x\"}}", "capturedParams": { "id": "a%2Fb;x" }, "bypass": false }, { "config": "opts:dupslash", "name": "ignoreTrailing_%2F", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%2Fb/comments/ not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:dupslash", "name": "ignoreTrailing_%252F", "method": "GET", "url": "/user/a%252Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%252Fb/comments/ not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:dupslash", "name": "ignoreDup_%2F", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:dupslash", "name": "ignoreDup_%252F", "method": "GET", "url": "//user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:dupslash", "name": "semi_%2F", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b;x\",\"params\":{\"id\":\"a/b;x\"}}", "capturedParams": { "id": "a/b;x" }, "bypass": true }, { "config": "opts:dupslash", "name": "semi_%252F", "method": "GET", "url": "/user/a%252Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb;x\",\"params\":{\"id\":\"a%2Fb;x\"}}", "capturedParams": { "id": "a%2Fb;x" }, "bypass": false }, { "config": "opts:trailing+dup", "name": "ignoreTrailing_%2F", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:trailing+dup", "name": "ignoreTrailing_%252F", "method": "GET", "url": "/user/a%252Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:trailing+dup", "name": "ignoreDup_%2F", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:trailing+dup", "name": "ignoreDup_%252F", "method": "GET", "url": "//user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:trailing+dup", "name": "semi_%2F", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b;x\",\"params\":{\"id\":\"a/b;x\"}}", "capturedParams": { "id": "a/b;x" }, "bypass": true }, { "config": "opts:trailing+dup", "name": "semi_%252F", "method": "GET", "url": "/user/a%252Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb;x\",\"params\":{\"id\":\"a%2Fb;x\"}}", "capturedParams": { "id": "a%2Fb;x" }, "bypass": false }, { "config": "opts:semicolon", "name": "ignoreTrailing_%2F", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%2Fb/comments/ not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:semicolon", "name": "ignoreTrailing_%252F", "method": "GET", "url": "/user/a%252Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 401, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%252Fb/comments/ not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:semicolon", "name": "ignoreDup_%2F", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET://user/a%2Fb/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:semicolon", "name": "ignoreDup_%252F", "method": "GET", "url": "//user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET://user/a%252Fb/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:semicolon", "name": "semi_%2F", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%2Fb;x/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:semicolon", "name": "semi_%252F", "method": "GET", "url": "/user/a%252Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%252Fb;x/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:all", "name": "ignoreTrailing_%2F", "method": "GET", "url": "/user/a%2Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:all", "name": "ignoreTrailing_%252F", "method": "GET", "url": "/user/a%252Fb/comments/", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:all", "name": "ignoreDup_%2F", "method": "GET", "url": "//user/a%2Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 200, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a/b\",\"params\":{\"id\":\"a/b\"}}", "capturedParams": { "id": "a/b" }, "bypass": true }, { "config": "opts:all", "name": "ignoreDup_%252F", "method": "GET", "url": "//user/a%252Fb/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 401, "withKeyStatus": 200, "withKeyBody": "{\"ok\":true,\"id\":\"a%2Fb\",\"params\":{\"id\":\"a%2Fb\"}}", "capturedParams": { "id": "a%2Fb" }, "bypass": false }, { "config": "opts:all", "name": "semi_%2F", "method": "GET", "url": "/user/a%2Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%2Fb;x/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false }, { "config": "opts:all", "name": "semi_%252F", "method": "GET", "url": "/user/a%252Fb;x/comments", "guard": "/user/:id/comments", "route": "/user/:id/comments", "routerOpts": { "ignoreTrailingSlash": true, "ignoreDuplicateSlashes": true, "useSemicolonDelimiter": true }, "noKeyStatus": 404, "withKeyStatus": 404, "withKeyBody": "{\"message\":\"Route GET:/user/a%252Fb;x/comments not found\",\"error\":\"Not Found\",\"statusCode\":404}", "capturedParams": null, "bypass": false } ] }