diff options
-rw-r--r-- | server/fileserver.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/server/fileserver.go b/server/fileserver.go index 184b694b0..dc5af4b53 100644 --- a/server/fileserver.go +++ b/server/fileserver.go @@ -42,9 +42,9 @@ func (fh *fileHandler) serveFile(w http.ResponseWriter, r *http.Request, name st f, err := fh.root.Open(name) if err != nil { if os.IsNotExist(err) { - return http.StatusForbidden, err - } else if os.IsPermission(err) { return http.StatusNotFound, nil + } else if os.IsPermission(err) { + return http.StatusForbidden, err } // Likely the server is under load and ran out of file descriptors w.Header().Set("Retry-After", "5") // TODO: 5 seconds enough delay? Or too much? @@ -54,10 +54,10 @@ func (fh *fileHandler) serveFile(w http.ResponseWriter, r *http.Request, name st d, err1 := f.Stat() if err1 != nil { - if os.IsPermission(err) { - return http.StatusForbidden, err - } else if os.IsNotExist(err) { + if os.IsNotExist(err) { return http.StatusNotFound, nil + } else if os.IsPermission(err) { + return http.StatusForbidden, err } // Return a different status code than above so as to distinguish these cases return http.StatusInternalServerError, err |