@@ -2,7 +2,6 @@ package openapi3
22
33import (
44 "context"
5- "fmt"
65
76 "github.com/go-openapi/jsonpointer"
87)
@@ -67,28 +66,28 @@ func (header *Header) Validate(ctx context.Context, opts ...ValidationOption) er
6766 if smSupported := false ||
6867 sm .Style == SerializationSimple && ! sm .Explode ||
6968 sm .Style == SerializationSimple && sm .Explode ; ! smSupported {
70- e := fmt . Errorf ( "serialization method with style=%q and explode=%v is not supported by a header parameter " , sm .Style , sm .Explode )
71- return fmt . Errorf ( "header schema is invalid: %w" , e )
69+ e := newInvalidSerializationMethod ( " header" , sm .Style , sm .Explode , header . Origin )
70+ return & HeaderFieldValidationError { Field : "schema" , Cause : e }
7271 }
7372
7473 if (header .Schema == nil ) == (len (header .Content ) == 0 ) {
75- return fmt . Errorf ( "header schema is invalid: %w " ,
76- newHeaderContentSchemaExactlyOne (header , header .Origin ))
74+ return & HeaderFieldValidationError { Field : "schema " ,
75+ Cause : newHeaderContentSchemaExactlyOne (header , header .Origin )}
7776 }
7877 if schema := header .Schema ; schema != nil {
7978 if err := schema .Validate (ctx ); err != nil {
80- return fmt . Errorf ( "header schema is invalid: %w" , err )
79+ return & HeaderFieldValidationError { Field : "schema" , Cause : err }
8180 }
8281 }
8382
8483 if content := header .Content ; content != nil {
8584 if len (content ) > 1 {
86- return fmt . Errorf ( "header content is invalid: %w " ,
87- newHeaderContentSingleEntry (header .Origin ))
85+ return & HeaderFieldValidationError { Field : "content " ,
86+ Cause : newHeaderContentSingleEntry (header .Origin )}
8887 }
8988
9089 if err := content .Validate (ctx ); err != nil {
91- return fmt . Errorf ( "header content is invalid: %w" , err )
90+ return & HeaderFieldValidationError { Field : "content" , Cause : err }
9291 }
9392 }
9493 return nil
0 commit comments