From c9aebc0aa66d195158d542f1c63887963a79e324 Mon Sep 17 00:00:00 2001 From: sp Date: Sun, 10 Jul 2022 02:59:30 +1000 Subject: [PATCH] make sure index.html is checked --- http_handler.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/http_handler.go b/http_handler.go index 16e78a7..4051628 100644 --- a/http_handler.go +++ b/http_handler.go @@ -80,12 +80,24 @@ func FileServerWith404(root http.FileSystem, handler404 FSHandler404) http.Handl //see if it's directory info, e := f.Stat() - if e != nil || info.IsDir() { + if e != nil { if handledBy404Handler(handler404, w, r) { return } } + if info.IsDir() { + //do we have index.html? + f, err := root.Open(upath + "/index.html") + if err != nil { + //no we don't + if handledBy404Handler(handler404, w, r) { + return + } + } else { + f.Close() + } + } // default serve fs.ServeHTTP(w, r) })