From 5b3b330bb8269684dac88da9afc09efbca96bebd Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Mon, 9 Mar 2015 20:32:33 -0700 Subject: [PATCH] Switch some parse errors to return HTTP 400 instead of the default (500) --- pkg/apiserver/resthandler.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/apiserver/resthandler.go b/pkg/apiserver/resthandler.go index d5230c6ee58..de4dff38c53 100644 --- a/pkg/apiserver/resthandler.go +++ b/pkg/apiserver/resthandler.go @@ -82,17 +82,19 @@ func GetResource(r RESTGetter, ctxFn ContextFunc, namer ScopeNamer, codec runtim } func parseSelectorQueryParams(query url.Values, version, apiResource string) (label, field labels.Selector, err error) { - label, err = labels.Parse(query.Get("labels")) + labelString := query.Get("labels") + label, err = labels.Parse(labelString) if err != nil { - return nil, nil, err + return nil, nil, errors.NewBadRequest(fmt.Sprintf("The 'labels' selector parameter (%s) could not be parsed: %v", labelString, err)) } convertToInternalVersionFunc := func(label, value string) (newLabel, newValue string, err error) { return api.Scheme.ConvertFieldLabel(version, apiResource, label, value) } - field, err = labels.ParseAndTransformSelector(query.Get("fields"), convertToInternalVersionFunc) + fieldString := query.Get("fields") + field, err = labels.ParseAndTransformSelector(fieldString, convertToInternalVersionFunc) if err != nil { - return nil, nil, err + return nil, nil, errors.NewBadRequest(fmt.Sprintf("The 'fields' selector parameter (%s) could not be parsed: %v", fieldString, err)) } return label, field, nil }