api

package
v0.56.0-alpha.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2022 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithServerURL

func WithServerURL(ctx context.Context, u *url.URL) context.Context

WithServerURL sets context key to override server URL.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client implements OAS client.

func NewClient

func NewClient(serverURL string, opts ...ClientOption) (*Client, error)

NewClient initializes new Client defined by OAS.

func (*Client) ComplicatedParameterNameGet

func (c *Client) ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error

ComplicatedParameterNameGet invokes GET /complicatedParameterName operation.

GET /complicatedParameterName

func (*Client) ContentQueryParameter

func (c *Client) ContentQueryParameter(ctx context.Context, params ContentQueryParameterParams) (string, error)

ContentQueryParameter invokes contentQueryParameter operation.

GET /contentQueryParameter

func (*Client) HeaderParameter

func (c *Client) HeaderParameter(ctx context.Context, params HeaderParameterParams) (*Hash, error)

HeaderParameter invokes headerParameter operation.

Test for header param.

GET /headerParameter

func (*Client) ObjectQueryParameter

func (c *Client) ObjectQueryParameter(ctx context.Context, params ObjectQueryParameterParams) (*ObjectQueryParameterOK, error)

ObjectQueryParameter invokes objectQueryParameter operation.

GET /objectQueryParameter

func (*Client) PathObjectParameter

func (c *Client) PathObjectParameter(ctx context.Context, params PathObjectParameterParams) (*User, error)

PathObjectParameter invokes pathObjectParameter operation.

GET /pathObjectParameter/{param}

func (*Client) SameName

func (c *Client) SameName(ctx context.Context, params SameNameParams) error

SameName invokes sameName operation.

Parameter with different location, but the same name.

GET /same_name/{path}

type ClientOption

type ClientOption interface {
	// contains filtered or unexported methods
}

ClientOption is client config option.

func WithClient

func WithClient(client ht.Client) ClientOption

WithClient specifies http client to use.

type ComplicatedParameterNameGetOK

type ComplicatedParameterNameGetOK struct{}

ComplicatedParameterNameGetOK is response for ComplicatedParameterNameGet operation.

type ComplicatedParameterNameGetParams

type ComplicatedParameterNameGetParams struct {
	Eq       string
	Plus     string
	Question string
	And      string
	Percent  string
}

ComplicatedParameterNameGetParams is parameters of GET /complicatedParameterName operation.

type ContentQueryParameterParam

type ContentQueryParameterParam struct {
	Style  string `json:"style"`
	Min    int    `json:"min"`
	Max    int    `json:"max"`
	Filter string `json:"filter"`
}

func (*ContentQueryParameterParam) Decode

Decode decodes ContentQueryParameterParam from json.

func (*ContentQueryParameterParam) Encode

func (s *ContentQueryParameterParam) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*ContentQueryParameterParam) GetFilter

func (s *ContentQueryParameterParam) GetFilter() string

GetFilter returns the value of Filter.

func (*ContentQueryParameterParam) GetMax

func (s *ContentQueryParameterParam) GetMax() int

GetMax returns the value of Max.

func (*ContentQueryParameterParam) GetMin

func (s *ContentQueryParameterParam) GetMin() int

GetMin returns the value of Min.

func (*ContentQueryParameterParam) GetStyle

func (s *ContentQueryParameterParam) GetStyle() string

GetStyle returns the value of Style.

func (*ContentQueryParameterParam) MarshalJSON

func (s *ContentQueryParameterParam) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*ContentQueryParameterParam) SetFilter

func (s *ContentQueryParameterParam) SetFilter(val string)

SetFilter sets the value of Filter.

func (*ContentQueryParameterParam) SetMax

func (s *ContentQueryParameterParam) SetMax(val int)

SetMax sets the value of Max.

func (*ContentQueryParameterParam) SetMin

func (s *ContentQueryParameterParam) SetMin(val int)

SetMin sets the value of Min.

func (*ContentQueryParameterParam) SetStyle

func (s *ContentQueryParameterParam) SetStyle(val string)

SetStyle sets the value of Style.

func (*ContentQueryParameterParam) UnmarshalJSON

func (s *ContentQueryParameterParam) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type ContentQueryParameterParams

type ContentQueryParameterParams struct {
	Param OptContentQueryParameterParam
}

ContentQueryParameterParams is parameters of contentQueryParameter operation.

type ErrorHandler

type ErrorHandler = ogenerrors.ErrorHandler

ErrorHandler is error handler.

type Handler

