Documentation
¶
Index ¶
- func SpecHandler(opts ...DocsOption) http.Handler
- func SpecJSON() []byte
- func SpecYAML() []byte
- func SwaggerUIHandler(opts ...DocsOption) http.Handler
- func WithServerURL(ctx context.Context, u *url.URL) context.Context
- type Client
- type ClientOption
- type DocsOption
- type Error
- func (s *Error) Decode(d *jx.Decoder) error
- func (s *Error) Encode(e *jx.Encoder)
- func (s *Error) GetCode() int64
- func (s *Error) GetMessage() string
- func (s *Error) MarshalJSON() ([]byte, error)
- func (s *Error) SetCode(val int64)
- func (s *Error) SetMessage(val string)
- func (s *Error) UnmarshalJSON(data []byte) error
- type ErrorHandler
- type ErrorStatusCode
- type Handler
- type Invoker
- type Labeler
- type Middleware
- type OperationName
- type Option
- type Route
- type Server
- type ServerOption
- func WithDocs(prefix string, opts ...DocsOption) 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 SpecHandler ¶
func SpecHandler(opts ...DocsOption) http.Handler
SpecHandler returns a handler that serves the embedded OpenAPI document as "openapi.json" and "openapi.yaml" relative to its mount point:
mux.Handle("/docs/", http.StripPrefix("/docs", SpecHandler()))
func SpecJSON ¶
func SpecJSON() []byte
SpecJSON returns a copy of the embedded OpenAPI document encoded as JSON.
func SpecYAML ¶
func SpecYAML() []byte
SpecYAML returns a copy of the embedded OpenAPI document encoded as YAML.
func SwaggerUIHandler ¶
func SwaggerUIHandler(opts ...DocsOption) http.Handler
SwaggerUIHandler returns a handler that serves Swagger UI at "/" and the embedded OpenAPI document as "openapi.json" and "openapi.yaml" relative to its mount point:
mux.Handle("/docs/", http.StripPrefix("/docs", SwaggerUIHandler()))
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements OAS client.
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 DocsOption ¶
type DocsOption func(*docsConfig)
DocsOption configures handlers returned by SpecHandler, SwaggerUIHandler and the WithDocs server option.
func WithDocsAssetsURL ¶
func WithDocsAssetsURL(u string) DocsOption
WithDocsAssetsURL serves Swagger UI static files from the given base URL, for example a CDN like "https://unpkg.com/swagger-ui-dist@5/", instead of the copy embedded into the binary.
func WithDocsTitle ¶
func WithDocsTitle(title string) DocsOption
WithDocsTitle sets the Swagger UI page title.
Defaults to the API title from the OpenAPI document.
type Error ¶
Represents error object. Ref: #/components/schemas/Error
func (*Error) GetMessage ¶
GetMessage returns the value of Message.
func (*Error) MarshalJSON ¶
MarshalJSON implements stdjson.Marshaler.
func (*Error) SetMessage ¶
SetMessage sets the value of Message.
func (*Error) UnmarshalJSON ¶
UnmarshalJSON implements stdjson.Unmarshaler.
type ErrorStatusCode ¶
ErrorStatusCode wraps Error with StatusCode.
func (*ErrorStatusCode) Error ¶
func (s *ErrorStatusCode) Error() string
func (*ErrorStatusCode) GetResponse ¶
func (s *ErrorStatusCode) GetResponse() Error
GetResponse returns the value of Response.
func (*ErrorStatusCode) GetStatusCode ¶
func (s *ErrorStatusCode) GetStatusCode() int
GetStatusCode returns the value of StatusCode.
func (*ErrorStatusCode) SetResponse ¶
func (s *ErrorStatusCode) SetResponse(val Error)
SetResponse sets the value of Response.
func (*ErrorStatusCode) SetStatusCode ¶
func (s *ErrorStatusCode) SetStatusCode(val int)
SetStatusCode sets the value of StatusCode.
type Handler ¶
type Handler interface {
// ProbeLiveness implements probeLiveness operation.
//
// Liveness probe for kubernetes.
//
// GET /healthz
ProbeLiveness(ctx context.Context) (string, error)
// NewError creates *ErrorStatusCode from error returned by handler.
//
// Used for common default response.
NewError(ctx context.Context, err error) *ErrorStatusCode
}
Handler handles operations described by OpenAPI v3 specification.
type Invoker ¶
type Invoker interface {
// ProbeLiveness invokes probeLiveness operation.
//
// Liveness probe for kubernetes.
//
// GET /healthz
ProbeLiveness(ctx context.Context) (string, 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 (
ProbeLivenessOperation OperationName = "ProbeLiveness"
)
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 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.
type ServerOption ¶
type ServerOption interface {
// contains filtered or unexported methods
}
ServerOption is server config option.
func WithDocs ¶
func WithDocs(prefix string, opts ...DocsOption) ServerOption
WithDocs serves the embedded OpenAPI document and Swagger UI under given path prefix (relative to the prefix set by WithPathPrefix):
<prefix>/ Swagger UI <prefix>/openapi.json OpenAPI document encoded as JSON <prefix>/openapi.yaml OpenAPI document encoded as YAML
Documentation paths are matched before API routes and bypass Middleware. An empty prefix mounts the documentation at the server root.
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) NewError ¶
func (UnimplementedHandler) NewError(ctx context.Context, err error) (r *ErrorStatusCode)
NewError creates *ErrorStatusCode from error returned by handler.
Used for common default response.
func (UnimplementedHandler) ProbeLiveness ¶
func (UnimplementedHandler) ProbeLiveness(ctx context.Context) (r string, _ error)
ProbeLiveness implements probeLiveness operation.
Liveness probe for kubernetes.
GET /healthz
Source Files
¶
- oas_cfg_gen.go
- oas_client_gen.go
- oas_handlers_gen.go
- oas_json_gen.go
- oas_labeler_gen.go
- oas_middleware_gen.go
- oas_operations_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_server_gen.go
- oas_spec_gen.go
- oas_unimplemented_gen.go