123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package restful
- // Copyright 2013 Ernest Micklei. All rights reserved.
- // Use of this source code is governed by a license
- // that can be found in the LICENSE file.
- const (
- // PathParameterKind = indicator of Request parameter type "path"
- PathParameterKind = iota
- // QueryParameterKind = indicator of Request parameter type "query"
- QueryParameterKind
- // BodyParameterKind = indicator of Request parameter type "body"
- BodyParameterKind
- // HeaderParameterKind = indicator of Request parameter type "header"
- HeaderParameterKind
- // FormParameterKind = indicator of Request parameter type "form"
- FormParameterKind
- )
- // Parameter is for documententing the parameter used in a Http Request
- // ParameterData kinds are Path,Query and Body
- type Parameter struct {
- data *ParameterData
- }
- // ParameterData represents the state of a Parameter.
- // It is made public to make it accessible to e.g. the Swagger package.
- type ParameterData struct {
- Name, Description, DataType, DataFormat string
- Kind int
- Required bool
- AllowableValues map[string]string
- AllowMultiple bool
- DefaultValue string
- }
- // Data returns the state of the Parameter
- func (p *Parameter) Data() ParameterData {
- return *p.data
- }
- // Kind returns the parameter type indicator (see const for valid values)
- func (p *Parameter) Kind() int {
- return p.data.Kind
- }
- func (p *Parameter) bePath() *Parameter {
- p.data.Kind = PathParameterKind
- return p
- }
- func (p *Parameter) beQuery() *Parameter {
- p.data.Kind = QueryParameterKind
- return p
- }
- func (p *Parameter) beBody() *Parameter {
- p.data.Kind = BodyParameterKind
- return p
- }
- func (p *Parameter) beHeader() *Parameter {
- p.data.Kind = HeaderParameterKind
- return p
- }
- func (p *Parameter) beForm() *Parameter {
- p.data.Kind = FormParameterKind
- return p
- }
- // Required sets the required field and returns the receiver
- func (p *Parameter) Required(required bool) *Parameter {
- p.data.Required = required
- return p
- }
- // AllowMultiple sets the allowMultiple field and returns the receiver
- func (p *Parameter) AllowMultiple(multiple bool) *Parameter {
- p.data.AllowMultiple = multiple
- return p
- }
- // AllowableValues sets the allowableValues field and returns the receiver
- func (p *Parameter) AllowableValues(values map[string]string) *Parameter {
- p.data.AllowableValues = values
- return p
- }
- // DataType sets the dataType field and returns the receiver
- func (p *Parameter) DataType(typeName string) *Parameter {
- p.data.DataType = typeName
- return p
- }
- // DataFormat sets the dataFormat field for Swagger UI
- func (p *Parameter) DataFormat(formatName string) *Parameter {
- p.data.DataFormat = formatName
- return p
- }
- // DefaultValue sets the default value field and returns the receiver
- func (p *Parameter) DefaultValue(stringRepresentation string) *Parameter {
- p.data.DefaultValue = stringRepresentation
- return p
- }
- // Description sets the description value field and returns the receiver
- func (p *Parameter) Description(doc string) *Parameter {
- p.data.Description = doc
- return p
- }
|