type Handler interface {
	// ComplicatedParameterNameGet implements GET /complicatedParameterName operation.
	//
	// GET /complicatedParameterName
	ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error
	// ContentQueryParameter implements contentQueryParameter operation.
	//
	// GET /contentQueryParameter
	ContentQueryParameter(ctx context.Context, params ContentQueryParameterParams) (string, error)
	// HeaderParameter implements headerParameter operation.
	//
	// Test for header param.
	//
	// GET /headerParameter
	HeaderParameter(ctx context.Context, params HeaderParameterParams) (*Hash, error)
	// ObjectQueryParameter implements objectQueryParameter operation.
	//
	// GET /objectQueryParameter
	ObjectQueryParameter(ctx context.Context, params ObjectQueryParameterParams) (*ObjectQueryParameterOK, error)
	// PathObjectParameter implements pathObjectParameter operation.
	//
	// GET /pathObjectParameter/{param}
	PathObjectParameter(ctx context.Context, params PathObjectParameterParams) (*User, error)
	// SameName implements sameName operation.
	//
	// Parameter with different location, but the same name.
	//
	// GET /same_name/{path}
	SameName(ctx context.Context, params SameNameParams) error
}

Handler handles operations described by OpenAPI v3 specification.

type Hash

type Hash struct {
	Raw []byte `json:"raw"`
	Hex string `json:"hex"`
}

Ref: #/components/schemas/Hash

func (*Hash) Decode

func (s *Hash) Decode(d *jx.Decoder) error

Decode decodes Hash from json.

func (*Hash) Encode

func (s *Hash) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*Hash) GetHex

func (s *Hash) GetHex() string

GetHex returns the value of Hex.

func (*Hash) GetRaw

func (s *Hash) GetRaw() []byte

GetRaw returns the value of Raw.

func (*Hash) MarshalJSON

func (s *Hash) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*Hash) SetHex

func (s *Hash) SetHex(val string)

SetHex sets the value of Hex.

func (*Hash) SetRaw

func (s *Hash) SetRaw(val []byte)

SetRaw sets the value of Raw.

func (*Hash) UnmarshalJSON

func (s *Hash) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*Hash) Validate

func (s *Hash) Validate() error

type HeaderParameterParams

type HeaderParameterParams struct {
	XAuthToken string
}

HeaderParameterParams is parameters of headerParameter operation.

type Middleware

type Middleware = middleware.Middleware

Middleware is middleware type.

type ObjectQueryParameterDeepObject

type ObjectQueryParameterDeepObject struct {
	Min    int    `json:"min"`
	Max    int    `json:"max"`
	Filter string `json:"filter"`
}

func (*ObjectQueryParameterDeepObject) DecodeURI

DecodeURI decodes ObjectQueryParameterDeepObject from URI form.

func (*ObjectQueryParameterDeepObject) EncodeURI

EncodeURI encodes ObjectQueryParameterDeepObject as URI form.

func (*ObjectQueryParameterDeepObject) GetFilter

func (s *ObjectQueryParameterDeepObject) GetFilter() string

GetFilter returns the value of Filter.

func (*ObjectQueryParameterDeepObject) GetMax

func (s *ObjectQueryParameterDeepObject) GetMax() int

GetMax returns the value of Max.

func (*ObjectQueryParameterDeepObject) GetMin

func (s *ObjectQueryParameterDeepObject) GetMin() int

GetMin returns the value of Min.

func (*ObjectQueryParameterDeepObject) SetFilter

func (s *ObjectQueryParameterDeepObject) SetFilter(val string)

SetFilter sets the value of Filter.

func (*ObjectQueryParameterDeepObject) SetMax

func (s *ObjectQueryParameterDeepObject) SetMax(val int)

SetMax sets the value of Max.

func (*ObjectQueryParameterDeepObject) SetMin

func (s *ObjectQueryParameterDeepObject) SetMin(val int)

SetMin sets the value of Min.

type ObjectQueryParameterFormObject

type ObjectQueryParameterFormObject struct {
	Min    int    `json:"min"`
	Max    int    `json:"max"`
	Filter string `json:"filter"`
}

func (*ObjectQueryParameterFormObject) DecodeURI

DecodeURI decodes ObjectQueryParameterFormObject from URI form.

func (*ObjectQueryParameterFormObject) EncodeURI

EncodeURI encodes ObjectQueryParameterFormObject as URI form.

func (*ObjectQueryParameterFormObject) GetFilter

func (s *ObjectQueryParameterFormObject) GetFilter() string

GetFilter returns the value of Filter.

