@@ -13,6 +13,7 @@ type Headers map[string]*HeaderRef
1313
1414var _ jsonpointer.JSONPointable = (* Headers )(nil )
1515
16+ // JSONLookup implements github.com/go-openapi/jsonpointer#JSONPointable
1617func (h Headers ) JSONLookup (token string ) (interface {}, error ) {
1718 ref , ok := h [token ]
1819 if ref == nil || ! ok {
@@ -33,33 +34,35 @@ type Header struct {
3334
3435var _ jsonpointer.JSONPointable = (* Header )(nil )
3536
36- func (value * Header ) UnmarshalJSON (data []byte ) error {
37- return jsoninfo .UnmarshalStrictStruct (data , value )
37+ // UnmarshalJSON sets Header to a copy of data.
38+ func (header * Header ) UnmarshalJSON (data []byte ) error {
39+ return jsoninfo .UnmarshalStrictStruct (data , header )
3840}
3941
4042// SerializationMethod returns a header's serialization method.
41- func (value * Header ) SerializationMethod () (* SerializationMethod , error ) {
42- style := value .Style
43+ func (header * Header ) SerializationMethod () (* SerializationMethod , error ) {
44+ style := header .Style
4345 if style == "" {
4446 style = SerializationSimple
4547 }
4648 explode := false
47- if value .Explode != nil {
48- explode = * value .Explode
49+ if header .Explode != nil {
50+ explode = * header .Explode
4951 }
5052 return & SerializationMethod {Style : style , Explode : explode }, nil
5153}
5254
53- func (value * Header ) Validate (ctx context.Context ) error {
54- if value .Name != "" {
55+ // Validate returns an error if Header does not comply with the OpenAPI spec.
56+ func (header * Header ) Validate (ctx context.Context ) error {
57+ if header .Name != "" {
5558 return errors .New ("header 'name' MUST NOT be specified, it is given in the corresponding headers map" )
5659 }
57- if value .In != "" {
60+ if header .In != "" {
5861 return errors .New ("header 'in' MUST NOT be specified, it is implicitly in header" )
5962 }
6063
6164 // Validate a parameter's serialization method.
62- sm , err := value .SerializationMethod ()
65+ sm , err := header .SerializationMethod ()
6366 if err != nil {
6467 return err
6568 }
@@ -70,59 +73,60 @@ func (value *Header) Validate(ctx context.Context) error {
7073 return fmt .Errorf ("header schema is invalid: %v" , e )
7174 }
7275
73- if (value .Schema == nil ) == (value .Content == nil ) {
74- e := fmt .Errorf ("parameter must contain exactly one of content and schema: %v" , value )
76+ if (header .Schema == nil ) == (header .Content == nil ) {
77+ e := fmt .Errorf ("parameter must contain exactly one of content and schema: %v" , header )
7578 return fmt .Errorf ("header schema is invalid: %v" , e )
7679 }
77- if schema := value .Schema ; schema != nil {
80+ if schema := header .Schema ; schema != nil {
7881 if err := schema .Validate (ctx ); err != nil {
7982 return fmt .Errorf ("header schema is invalid: %v" , err )
8083 }
8184 }
8285
83- if content := value .Content ; content != nil {
86+ if content := header .Content ; content != nil {
8487 if err := content .Validate (ctx ); err != nil {
8588 return fmt .Errorf ("header content is invalid: %v" , err )
8689 }
8790 }
8891 return nil
8992}
9093
91- func (value Header ) JSONLookup (token string ) (interface {}, error ) {
94+ // JSONLookup implements github.com/go-openapi/jsonpointer#JSONPointable
95+ func (header Header ) JSONLookup (token string ) (interface {}, error ) {
9296 switch token {
9397 case "schema" :
94- if value .Schema != nil {
95- if value .Schema .Ref != "" {
96- return & Ref {Ref : value .Schema .Ref }, nil
98+ if header .Schema != nil {
99+ if header .Schema .Ref != "" {
100+ return & Ref {Ref : header .Schema .Ref }, nil
97101 }
98- return value .Schema .Value , nil
102+ return header .Schema .Value , nil
99103 }
100104 case "name" :
101- return value .Name , nil
105+ return header .Name , nil
102106 case "in" :
103- return value .In , nil
107+ return header .In , nil
104108 case "description" :
105- return value .Description , nil
109+ return header .Description , nil
106110 case "style" :
107- return value .Style , nil
111+ return header .Style , nil
108112 case "explode" :
109- return value .Explode , nil
113+ return header .Explode , nil
110114 case "allowEmptyValue" :
111- return value .AllowEmptyValue , nil
115+ return header .AllowEmptyValue , nil
112116 case "allowReserved" :
113- return value .AllowReserved , nil
117+ return header .AllowReserved , nil
114118 case "deprecated" :
115- return value .Deprecated , nil
119+ return header .Deprecated , nil
116120 case "required" :
117- return value .Required , nil
121+ return header .Required , nil
118122 case "example" :
119- return value .Example , nil
123+ return header .Example , nil
120124 case "examples" :
121- return value .Examples , nil
125+ return header .Examples , nil
122126 case "content" :
123- return value .Content , nil
127+ return header .Content , nil
124128 }
125129
126- v , _ , err := jsonpointer .GetForToken (value .ExtensionProps , token )
130+ v , _ , err := jsonpointer .GetForToken (header .ExtensionProps , token )
127131 return v , err
128132}
0 commit comments