Documentation
¶
Overview ¶
Code generated by ogen, DO NOT EDIT.
Index ¶
- func GetRolesForBearerToken(operation string) []string
- func GetRolesForHeaderKey(operation string) []string
- func WithServerURL(ctx context.Context, u *url.URL) context.Context
- type BearerToken
- type Client
- type ClientOption
- type ErrorHandler
- type FooGetOK
- type FooGetParams
- type FooPatchOK
- type FooPatchReq
- type FooPostOK
- type FooPostReq
- type FooPostReqApplicationJSON
- type FooPostReqTextPlain
- type Handler
- type HeaderKey
- type Invoker
- type Labeler
- type Middleware
- type OperationName
- type Option
- type Route
- type SecurityHandler
- type SecuritySource
- type Server
- type ServerOption
- func WithErrorHandler(h ErrorHandler) ServerOption
- func WithMaxMultipartMemory(max int64) ServerOption
- func WithMethodNotAllowed(methodNotAllowed func(w http.ResponseWriter, r *http.Request, allowed string)) ServerOption
- func WithMiddleware(m ...Middleware) ServerOption
- func WithNotFound(notFound http.HandlerFunc) ServerOption
- func WithPathPrefix(prefix string) ServerOption
- type UnimplementedHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetRolesForBearerToken ¶
GetRolesForBearerToken returns the required roles for the given operation.
This is useful for authorization scenarios where you need to know which roles are required for an operation.
Example:
requiredRoles := GetRolesForBearerToken(AddPetOperation)
Returns nil if the operation has no role requirements or if the operation is unknown.
func GetRolesForHeaderKey ¶
GetRolesForHeaderKey returns the required roles for the given operation.
This is useful for authorization scenarios where you need to know which roles are required for an operation.
Example:
requiredRoles := GetRolesForHeaderKey(AddPetOperation)
Returns nil if the operation has no role requirements or if the operation is unknown.
Types ¶
type BearerToken ¶
func (*BearerToken) GetRoles ¶
func (s *BearerToken) GetRoles() []string
GetRoles returns the value of Roles.
func (*BearerToken) GetToken ¶
func (s *BearerToken) GetToken() string
GetToken returns the value of Token.
func (*BearerToken) SetRoles ¶
func (s *BearerToken) SetRoles(val []string)
SetRoles sets the value of Roles.
func (*BearerToken) SetToken ¶
func (s *BearerToken) SetToken(val string)
SetToken sets the value of Token.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements OAS client.
func NewClient ¶
func NewClient(serverURL string, sec SecuritySource, opts ...ClientOption) (*Client, error)
NewClient initializes new Client defined by OAS.
func (*Client) FooGet ¶
func (c *Client) FooGet(ctx context.Context, params FooGetParams) error
FooGet invokes GET /foo operation.
GET /foo
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 FooGetParams ¶
type FooGetParams struct {
ContentLength int64
}
FooGetParams is parameters of GET /foo operation.
type FooPatchReq ¶
type FooPostOK ¶
type FooPostOK struct {
Location string
}
FooPostOK is response for FooPost operation.
func (*FooPostOK) GetLocation ¶
GetLocation returns the value of Location.
func (*FooPostOK) SetLocation ¶
SetLocation sets the value of Location.
type FooPostReq ¶
type FooPostReq interface {
// contains filtered or unexported methods
}
type FooPostReqApplicationJSON ¶
type FooPostReqApplicationJSON string
func (*FooPostReqApplicationJSON) Decode ¶
func (s *FooPostReqApplicationJSON) Decode(d *jx.Decoder) error
Decode decodes FooPostReqApplicationJSON from json.
func (FooPostReqApplicationJSON) Encode ¶
func (s FooPostReqApplicationJSON) Encode(e *jx.Encoder)
Encode encodes FooPostReqApplicationJSON as json.
func (FooPostReqApplicationJSON) MarshalJSON ¶
func (s FooPostReqApplicationJSON) MarshalJSON() ([]byte, error)
MarshalJSON implements stdjson.Marshaler.
func (*FooPostReqApplicationJSON) UnmarshalJSON ¶
func (s *FooPostReqApplicationJSON) UnmarshalJSON(data []byte) error
UnmarshalJSON implements stdjson.Unmarshaler.
type FooPostReqTextPlain ¶
type Handler ¶
type Handler interface {
// FooGet implements GET /foo operation.
//
// GET /foo
FooGet(ctx context.Context, params FooGetParams) error
// FooPatch implements PATCH /foo operation.
//
// PATCH /foo
FooPatch(ctx context.Context, req FooPatchReq) error
// FooPost implements POST /foo operation.
//
// POST /foo
FooPost(ctx context.Context, req FooPostReq) (*FooPostOK, error)
}
Handler handles operations described by OpenAPI v3 specification.
type HeaderKey ¶
type Invoker ¶
type Invoker interface {
// FooGet invokes GET /foo operation.
//
// GET /foo
FooGet(ctx context.Context, params FooGetParams) error
// FooPatch invokes PATCH /foo operation.
//
// PATCH /foo
FooPatch(ctx context.Context, request FooPatchReq) error
// FooPost invokes POST /foo operation.
//
// POST /foo
FooPost(ctx context.Context, request FooPostReq) (*FooPostOK, error)
}
Invoker invokes operations described by OpenAPI v3 specification.
type Labeler ¶
type Labeler struct {
// contains filtered or unexported fields
}
Labeler is used to allow adding custom attributes to the server request metrics.
func LabelerFromContext ¶
LabelerFromContext retrieves the Labeler from the provided context, if present.
If no Labeler was found in the provided context a new, empty Labeler is returned and the second return value is false. In this case it is safe to use the Labeler but any attributes added to it will not be used.
func (*Labeler) AttributeSet ¶
AttributeSet returns the attributes added to the Labeler as an attribute.Set.
type OperationName ¶
type OperationName = string
OperationName is the ogen operation name
const ( FooGetOperation OperationName = "FooGet" FooPatchOperation OperationName = "FooPatch" FooPostOperation OperationName = "FooPost" )
type Option ¶
type Option interface {
ServerOption
ClientOption
}
Option is config option.
func WithAttributes ¶
WithAttributes specifies default otel attributes.
func WithMeterProvider ¶
func WithMeterProvider(provider metric.MeterProvider) Option
WithMeterProvider specifies a meter provider to use for creating a meter.
If none is specified, the otel.GetMeterProvider() 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 Route ¶
type Route struct {
// contains filtered or unexported fields
}
Route is route object.
func (Route) OperationGroup ¶
OperationGroup returns the x-ogen-operation-group value.
func (Route) OperationID ¶
OperationID returns OpenAPI operationId.
type SecurityHandler ¶
type SecurityHandler interface {
// HandleBearerToken handles bearerToken security.
HandleBearerToken(ctx context.Context, operationName OperationName, t BearerToken) (context.Context, error)
// HandleHeaderKey handles headerKey security.
HandleHeaderKey(ctx context.Context, operationName OperationName, t HeaderKey) (context.Context, error)
}
SecurityHandler is handler for security parameters.
type SecuritySource ¶
type SecuritySource interface {
// BearerToken provides bearerToken security value.
BearerToken(ctx context.Context, operationName OperationName) (BearerToken, error)
// HeaderKey provides headerKey security value.
HeaderKey(ctx context.Context, operationName OperationName) (HeaderKey, error)
}
SecuritySource is provider of security values (tokens, passwords, etc.).
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, sec SecurityHandler, opts ...ServerOption) (*Server, error)
NewServer creates new Server.
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) FooGet ¶
func (UnimplementedHandler) FooGet(ctx context.Context, params FooGetParams) error
FooGet implements GET /foo operation.
GET /foo
func (UnimplementedHandler) FooPatch ¶
func (UnimplementedHandler) FooPatch(ctx context.Context, req FooPatchReq) error
FooPatch implements PATCH /foo operation.
PATCH /foo
func (UnimplementedHandler) FooPost ¶
func (UnimplementedHandler) FooPost(ctx context.Context, req FooPostReq) (r *FooPostOK, _ error)
FooPost implements POST /foo operation.
POST /foo
Source Files
¶
- oas_cfg_gen.go
- oas_client_gen.go
- oas_handlers_gen.go
- oas_interfaces_gen.go
- oas_json_gen.go
- oas_labeler_gen.go
- oas_middleware_gen.go
- oas_operations_gen.go
- oas_parameters_gen.go
- oas_request_decoders_gen.go
- oas_request_encoders_gen.go
- oas_response_decoders_gen.go
- oas_response_encoders_gen.go
- oas_router_gen.go
- oas_schemas_gen.go
- oas_security_gen.go
- oas_server_gen.go
- oas_unimplemented_gen.go