func (*ObjectQueryParameterFormObject) GetMax

func (s *ObjectQueryParameterFormObject) GetMax() int

GetMax returns the value of Max.

func (*ObjectQueryParameterFormObject) GetMin

func (s *ObjectQueryParameterFormObject) GetMin() int

GetMin returns the value of Min.

func (*ObjectQueryParameterFormObject) SetFilter

func (s *ObjectQueryParameterFormObject) SetFilter(val string)

SetFilter sets the value of Filter.

func (*ObjectQueryParameterFormObject) SetMax

func (s *ObjectQueryParameterFormObject) SetMax(val int)

SetMax sets the value of Max.

func (*ObjectQueryParameterFormObject) SetMin

func (s *ObjectQueryParameterFormObject) SetMin(val int)

SetMin sets the value of Min.

type ObjectQueryParameterOK

type ObjectQueryParameterOK struct {
	Style  string `json:"style"`
	Min    int    `json:"min"`
	Max    int    `json:"max"`
	Filter string `json:"filter"`
}

func (*ObjectQueryParameterOK) Decode

func (s *ObjectQueryParameterOK) Decode(d *jx.Decoder) error

Decode decodes ObjectQueryParameterOK from json.

func (*ObjectQueryParameterOK) Encode

func (s *ObjectQueryParameterOK) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*ObjectQueryParameterOK) GetFilter

func (s *ObjectQueryParameterOK) GetFilter() string

GetFilter returns the value of Filter.

func (*ObjectQueryParameterOK) GetMax

func (s *ObjectQueryParameterOK) GetMax() int

GetMax returns the value of Max.

func (*ObjectQueryParameterOK) GetMin

func (s *ObjectQueryParameterOK) GetMin() int

GetMin returns the value of Min.

func (*ObjectQueryParameterOK) GetStyle

func (s *ObjectQueryParameterOK) GetStyle() string

GetStyle returns the value of Style.

func (*ObjectQueryParameterOK) MarshalJSON

func (s *ObjectQueryParameterOK) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*ObjectQueryParameterOK) SetFilter

func (s *ObjectQueryParameterOK) SetFilter(val string)

SetFilter sets the value of Filter.

func (*ObjectQueryParameterOK) SetMax

func (s *ObjectQueryParameterOK) SetMax(val int)

SetMax sets the value of Max.

func (*ObjectQueryParameterOK) SetMin

func (s *ObjectQueryParameterOK) SetMin(val int)

SetMin sets the value of Min.

func (*ObjectQueryParameterOK) SetStyle

func (s *ObjectQueryParameterOK) SetStyle(val string)

SetStyle sets the value of Style.

func (*ObjectQueryParameterOK) UnmarshalJSON

func (s *ObjectQueryParameterOK) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type ObjectQueryParameterParams

type ObjectQueryParameterParams struct {
	FormObject OptObjectQueryParameterFormObject
	DeepObject OptObjectQueryParameterDeepObject
}

ObjectQueryParameterParams is parameters of objectQueryParameter operation.

type OptContentQueryParameterParam

type OptContentQueryParameterParam struct {
	Value ContentQueryParameterParam
	Set   bool
}

OptContentQueryParameterParam is optional ContentQueryParameterParam.

func NewOptContentQueryParameterParam

func NewOptContentQueryParameterParam(v ContentQueryParameterParam) OptContentQueryParameterParam

NewOptContentQueryParameterParam returns new OptContentQueryParameterParam with value set to v.

func (*OptContentQueryParameterParam) Decode

Decode decodes ContentQueryParameterParam from json.

func (OptContentQueryParameterParam) Encode

Encode encodes ContentQueryParameterParam as json.

func (OptContentQueryParameterParam) Get

Get returns value and boolean that denotes whether value was set.

func (OptContentQueryParameterParam) IsSet

IsSet returns true if OptContentQueryParameterParam was set.

func (OptContentQueryParameterParam) MarshalJSON

func (s OptContentQueryParameterParam) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (OptContentQueryParameterParam) Or

Or returns value if set, or given parameter if does not.

func (*OptContentQueryParameterParam) Reset

func (o *OptContentQueryParameterParam) Reset()

Reset unsets value.

func (*OptContentQueryParameterParam) SetTo

SetTo sets value to v.

func (*OptContentQueryParameterParam) UnmarshalJSON

func (s *OptContentQueryParameterParam) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

type OptObjectQueryParameterDeepObject

type OptObjectQueryParameterDeepObject struct {
	Value ObjectQueryParameterDeepObject
	Set   bool
}

