engine: resources: Add an http error wrapper

This makes it easier to return errors more succinctly.
This commit is contained in:
James Shubin
2024-02-16 06:15:38 -05:00
parent e256d886e0
commit 7698b1b5fd
2 changed files with 10 additions and 8 deletions

View File

@@ -244,8 +244,7 @@ func (obj *HTTPServerRes) ServeHTTP(w http.ResponseWriter, req *http.Request) {
handle, err := os.Open(p)
if err != nil {
obj.init.Logf("could not open: %s", p)
msg, httpStatus := toHTTPError(err)
http.Error(w, msg, httpStatus)
sendHTTPError(w, err)
return
}
@@ -960,16 +959,14 @@ func (obj *HTTPFileRes) ServeHTTP(w http.ResponseWriter, req *http.Request) {
absPath, err := safepath.ParseIntoAbsPath(requestPath)
if err != nil {
obj.init.Logf("invalid input path: %s", requestPath)
msg, httpStatus := toHTTPError(err)
http.Error(w, msg, httpStatus)
sendHTTPError(w, err)
return
}
handle, err := obj.getContent(absPath)
if err != nil {
obj.init.Logf("could not get content for: %s", requestPath)
msg, httpStatus := toHTTPError(err)
http.Error(w, msg, httpStatus)
sendHTTPError(w, err)
return
}
@@ -1123,3 +1120,9 @@ func toHTTPError(err error) (msg string, httpStatus int) {
//return "500 Internal Server Error", http.StatusInternalServerError
return http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError
}
// sendHTTPError is a helper function for sending an http error response.
func sendHTTPError(w http.ResponseWriter, err error) {
msg, httpStatus := toHTTPError(err)
http.Error(w, msg, httpStatus)
}

View File

@@ -122,8 +122,7 @@ func (obj *HTTPFlagRes) ServeHTTP(w http.ResponseWriter, req *http.Request) {
//requestPath := req.URL.Path
//if err := req.ParseForm(); err != nil { // needed to access querystring
// msg, httpStatus := toHTTPError(err)
// http.Error(w, msg, httpStatus)
// sendHTTPError(w, err)
// return
//}
if obj.Key != "" {