{"action":"created","issue":{"url":"https://api.github.com/repos/rails/rails/issues/25798","repository_url":"https://api.github.com/repos/rails/rails","labels_url":"https://api.github.com/repos/rails/rails/issues/25798/labels{/name}","comments_url":"https://api.github.com/repos/rails/rails/issues/25798/comments","events_url":"https://api.github.com/repos/rails/rails/issues/25798/events","html_url":"https://github.com/rails/rails/pull/25798","id":165059439,"number":25798,"title":"Don't raise ActionController::UnknownHttpMethod from ActionDispatch::Static","user":{"login":"greysteil","id":1144873,"avatar_url":"https://avatars.githubusercontent.com/u/1144873?v=3","gravatar_id":"","url":"https://api.github.com/users/greysteil","html_url":"https://github.com/greysteil","followers_url":"https://api.github.com/users/greysteil/followers","following_url":"https://api.github.com/users/greysteil/following{/other_user}","gists_url":"https://api.github.com/users/greysteil/gists{/gist_id}","starred_url":"https://api.github.com/users/greysteil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greysteil/subscriptions","organizations_url":"https://api.github.com/users/greysteil/orgs","repos_url":"https://api.github.com/users/greysteil/repos","events_url":"https://api.github.com/users/greysteil/events{/privacy}","received_events_url":"https://api.github.com/users/greysteil/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"sgrif","id":1529387,"avatar_url":"https://avatars.githubusercontent.com/u/1529387?v=3","gravatar_id":"","url":"https://api.github.com/users/sgrif","html_url":"https://github.com/sgrif","followers_url":"https://api.github.com/users/sgrif/followers","following_url":"https://api.github.com/users/sgrif/following{/other_user}","gists_url":"https://api.github.com/users/sgrif/gists{/gist_id}","starred_url":"https://api.github.com/users/sgrif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgrif/subscriptions","organizations_url":"https://api.github.com/users/sgrif/orgs","repos_url":"https://api.github.com/users/sgrif/repos","events_url":"https://api.github.com/users/sgrif/events{/privacy}","received_events_url":"https://api.github.com/users/sgrif/received_events","type":"User","site_admin":false},"assignees":[{"login":"sgrif","id":1529387,"avatar_url":"https://avatars.githubusercontent.com/u/1529387?v=3","gravatar_id":"","url":"https://api.github.com/users/sgrif","html_url":"https://github.com/sgrif","followers_url":"https://api.github.com/users/sgrif/followers","following_url":"https://api.github.com/users/sgrif/following{/other_user}","gists_url":"https://api.github.com/users/sgrif/gists{/gist_id}","starred_url":"https://api.github.com/users/sgrif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgrif/subscriptions","organizations_url":"https://api.github.com/users/sgrif/orgs","repos_url":"https://api.github.com/users/sgrif/repos","events_url":"https://api.github.com/users/sgrif/events{/privacy}","received_events_url":"https://api.github.com/users/sgrif/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-07-12T11:44:21Z","updated_at":"2016-07-12T13:34:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rails/rails/pulls/25798","html_url":"https://github.com/rails/rails/pull/25798","diff_url":"https://github.com/rails/rails/pull/25798.diff","patch_url":"https://github.com/rails/rails/pull/25798.patch"},"body":"The `ActionDispatch::Static` middleware is used low down in the stack to serve static assets before doing much processing. Since it's called from so low in the stack, we don't have access to the request ID at this point, and generally won't have any exception handling defined (by default `ShowExceptions` is added to the stack quite a bit higher and relies on logging and request ID).\r\n\r\nBefore https://github.com/rails/rails/commit/8f27d6036a2ddc3cb7a7ad98afa2666ec163c2c3 this middleware would ignore unknown HTTP methods, and an exception about these would be raised higher in the stack. After that commit, however, that exception will be raised here.\r\n\r\nIf we want to keep `ActionDispatch::Static so low in the stack (I think we do) we should suppress the `ActionController::UnknownHttpMethod` exception here, and instead let it be raised higher up the stack, once we've had a chance to define exception handling behaviour."},"comment":{"url":"https://api.github.com/repos/rails/rails/issues/comments/232048740","html_url":"https://github.com/rails/rails/pull/25798#issuecomment-232048740","issue_url":"https://api.github.com/repos/rails/rails/issues/25798","id":232048740,"user":{"login":"matthewd","id":1034,"avatar_url":"https://avatars.githubusercontent.com/u/1034?v=3","gravatar_id":"","url":"https://api.github.com/users/matthewd","html_url":"https://github.com/matthewd","followers_url":"https://api.github.com/users/matthewd/followers","following_url":"https://api.github.com/users/matthewd/following{/other_user}","gists_url":"https://api.github.com/users/matthewd/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewd/subscriptions","organizations_url":"https://api.github.com/users/matthewd/orgs","repos_url":"https://api.github.com/users/matthewd/repos","events_url":"https://api.github.com/users/matthewd/events{/privacy}","received_events_url":"https://api.github.com/users/matthewd/received_events","type":"User","site_admin":false},"created_at":"2016-07-12T13:34:59Z","updated_at":"2016-07-12T13:34:59Z","body":"Can we use `Rack::Request` here instead? I haven't read closely, but it seems plausible that we may not be relying on any `AD::Request`-specific behaviours."}}
{"actor":{"display_login":"matthewd"}}