// BaseParams defines the API base path parameters. These parameters may correspond to wildcards in // the BasePath or URL query string values. // The DSL for describing each Param is the Attribute DSL. func BaseParams(dsl func()) { params := new(design.AttributeDefinition) if !dslengine.Execute(dsl, params) { return } params.NonZeroAttributes = make(map[string]bool) for n := range params.Type.ToObject() { params.NonZeroAttributes[n] = true } if a, ok := apiDefinition(false); ok { a.BaseParams = params } else if v, ok := versionDefinition(false); ok { v.BaseParams = params } else if r, ok := resourceDefinition(true); ok { r.BaseParams = params } }
// BaseParams defines the API base path parameters. These parameters may correspond to wildcards in // the BasePath or URL query string values. // The DSL for describing each Param is the Attribute DSL. func BaseParams(dsl func()) { params := new(design.AttributeDefinition) if !dslengine.Execute(dsl, params) { return } params.NonZeroAttributes = make(map[string]bool) for n := range params.Type.ToObject() { params.NonZeroAttributes[n] = true } switch def := dslengine.CurrentDefinition().(type) { case *design.APIDefinition: def.BaseParams = params case *design.ResourceDefinition: def.BaseParams = params default: dslengine.IncompatibleDSL() } }