Skip to content

Commit

Permalink
Fix OpenAPI v2 to not merge service params into endpoint headers
Browse files Browse the repository at this point in the history
  • Loading branch information
tchssk committed May 6, 2024
1 parent 850363c commit e2ab6e4
Showing 1 changed file with 5 additions and 23 deletions.
28 changes: 5 additions & 23 deletions http/codegen/openapi/v2/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -294,29 +294,11 @@ func paramsFromExpr(params *expr.MappedAttributeExpr, path string) []*Parameter
func paramsFromHeaders(endpoint *expr.HTTPEndpointExpr) []*Parameter {
var params []*Parameter

var (
rma = endpoint.Service.Params
ma = endpoint.Headers

merged *expr.MappedAttributeExpr
)
{
if rma == nil {
merged = ma
} else if ma == nil {
merged = rma
} else {
merged = expr.DupMappedAtt(rma)
merged.Merge(ma)
}
}

for _, n := range *expr.AsObject(merged.Type) {
header := n.Attribute
required := merged.IsRequiredNoDefault(n.Name)
p := paramFor(header, merged.ElemName(n.Name), "header", required)
params = append(params, p)
}
expr.WalkMappedAttr(endpoint.Headers, func(name, elem string, att *expr.AttributeExpr) error { // nolint: errcheck
required := endpoint.Headers.IsRequiredNoDefault(name)
params = append(params, paramFor(att, elem, "header", required))
return nil
})

// Add basic auth to headers
if att := expr.TaggedAttribute(endpoint.MethodExpr.Payload, "security:username"); att != "" {
Expand Down

0 comments on commit e2ab6e4

Please sign in to comment.