From 60c552e2a22fa0cae87fe254014b40eb437a568d Mon Sep 17 00:00:00 2001 From: Steve Lessard Date: Sat, 17 Dec 2022 09:05:30 -0800 Subject: [PATCH] #709 - check for error returned from SerializationMethod error --- openapi3filter/validate_response.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/openapi3filter/validate_response.go b/openapi3filter/validate_response.go index 4d09a2966..c1be31928 100644 --- a/openapi3filter/validate_response.go +++ b/openapi3filter/validate_response.go @@ -161,8 +161,16 @@ func validateResponseHeader(headerName string, headerRef *openapi3.HeaderRef, in var err error var decodedValue interface{} var found bool + var sm *openapi3.SerializationMethod dec := &headerParamDecoder{header: input.Header} - sm, _ := headerRef.Value.SerializationMethod() // ignore error return because a header's serialization method getter does not return an error + + if sm, err = headerRef.Value.SerializationMethod(); err != nil { + return &ResponseError{ + Input: input, + Reason: fmt.Sprintf("unable to get header %q serialization method", headerName), + Err: err, + } + } if decodedValue, found, err = decodeValue(dec, headerName, sm, headerRef.Value.Schema, headerRef.Value.Required); err != nil { return &ResponseError{