admin: Write proper status on invalid requests (#4569) (fix #4561)

This commit is contained in:
Alok Naushad 2022-02-12 01:53:45 +05:30 committed by Matthew Holt
parent 40b54434f3
commit 32aad90938
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5

View file

@ -924,10 +924,16 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error {
parts := strings.Split(idPath, "/") parts := strings.Split(idPath, "/")
if len(parts) < 3 || parts[2] == "" { 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" { 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] id := parts[2]
@ -936,7 +942,10 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error {
expanded, ok := rawCfgIndex[id] expanded, ok := rawCfgIndex[id]
defer currentCfgMu.RUnlock() defer currentCfgMu.RUnlock()
if !ok { 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 // piece the full URL path back together