aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/server.go
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2023-02-22 08:42:37 -0800
committerDamien Neil <dneil@google.com>2023-02-22 21:08:59 +0000
commit133e0bca0be23980604ee98589ddcacdb1262afd (patch)
tree41e274bd5d5f274364a9352433d040dd38db9dfb /src/net/http/server.go
parent4304529a16774719687ff09f18a04e27aa8894c2 (diff)
downloadgo-133e0bca0be23980604ee98589ddcacdb1262afd.tar.xz
net/http: remove warning when parsing a query containing a semicolon
It's been years since the behavior here was changed, and there's little point in continuing to warn users of it. Fixes #49399 Change-Id: I95f64ca14cacb64ebe78296593b1cc3d837e6b77 Reviewed-on: https://go-review.googlesource.com/c/go/+/470315 Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/net/http/server.go')
-rw-r--r--src/net/http/server.go17
1 files changed, 0 insertions, 17 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go
index 1ac61f7131..1b3b2f2e3a 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -2921,23 +2921,9 @@ func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) {
handler = globalOptionsHandler{}
}
- if req.URL != nil && strings.Contains(req.URL.RawQuery, ";") {
- var allowQuerySemicolonsInUse atomic.Bool
- req = req.WithContext(context.WithValue(req.Context(), silenceSemWarnContextKey, func() {
- allowQuerySemicolonsInUse.Store(true)
- }))
- defer func() {
- if !allowQuerySemicolonsInUse.Load() {
- sh.srv.logf("http: URL query contains semicolon, which is no longer a supported separator; parts of the query may be stripped when parsed; see golang.org/issue/25192")
- }
- }()
- }
-
handler.ServeHTTP(rw, req)
}
-var silenceSemWarnContextKey = &contextKey{"silence-semicolons"}
-
// AllowQuerySemicolons returns a handler that serves requests by converting any
// unescaped semicolons in the URL query to ampersands, and invoking the handler h.
//
@@ -2949,9 +2935,6 @@ var silenceSemWarnContextKey = &contextKey{"silence-semicolons"}
// AllowQuerySemicolons should be invoked before Request.ParseForm is called.
func AllowQuerySemicolons(h Handler) Handler {
return HandlerFunc(func(w ResponseWriter, r *Request) {
- if silenceSemicolonsWarning, ok := r.Context().Value(silenceSemWarnContextKey).(func()); ok {
- silenceSemicolonsWarning()
- }
if strings.Contains(r.URL.RawQuery, ";") {
r2 := new(Request)
*r2 = *r