From 32aad909380f08a40389a33bfe788c8a35b1d850 Mon Sep 17 00:00:00 2001 From: Alok Naushad Date: Sat, 12 Feb 2022 01:53:45 +0530 Subject: [PATCH] admin: Write proper status on invalid requests (#4569) (fix #4561) --- admin.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/admin.go b/admin.go index 157ae95f..33bb5c6e 100644 --- a/admin.go +++ b/admin.go @@ -924,10 +924,16 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error { parts := strings.Split(idPath, "/") if len(parts) < 3 || parts[2] == "" { - return fmt.Errorf("request path is missing object ID") + return APIError{ + HTTPStatus: http.StatusBadRequest, + Err: fmt.Errorf("request path is missing object ID"), + } } if parts[0] != "" || parts[1] != "id" { - return fmt.Errorf("malformed object path") + return APIError{ + HTTPStatus: http.StatusBadRequest, + Err: fmt.Errorf("malformed object path"), + } } id := parts[2] @@ -936,7 +942,10 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error { expanded, ok := rawCfgIndex[id] defer currentCfgMu.RUnlock() if !ok { - return fmt.Errorf("unknown object ID '%s'", id) + return APIError{ + HTTPStatus: http.StatusNotFound, + Err: fmt.Errorf("unknown object ID '%s'", id), + } } // piece the full URL path back together