OptObjectQueryParameterDeepObject is optional ObjectQueryParameterDeepObject.

func NewOptObjectQueryParameterDeepObject

func NewOptObjectQueryParameterDeepObject(v ObjectQueryParameterDeepObject) OptObjectQueryParameterDeepObject

NewOptObjectQueryParameterDeepObject returns new OptObjectQueryParameterDeepObject with value set to v.

func (OptObjectQueryParameterDeepObject) Get

Get returns value and boolean that denotes whether value was set.

func (OptObjectQueryParameterDeepObject) IsSet

IsSet returns true if OptObjectQueryParameterDeepObject was set.

func (OptObjectQueryParameterDeepObject) Or

Or returns value if set, or given parameter if does not.

func (*OptObjectQueryParameterDeepObject) Reset

Reset unsets value.

func (*OptObjectQueryParameterDeepObject) SetTo

SetTo sets value to v.

type OptObjectQueryParameterFormObject

type OptObjectQueryParameterFormObject struct {
	Value ObjectQueryParameterFormObject
	Set   bool
}

OptObjectQueryParameterFormObject is optional ObjectQueryParameterFormObject.

func NewOptObjectQueryParameterFormObject

func NewOptObjectQueryParameterFormObject(v ObjectQueryParameterFormObject) OptObjectQueryParameterFormObject

NewOptObjectQueryParameterFormObject returns new OptObjectQueryParameterFormObject with value set to v.

func (OptObjectQueryParameterFormObject) Get

Get returns value and boolean that denotes whether value was set.

func (OptObjectQueryParameterFormObject) IsSet

IsSet returns true if OptObjectQueryParameterFormObject was set.

func (OptObjectQueryParameterFormObject) Or

Or returns value if set, or given parameter if does not.

func (*OptObjectQueryParameterFormObject) Reset

Reset unsets value.

func (*OptObjectQueryParameterFormObject) SetTo

SetTo sets value to v.

type Option

type Option interface {
	ServerOption
	ClientOption
}

Option is config option.

func WithMeterProvider

func WithMeterProvider(provider metric.MeterProvider) Option

WithMeterProvider specifies a meter provider to use for creating a meter.

If none is specified, the metric.NewNoopMeterProvider is used.

func WithTracerProvider

func WithTracerProvider(provider trace.TracerProvider) Option

WithTracerProvider specifies a tracer provider to use for creating a tracer.

If none is specified, the global provider is used.

type PathObjectParameterParams

type PathObjectParameterParams struct {
	Param User
}

PathObjectParameterParams is parameters of pathObjectParameter operation.

type Route

type Route struct {
	// contains filtered or unexported fields
}

Route is route object.

func (Route) Args

func (r Route) Args() []string

Args returns parsed arguments.

func (Route) Name

func (r Route) Name() string

Name returns ogen operation name.

It is guaranteed to be unique and not empty.

func (Route) OperationID

func (r Route) OperationID() string

OperationID returns OpenAPI operationId.

type SameNameOK

type SameNameOK struct{}

SameNameOK is response for SameName operation.

type SameNameParams

type SameNameParams struct {
	// contains filtered or unexported fields
}

SameNameParams is parameters of sameName operation.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server implements http server based on OpenAPI v3 specification and calls Handler to handle requests.

func NewServer

func NewServer(h Handler, opts ...ServerOption) (*Server, error)

NewServer creates new Server.

func (*Server) FindPath

func (s *Server) FindPath(method string, u *url.URL) (r Route, _ bool)

FindPath finds Route for given method and URL.

func (*Server) FindRoute

func (s *Server) FindRoute(method, path string) (Route, bool)

FindRoute finds Route for given method and path.

Note: this method does not unescape path or handle reserved characters in path properly. Use FindPath instead.

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP serves http request as defined by OpenAPI v3 specification, calling handler that matches the path or returning not found error.

type ServerOption

type ServerOption interface {
	// contains filtered or unexported methods
}

ServerOption is server config option.

func WithErrorHandler

func WithErrorHandler(h ErrorHandler) ServerOption

WithErrorHandler specifies error handler to use.

func WithMaxMultipartMemory

func WithMaxMultipartMemory(max int64) ServerOption

WithMaxMultipartMemory specifies limit of memory for storing file parts. File parts which can't be stored in memory will be stored on disk in temporary files.

func WithMethodNotAllowed

func WithMethodNotAllowed(methodNotAllowed func(w http.ResponseWriter, r *http.Request, allowed string)) ServerOption

