mirror of https://github.com/k3s-io/k3s
Return original error instead of negotiation one
parent
ea66c00522
commit
7c83e73662
|
@ -104,6 +104,12 @@ func SerializeObject(mediaType string, encoder runtime.Encoder, w http.ResponseW
|
||||||
func WriteObjectNegotiated(ctx request.Context, s runtime.NegotiatedSerializer, gv schema.GroupVersion, w http.ResponseWriter, req *http.Request, statusCode int, object runtime.Object) {
|
func WriteObjectNegotiated(ctx request.Context, s runtime.NegotiatedSerializer, gv schema.GroupVersion, w http.ResponseWriter, req *http.Request, statusCode int, object runtime.Object) {
|
||||||
serializer, err := negotiation.NegotiateOutputSerializer(req, s)
|
serializer, err := negotiation.NegotiateOutputSerializer(req, s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// if original statusCode was not successful we need to return the original error
|
||||||
|
// we cannot hide it behind negotiation problems
|
||||||
|
if statusCode < http.StatusOK || statusCode >= http.StatusBadRequest {
|
||||||
|
WriteRawJSON(int(statusCode), object, w)
|
||||||
|
return
|
||||||
|
}
|
||||||
status := ErrorToAPIStatus(err)
|
status := ErrorToAPIStatus(err)
|
||||||
WriteRawJSON(int(status.Code), status, w)
|
WriteRawJSON(int(status.Code), status, w)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue