Browse files

net/http: document a few ServeMux behaviors

Fixes #13639.
Fixes #11757.

Change-Id: Iecf9ebcd652c23c96477305a41082e5b63b41d83
Reviewed-by: Brad Fitzpatrick <>
  • Loading branch information...
rsc committed Dec 17, 2015
1 parent 3e9f063 commit aaa0bc1043883390e052ec6f6775cbf0395dceb1
Showing with 10 additions and 2 deletions.
  1. +10 −2 src/net/http/server.go
@@ -1695,15 +1695,23 @@ func RedirectHandler(url string, code int) Handler {
// the pattern "/" matches all paths not matched by other registered
// patterns, not just the URL with Path == "/".
// If a subtree has been registered and a request is received naming the
// subtree root without its trailing slash, ServeMux redirects that
// request to the subtree root (adding the trailing slash). This behavior can
// be overridden with a separate registration for the path without
// the trailing slash. For example, registering "/images/" causes ServeMux
// to redirect a request for "/images" to "/images/", unless "/images" has
// been registered separately.
// Patterns may optionally begin with a host name, restricting matches to
// URLs on that host only. Host-specific patterns take precedence over
// general patterns, so that a handler might register for the two patterns
// "/codesearch" and "" without also taking over
// requests for "".
// ServeMux also takes care of sanitizing the URL request path,
// redirecting any request containing . or .. elements to an
// equivalent .- and ..-free URL.
// redirecting any request containing . or .. elements or repeated slashes
// to an equivalent, cleaner URL.
type ServeMux struct {
mu sync.RWMutex
m map[string]muxEntry

0 comments on commit aaa0bc1

Please sign in to comment.