From 37e3fe5f1f82d5199baf383b66645fa9be4dcc8f Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Thu, 30 Apr 2015 11:58:38 -0600 Subject: [PATCH] core: Fix dyslexic/backward handling of 403/404 errors --- server/fileserver.go | 10 +++++----- 1 file 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