aboutsummaryrefslogtreecommitdiff
path: root/src/net/http
diff options
context:
space:
mode:
authorCole Garien <colegarien@gmail.com>2025-09-13 17:54:40 +0000
committerGopher Robot <gobot@golang.org>2025-09-15 17:31:50 -0700
commitaa83aee7de1d69b207ab9669bb2b7dcdcbdf9383 (patch)
treee81b18e169e895c44811a79e9be33549dc4e1cd4 /src/net/http
parentb9e2977f1d62bba2df652a3b57b4fdd15a756601 (diff)
downloadgo-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.go4
-rw-r--r--src/net/http/server.go12
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)