{"action":"created","issue":{"url":"https://api.github.com/repos/square/okhttp/issues/2069","labels_url":"https://api.github.com/repos/square/okhttp/issues/2069/labels{/name}","comments_url":"https://api.github.com/repos/square/okhttp/issues/2069/comments","events_url":"https://api.github.com/repos/square/okhttp/issues/2069/events","html_url":"https://github.com/square/okhttp/issues/2069","id":120752319,"number":2069,"title":"Interceptor chain should be run before the request is checked for method and body requirements","user":{"login":"todorus","id":2123394,"avatar_url":"https://avatars.githubusercontent.com/u/2123394?v=3","gravatar_id":"","url":"https://api.github.com/users/todorus","html_url":"https://github.com/todorus","followers_url":"https://api.github.com/users/todorus/followers","following_url":"https://api.github.com/users/todorus/following{/other_user}","gists_url":"https://api.github.com/users/todorus/gists{/gist_id}","starred_url":"https://api.github.com/users/todorus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/todorus/subscriptions","organizations_url":"https://api.github.com/users/todorus/orgs","repos_url":"https://api.github.com/users/todorus/repos","events_url":"https://api.github.com/users/todorus/events{/privacy}","received_events_url":"https://api.github.com/users/todorus/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-07T11:22:40Z","updated_at":"2016-01-01T22:48:39Z","closed_at":"2016-01-01T22:48:39Z","body":"Since I can use Interceptors to completely change the request, it is kind of odd that Builder.method(String method, RequestBody body) is run before the chain of Interceptors. I can quite easily do some processing in an interceptor that either:\r\n\r\n* changes an invalid request into a valid one\r\n* changes a valid request into an invalid one\r\n\r\nIt seems to me that this check should be executed after the Interceptor chain has had its chance to run and fix/break things."},"comment":{"url":"https://api.github.com/repos/square/okhttp/issues/comments/168345760","html_url":"https://github.com/square/okhttp/issues/2069#issuecomment-168345760","issue_url":"https://api.github.com/repos/square/okhttp/issues/2069","id":168345760,"user":{"login":"swankjesse","id":133019,"avatar_url":"https://avatars.githubusercontent.com/u/133019?v=3","gravatar_id":"","url":"https://api.github.com/users/swankjesse","html_url":"https://github.com/swankjesse","followers_url":"https://api.github.com/users/swankjesse/followers","following_url":"https://api.github.com/users/swankjesse/following{/other_user}","gists_url":"https://api.github.com/users/swankjesse/gists{/gist_id}","starred_url":"https://api.github.com/users/swankjesse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swankjesse/subscriptions","organizations_url":"https://api.github.com/users/swankjesse/orgs","repos_url":"https://api.github.com/users/swankjesse/repos","events_url":"https://api.github.com/users/swankjesse/events{/privacy}","received_events_url":"https://api.github.com/users/swankjesse/received_events","type":"User","site_admin":false},"created_at":"2016-01-01T22:48:39Z","updated_at":"2016-01-01T22:48:39Z","body":"The request needs to be valid at each step."}}