]> Cypherpunks.ru repositories - gostls13.git/commitdiff
net/http: merge IsDir checks in fs.go's serveFile function
authorspacewander <spacewanderlzx@gmail.com>
Mon, 2 Sep 2019 10:34:38 +0000 (10:34 +0000)
committerDaniel Martí <mvdan@mvdan.cc>
Mon, 2 Sep 2019 11:13:03 +0000 (11:13 +0000)
Fixes #33385

Change-Id: I497ccd868d408a9c5648c72aa5ce41221368daf4
GitHub-Last-Rev: 3bf483808e10a13c522df02c2fc55fe278044680
GitHub-Pull-Request: golang/go#33423
Reviewed-on: https://go-review.googlesource.com/c/go/+/188677
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/fs.go

index 4c4f0e429e8b813e9a0318fe0d4ecfd3d30ea932..27512411de6b716087b5db5981f0ce8b78acfb06 100644 (file)
@@ -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() {
                url := r.URL.Path
+               // redirect if the directory name doesn't end in a slash
                if url == "" || url[len(url)-1] != '/' {
                        localRedirect(w, r, path.Base(url)+"/")
                        return
                }
-       }
 
-       // use contents of index.html for directory, if present
-       if d.IsDir() {
+               // use contents of index.html for directory, if present
                index := strings.TrimSuffix(name, "/") + indexPage
                ff, err := fs.Open(index)
                if err == nil {