Commit 4a457e3e authored by spacewander's avatar spacewander Committed by Daniel Martí

net/http: merge IsDir checks in fs.go's serveFile function

Fixes #33385

Change-Id: I497ccd868d408a9c5648c72aa5ce41221368daf4
GitHub-Last-Rev: 3bf483808e10a13c522df02c2fc55fe278044680
GitHub-Pull-Request: golang/go#33423
Reviewed-on: https://go-review.googlesource.com/c/go/+/188677Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 7450960a
...@@ -582,17 +582,15 @@ func serveFile(w ResponseWriter, r *Request, fs FileSystem, name string, redirec ...@@ -582,17 +582,15 @@ func serveFile(w ResponseWriter, r *Request, fs FileSystem, name string, redirec
} }
} }
// redirect if the directory name doesn't end in a slash
if d.IsDir() { if d.IsDir() {
url := r.URL.Path url := r.URL.Path
// redirect if the directory name doesn't end in a slash
if url == "" || url[len(url)-1] != '/' { if url == "" || url[len(url)-1] != '/' {
localRedirect(w, r, path.Base(url)+"/") localRedirect(w, r, path.Base(url)+"/")
return return
} }
}
// use contents of index.html for directory, if present // use contents of index.html for directory, if present
if d.IsDir() {
index := strings.TrimSuffix(name, "/") + indexPage index := strings.TrimSuffix(name, "/") + indexPage
ff, err := fs.Open(index) ff, err := fs.Open(index)
if err == nil { if err == nil {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment