{"action":"closed","issue":{"url":"https://api.github.com/repos/golang/go/issues/20948","repository_url":"https://api.github.com/repos/golang/go","labels_url":"https://api.github.com/repos/golang/go/issues/20948/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/20948/comments","events_url":"https://api.github.com/repos/golang/go/issues/20948/events","html_url":"https://github.com/golang/go/issues/20948","id":241373719,"number":20948,"title":"net/http: StripPrefix creates a new request, confusing middleware","user":{"login":"heschik","id":24611692,"avatar_url":"https://avatars2.githubusercontent.com/u/24611692?v=3","gravatar_id":"","url":"https://api.github.com/users/heschik","html_url":"https://github.com/heschik","followers_url":"https://api.github.com/users/heschik/followers","following_url":"https://api.github.com/users/heschik/following{/other_user}","gists_url":"https://api.github.com/users/heschik/gists{/gist_id}","starred_url":"https://api.github.com/users/heschik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heschik/subscriptions","organizations_url":"https://api.github.com/users/heschik/orgs","repos_url":"https://api.github.com/users/heschik/repos","events_url":"https://api.github.com/users/heschik/events{/privacy}","received_events_url":"https://api.github.com/users/heschik/received_events","type":"User","site_admin":false},"labels":[{"id":373401956,"url":"https://api.github.com/repos/golang/go/labels/NeedsDecision","name":"NeedsDecision","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/golang/go/milestones/49","html_url":"https://github.com/golang/go/milestone/49","labels_url":"https://api.github.com/repos/golang/go/milestones/49/labels","id":2053058,"number":49,"title":"Go1.9","description":"","creator":{"login":"rsc","id":104030,"avatar_url":"https://avatars2.githubusercontent.com/u/104030?v=3","gravatar_id":"","url":"https://api.github.com/users/rsc","html_url":"https://github.com/rsc","followers_url":"https://api.github.com/users/rsc/followers","following_url":"https://api.github.com/users/rsc/following{/other_user}","gists_url":"https://api.github.com/users/rsc/gists{/gist_id}","starred_url":"https://api.github.com/users/rsc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsc/subscriptions","organizations_url":"https://api.github.com/users/rsc/orgs","repos_url":"https://api.github.com/users/rsc/repos","events_url":"https://api.github.com/users/rsc/events{/privacy}","received_events_url":"https://api.github.com/users/rsc/received_events","type":"User","site_admin":false},"open_issues":50,"closed_issues":598,"state":"open","created_at":"2016-10-06T18:17:55Z","updated_at":"2017-07-12T23:12:55Z","due_on":"2017-07-31T07:00:00Z","closed_at":null},"comments":5,"created_at":"2017-07-07T20:36:33Z","updated_at":"2017-07-12T23:12:55Z","closed_at":"2017-07-12T23:12:55Z","body":"As of http://golang.org/cl/36483, StripPrefix creates a new request with the modified URL rather than modifying the existing request. That means that the identify of the request object can change between different handlers. If an earlier handler used a map[*http.Request], and then a later handler tries to read that value, it won't find it. This broke one important Google-internal use case, and a [Github search](https://github.com/search?l=Go&q=%22map%5B%2Ahttp.Request%5D%22&type=Code&utf8=%E2%9C%93) shows a lot of such maps, so it may be worth addressing. I don't know how given the conflicting requirement to not modify the request."}}
{"actor":{"display_login":"gopherbot"}}