{"action":"created","issue":{"url":"https://api.github.com/repos/tipsy/javalin/issues/321","repository_url":"https://api.github.com/repos/tipsy/javalin","labels_url":"https://api.github.com/repos/tipsy/javalin/issues/321/labels{/name}","comments_url":"https://api.github.com/repos/tipsy/javalin/issues/321/comments","events_url":"https://api.github.com/repos/tipsy/javalin/issues/321/events","html_url":"https://github.com/tipsy/javalin/issues/321","id":346196476,"node_id":"MDU6SXNzdWUzNDYxOTY0NzY=","number":321,"title":"Path parameters are case-insensive, and behavior is not documented","user":{"login":"stephenbyrne-mfj","id":28395362,"node_id":"MDQ6VXNlcjI4Mzk1MzYy","avatar_url":"https://avatars2.githubusercontent.com/u/28395362?v=4","gravatar_id":"","url":"https://api.github.com/users/stephenbyrne-mfj","html_url":"https://github.com/stephenbyrne-mfj","followers_url":"https://api.github.com/users/stephenbyrne-mfj/followers","following_url":"https://api.github.com/users/stephenbyrne-mfj/following{/other_user}","gists_url":"https://api.github.com/users/stephenbyrne-mfj/gists{/gist_id}","starred_url":"https://api.github.com/users/stephenbyrne-mfj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephenbyrne-mfj/subscriptions","organizations_url":"https://api.github.com/users/stephenbyrne-mfj/orgs","repos_url":"https://api.github.com/users/stephenbyrne-mfj/repos","events_url":"https://api.github.com/users/stephenbyrne-mfj/events{/privacy}","received_events_url":"https://api.github.com/users/stephenbyrne-mfj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-07-31T13:49:33Z","updated_at":"2018-07-31T14:15:59Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"**Actual behavior (the bug)**\r\n\r\nPath parameters are case-insensitive in both parsing and recalling. This can lead to lost parameters.\r\n\r\n**Expected behavior**\r\n\r\nThe documentation does not mention this, so I would expect it to be case-sensitive.\r\n\r\n**To Reproduce**\r\n\r\n```\r\nget( /:param/:Param\" ) { ctx ->\r\n  ctx.result( \"${ctx.pathParam(\"param\")}-${ctx.pathParam(\"Param\")} )\r\n}\r\n```\r\n```\r\nGET /a/B/\r\n```\r\n\r\nI would expect \"a-b\", but get \"b-b\"\r\n\r\n**Additional context**\r\n\r\nIf it should be case-sensitive, I can create a PR. Otherwise the documentation should reflect that the param names are case-insensitive and that the last value wins."},"comment":{"url":"https://api.github.com/repos/tipsy/javalin/issues/comments/409236632","html_url":"https://github.com/tipsy/javalin/issues/321#issuecomment-409236632","issue_url":"https://api.github.com/repos/tipsy/javalin/issues/321","id":409236632,"node_id":"MDEyOklzc3VlQ29tbWVudDQwOTIzNjYzMg==","user":{"login":"tipsy","id":1521451,"node_id":"MDQ6VXNlcjE1MjE0NTE=","avatar_url":"https://avatars3.githubusercontent.com/u/1521451?v=4","gravatar_id":"","url":"https://api.github.com/users/tipsy","html_url":"https://github.com/tipsy","followers_url":"https://api.github.com/users/tipsy/followers","following_url":"https://api.github.com/users/tipsy/following{/other_user}","gists_url":"https://api.github.com/users/tipsy/gists{/gist_id}","starred_url":"https://api.github.com/users/tipsy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tipsy/subscriptions","organizations_url":"https://api.github.com/users/tipsy/orgs","repos_url":"https://api.github.com/users/tipsy/repos","events_url":"https://api.github.com/users/tipsy/events{/privacy}","received_events_url":"https://api.github.com/users/tipsy/received_events","type":"User","site_admin":false},"created_at":"2018-07-31T14:15:58Z","updated_at":"2018-07-31T14:15:58Z","author_association":"OWNER","body":"The behavior in the current release (1.7.0) should still be case-sensitive, so I don't think updating the docs is necessary before releasing 2.0.0. I just merged your config-option PR. I'll expand a bit on it to include WebSockets."}}
{"actor":{"display_login":"tipsy"}}