diff options
| author | Jonathan Amsterdam <jba@google.com> | 2023-09-19 07:54:09 -0400 |
|---|---|---|
| committer | Jonathan Amsterdam <jba@google.com> | 2023-09-19 18:35:44 +0000 |
| commit | ad42fedda5f8a1d398d5d9cf6114f85635b49998 (patch) | |
| tree | 01717be39fb344381075e55066569f2d919d97c9 /src/net/http/server.go | |
| parent | be11422b1ec46fb69b387ef29a521ed42621fe3d (diff) | |
| download | go-ad42fedda5f8a1d398d5d9cf6114f85635b49998.tar.xz | |
net/http: explain why two patterns conflict
It can be difficult to tell at a glance why two patterns conflict, so
explain it with example paths.
Change-Id: Ie384f0a4ef64f30e6e6898bce4b88027bc81034b
Reviewed-on: https://go-review.googlesource.com/c/go/+/529122
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/net/http/server.go')
| -rw-r--r-- | src/net/http/server.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go index 629d8d3c62..b9f4a6b448 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -2655,8 +2655,9 @@ func (mux *ServeMux) registerErr(patstr string, handler Handler) error { // Check for conflict. if err := mux.index.possiblyConflictingPatterns(pat, func(pat2 *pattern) error { if pat.conflictsWith(pat2) { - return fmt.Errorf("pattern %q (registered at %s) conflicts with pattern %q (registered at %s)", - pat, pat.loc, pat2, pat2.loc) + d := describeConflict(pat, pat2) + return fmt.Errorf("pattern %q (registered at %s) conflicts with pattern %q (registered at %s):\n%s", + pat, pat.loc, pat2, pat2.loc, d) } return nil }); err != nil { |
