mirror of
https://github.com/golang/go.git
synced 2025-05-31 23:25:39 +00:00
net/http: roll back "clean the path of the stripped URL by StripPrefix"
Roll back CL 161738. That fix changed StripPrefix behavior in the general case, not just in the situation where where stripping the prefix from path resulted in the empty string, causing issue #31622. That kind of change to StripPrefix behavior is not backwards compatible, and there can be a smaller, more targeted fix for the original issue. Fixes #31622 Updates #30165 Change-Id: Ie2fcfe6787a32e44f71d564d8f9c9d580fc6f704 Reviewed-on: https://go-review.googlesource.com/c/go/+/180498 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
27eaffc053
commit
003dbc4cda
@ -2900,15 +2900,6 @@ func TestStripPrefix(t *testing.T) {
|
||||
t.Errorf("test 2: got status %v, want %v", g, e)
|
||||
}
|
||||
res.Body.Close()
|
||||
|
||||
res, err = c.Get(ts.URL + "/foo")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if g, e := res.Header.Get("X-Path"), "/"; g != e {
|
||||
t.Errorf("test 3: got %s, want %s", g, e)
|
||||
}
|
||||
res.Body.Close()
|
||||
}
|
||||
|
||||
// https://golang.org/issue/18952.
|
||||
|
@ -2042,7 +2042,7 @@ func StripPrefix(prefix string, h Handler) Handler {
|
||||
*r2 = *r
|
||||
r2.URL = new(url.URL)
|
||||
*r2.URL = *r.URL
|
||||
r2.URL.Path = cleanPath(p)
|
||||
r2.URL.Path = p
|
||||
h.ServeHTTP(w, r2)
|
||||
} else {
|
||||
NotFound(w, r)
|
||||
|
Loading…
x
Reference in New Issue
Block a user