{"action":"created","issue":{"url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/708","labels_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/708/labels{/name}","comments_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/708/comments","events_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/708/events","html_url":"https://github.com/mitsuhiko/werkzeug/pull/708","id":62003707,"number":708,"title":"Routing - try next rule without redirect.","user":{"login":"saltos","id":3582280,"avatar_url":"https://avatars.githubusercontent.com/u/3582280?v=3","gravatar_id":"","url":"https://api.github.com/users/saltos","html_url":"https://github.com/saltos","followers_url":"https://api.github.com/users/saltos/followers","following_url":"https://api.github.com/users/saltos/following{/other_user}","gists_url":"https://api.github.com/users/saltos/gists{/gist_id}","starred_url":"https://api.github.com/users/saltos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saltos/subscriptions","organizations_url":"https://api.github.com/users/saltos/orgs","repos_url":"https://api.github.com/users/saltos/repos","events_url":"https://api.github.com/users/saltos/events{/privacy}","received_events_url":"https://api.github.com/users/saltos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-03-16T08:15:44Z","updated_at":"2015-03-17T08:19:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/708","html_url":"https://github.com/mitsuhiko/werkzeug/pull/708","diff_url":"https://github.com/mitsuhiko/werkzeug/pull/708.diff","patch_url":"https://github.com/mitsuhiko/werkzeug/pull/708.patch"},"body":"Try the next rule without redirect if the current request method is not match for the current rule methods.\r\nFor POST, PUT and PATCH methods redirect is not allowed.\r\n\r\nSample source code:\r\n```python\r\n@app.route('/path/', methods=['GET'])\r\n@app.route('/path',  methods=['GET'])\r\ndef get():\r\n    return make_response(do_get())\r\n\r\n@app.route('/path/', methods=['POST'])\r\n@app.route('/path',  methods=['POST'])\r\ndef create():\r\n    return make_response(do_create(request))\r\n\r\n@app.route('/path/', methods=['DELETE'])\r\n@app.route('/path',  methods=['DELETE'])\r\ndef delete():\r\n    return make_response(do_delete(request))\r\n\r\n@app.route('/path/', methods=['PATCH'])\r\n@app.route('/path',  methods=['PATCH'])\r\ndef edit():\r\n    id = request.args.get('id')\r\n    return make_response(do_edit(id, request))\r\n```\r\n\r\nSample error mesage without fix for PATCH method:\r\nFormDataRoutingRedirect: A request was sent to this URL (http://localhost:9000/path?id=12345) but a redirect was issued automatically by the routing system to \"http://localhost:9000/path/?id=12345\".  The URL was defined with a trailing slash so Flask will automatically redirect to the URL with the trailing slash if it was accessed without one.  Make sure to directly send your PATCH-request to this URL since we can't make browsers or HTTP clients redirect with form data reliably or without user interaction."},"comment":{"url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/comments/82196598","html_url":"https://github.com/mitsuhiko/werkzeug/pull/708#issuecomment-82196598","issue_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/708","id":82196598,"user":{"login":"saltos","id":3582280,"avatar_url":"https://avatars.githubusercontent.com/u/3582280?v=3","gravatar_id":"","url":"https://api.github.com/users/saltos","html_url":"https://github.com/saltos","followers_url":"https://api.github.com/users/saltos/followers","following_url":"https://api.github.com/users/saltos/following{/other_user}","gists_url":"https://api.github.com/users/saltos/gists{/gist_id}","starred_url":"https://api.github.com/users/saltos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saltos/subscriptions","organizations_url":"https://api.github.com/users/saltos/orgs","repos_url":"https://api.github.com/users/saltos/repos","events_url":"https://api.github.com/users/saltos/events{/privacy}","received_events_url":"https://api.github.com/users/saltos/received_events","type":"User","site_admin":false},"created_at":"2015-03-17T08:19:36Z","updated_at":"2015-03-17T08:19:36Z","body":"I can see only two related automated tests fail."}}