WithMethodNotAllowed specifies Method Not Allowed handler to use.

func WithMiddleware

func WithMiddleware(m ...Middleware) ServerOption

WithMiddleware specifies middlewares to use.

func WithNotFound

func WithNotFound(notFound http.HandlerFunc) ServerOption

WithNotFound specifies Not Found handler to use.

func WithPathPrefix

func WithPathPrefix(prefix string) ServerOption

WithPathPrefix specifies server path prefix.

type UnimplementedHandler

type UnimplementedHandler struct{}

UnimplementedHandler is no-op Handler which returns http.ErrNotImplemented.

func (UnimplementedHandler) ComplicatedParameterNameGet

func (UnimplementedHandler) ComplicatedParameterNameGet(ctx context.Context, params ComplicatedParameterNameGetParams) error

ComplicatedParameterNameGet implements GET /complicatedParameterName operation.

GET /complicatedParameterName

func (UnimplementedHandler) ContentQueryParameter

func (UnimplementedHandler) ContentQueryParameter(ctx context.Context, params ContentQueryParameterParams) (r string, _ error)

ContentQueryParameter implements contentQueryParameter operation.

GET /contentQueryParameter

func (UnimplementedHandler) HeaderParameter

func (UnimplementedHandler) HeaderParameter(ctx context.Context, params HeaderParameterParams) (r *Hash, _ error)

HeaderParameter implements headerParameter operation.

Test for header param.

GET /headerParameter

func (UnimplementedHandler) ObjectQueryParameter

ObjectQueryParameter implements objectQueryParameter operation.

GET /objectQueryParameter

func (UnimplementedHandler) PathObjectParameter

func (UnimplementedHandler) PathObjectParameter(ctx context.Context, params PathObjectParameterParams) (r *User, _ error)

PathObjectParameter implements pathObjectParameter operation.

GET /pathObjectParameter/{param}

func (UnimplementedHandler) SameName

SameName implements sameName operation.

Parameter with different location, but the same name.

GET /same_name/{path}

type User

type User struct {
	ID       int      `json:"id"`
	Username string   `json:"username"`
	Role     UserRole `json:"role"`
	Friends  []User   `json:"friends"`
}

Ref: #/components/schemas/User

func (*User) Decode

func (s *User) Decode(d *jx.Decoder) error

Decode decodes User from json.

func (*User) Encode

func (s *User) Encode(e *jx.Encoder)

Encode implements json.Marshaler.

func (*User) GetFriends

func (s *User) GetFriends() []User

GetFriends returns the value of Friends.

func (*User) GetID

func (s *User) GetID() int

GetID returns the value of ID.

func (*User) GetRole

func (s *User) GetRole() UserRole

GetRole returns the value of Role.

func (*User) GetUsername

func (s *User) GetUsername() string

GetUsername returns the value of Username.

func (*User) MarshalJSON

func (s *User) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (*User) SetFriends

func (s *User) SetFriends(val []User)

SetFriends sets the value of Friends.

func (*User) SetID

func (s *User) SetID(val int)

SetID sets the value of ID.

func (*User) SetRole

func (s *User) SetRole(val UserRole)

SetRole sets the value of Role.

func (*User) SetUsername

func (s *User) SetUsername(val string)

SetUsername sets the value of Username.

func (*User) UnmarshalJSON

func (s *User) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*User) Validate

func (s *User) Validate() error

type UserRole

type UserRole string
const (
	UserRoleAdmin UserRole = "admin"
	UserRoleUser  UserRole = "user"
	UserRoleBot   UserRole = "bot"
)

func (*UserRole) Decode

func (s *UserRole) Decode(d *jx.Decoder) error

Decode decodes UserRole from json.

func (UserRole) Encode

func (s UserRole) Encode(e *jx.Encoder)

Encode encodes UserRole as json.

func (UserRole) MarshalJSON

func (s UserRole) MarshalJSON() ([]byte, error)

MarshalJSON implements stdjson.Marshaler.

func (UserRole) MarshalText

func (s UserRole) MarshalText() ([]byte, error)

MarshalText implements encoding.TextMarshaler.

func (*UserRole) UnmarshalJSON

func (s *UserRole) UnmarshalJSON(data []byte) error

UnmarshalJSON implements stdjson.Unmarshaler.

func (*UserRole) UnmarshalText

func (s *UserRole) UnmarshalText(data []byte) error

UnmarshalText implements encoding.TextUnmarshaler.

func (UserRole) Validate

func (s UserRole) Validate() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL