diff options
| author | Cole Garien <colegarien@gmail.com> | 2025-09-13 17:54:40 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2025-09-15 17:31:50 -0700 |
| commit | aa83aee7de1d69b207ab9669bb2b7dcdcbdf9383 (patch) | |
| tree | e81b18e169e895c44811a79e9be33549dc4e1cd4 /src/net/http | |
| parent | b9e2977f1d62bba2df652a3b57b4fdd15a756601 (diff) | |
| download | go-aa83aee7de1d69b207ab9669bb2b7dcdcbdf9383.tar.xz | |
net/http: clarify panic conditions in Handle, HandleFunc, AddInsecureBypassPattern
Add explicit mention that these methods panic on both pattern conflict
and invalid syntax.
Fixes #75226
Change-Id: If7dbfc44e1ec4624ab156f0e5d7e66cee2c2fef3
GitHub-Last-Rev: acc9a9c3338373f5a9376ff2eb1decd30bbee04d
GitHub-Pull-Request: golang/go#75297
Reviewed-on: https://go-review.googlesource.com/c/go/+/701016
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Sean Liao <sean@liao.dev>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Diffstat (limited to 'src/net/http')
| -rw-r--r-- | src/net/http/csrf.go | 4 | ||||
| -rw-r--r-- | src/net/http/server.go | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/net/http/csrf.go b/src/net/http/csrf.go index d088b9b615..0b71b40389 100644 --- a/src/net/http/csrf.go +++ b/src/net/http/csrf.go @@ -90,6 +90,10 @@ var sentinelHandler Handler = &noopHandler{} // would redirect to a pattern (e.g. after cleaning the path or adding a // trailing slash) are not. // +// AddInsecureBypassPattern panics if the pattern conflicts with one already +// registered, or if the pattern is syntactically invalid (for example, an +// improperly formed wildcard). +// // AddInsecureBypassPattern can be called concurrently with other methods or // request handling, and applies to future requests. func (c *CrossOriginProtection) AddInsecureBypassPattern(pattern string) { diff --git a/src/net/http/server.go b/src/net/http/server.go index 6fdcd51c0a..4078c89906 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -2868,8 +2868,10 @@ func (mux *ServeMux) ServeHTTP(w ResponseWriter, r *Request) { // always refers to user code. // Handle registers the handler for the given pattern. -// If the given pattern conflicts with one that is already registered, Handle -// panics. +// If the given pattern conflicts with one that is already registered +// or if the pattern is invalid, Handle panics. +// +// See [ServeMux] for details on valid patterns and conflict rules. func (mux *ServeMux) Handle(pattern string, handler Handler) { if use121 { mux.mux121.handle(pattern, handler) @@ -2879,8 +2881,10 @@ func (mux *ServeMux) Handle(pattern string, handler Handler) { } // HandleFunc registers the handler function for the given pattern. -// If the given pattern conflicts with one that is already registered, HandleFunc -// panics. +// If the given pattern conflicts with one that is already registered +// or if the pattern is invalid, HandleFunc panics. +// +// See [ServeMux] for details on valid patterns and conflict rules. func (mux *ServeMux) HandleFunc(pattern string, handler func(ResponseWriter, *Request)) { if use121 { mux.mux121.handleFunc(pattern, handler) |
