Documentation
¶
Index ¶
- func WithServerURL(ctx context.Context, u *url.URL) context.Context
- type Client
- type ClientOption
- type ErrorHandler
- type Event
- func (s *Event) Decode(d *jx.Decoder) error
- func (s Event) Encode(e *jx.Encoder)
- func (s Event) GetMetricEvent() (v MetricEvent, ok bool)
- func (s Event) GetSystemEvent() (v SystemEvent, ok bool)
- func (s Event) GetUserEvent() (v UserEvent, ok bool)
- func (s Event) IsMetricEvent() bool
- func (s Event) IsSystemEvent() bool
- func (s Event) IsUserEvent() bool
- func (s Event) MarshalJSON() ([]byte, error)
- func (s *Event) SetMetricEvent(v MetricEvent)
- func (s *Event) SetSystemEvent(v SystemEvent)
- func (s *Event) SetUserEvent(v UserEvent)
- func (s *Event) UnmarshalJSON(data []byte) error
- type EventType
- type Handler
- type Invoker
- type Labeler
- type LogEventOK
- type MetricEvent
- func (s *MetricEvent) Decode(d *jx.Decoder) error
- func (s *MetricEvent) Encode(e *jx.Encoder)
- func (s *MetricEvent) GetAction() OptString
- func (s *MetricEvent) GetSeverity() int
- func (s *MetricEvent) GetTimestamp() time.Time
- func (s *MetricEvent) MarshalJSON() ([]byte, error)
- func (s *MetricEvent) SetAction(val OptString)
- func (s *MetricEvent) SetSeverity(val int)
- func (s *MetricEvent) SetTimestamp(val time.Time)
- func (s *MetricEvent) UnmarshalJSON(data []byte) error
- type Middleware
- type OperationName
- type OptString
- func (o *OptString) Decode(d *jx.Decoder) error
- func (o OptString) Encode(e *jx.Encoder)
- func (o OptString) Get() (v string, ok bool)
- func (o OptString) IsSet() bool
- func (s OptString) MarshalJSON() ([]byte, error)
- func (o OptString) Or(d string) string
- func (o *OptString) Reset()
- func (o *OptString) SetTo(v string)
- func (s *OptString) UnmarshalJSON(data []byte) error
- type Option
- type Route
- 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 SystemEvent
- func (s *SystemEvent) Decode(d *jx.Decoder) error
- func (s *SystemEvent) Encode(e *jx.Encoder)
- func (s *SystemEvent) GetAction() OptString
- func (s *SystemEvent) GetSeverity() string
- func (s *SystemEvent) GetTimestamp() time.Time
- func (s *SystemEvent) MarshalJSON() ([]byte, error)
- func (s *SystemEvent) SetAction(val OptString)
- func (s *SystemEvent) SetSeverity(val string)
- func (s *SystemEvent) SetTimestamp(val time.Time)
- func (s *SystemEvent) UnmarshalJSON(data []byte) error
- type UnimplementedHandler
- type UserEvent
- func (s *UserEvent) Decode(d *jx.Decoder) error
- func (s *UserEvent) Encode(e *jx.Encoder)
- func (s *UserEvent) GetAction() OptString
- func (s *UserEvent) GetTimestamp() time.Time
- func (s *UserEvent) GetUserId() string
- func (s *UserEvent) MarshalJSON() ([]byte, error)
- func (s *UserEvent) SetAction(val OptString)
- func (s *UserEvent) SetTimestamp(val time.Time)
- func (s *UserEvent) SetUserId(val string)
- func (s *UserEvent) UnmarshalJSON(data []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 Event ¶
type Event struct {
Type EventType // switch on this field
UserEvent UserEvent
SystemEvent SystemEvent
MetricEvent MetricEvent
}
Ref: #/components/schemas/Event Event represents sum type.
func NewMetricEventEvent ¶
func NewMetricEventEvent(v MetricEvent) Event
NewMetricEventEvent returns new Event from MetricEvent.
func NewSystemEventEvent ¶
func NewSystemEventEvent(v SystemEvent) Event
NewSystemEventEvent returns new Event from SystemEvent.
func NewUserEventEvent ¶
NewUserEventEvent returns new Event from UserEvent.
func (Event) GetMetricEvent ¶
func (s Event) GetMetricEvent() (v MetricEvent, ok bool)
GetMetricEvent returns MetricEvent and true boolean if Event is MetricEvent.
func (Event) GetSystemEvent ¶
func (s Event) GetSystemEvent() (v SystemEvent, ok bool)
GetSystemEvent returns SystemEvent and true boolean if Event is SystemEvent.
func (Event) GetUserEvent ¶
GetUserEvent returns UserEvent and true boolean if Event is UserEvent.
func (Event) IsMetricEvent ¶
IsMetricEvent reports whether Event is MetricEvent.
func (Event) IsSystemEvent ¶
IsSystemEvent reports whether Event is SystemEvent.
func (Event) IsUserEvent ¶
IsUserEvent reports whether Event is UserEvent.
func (Event) MarshalJSON ¶
MarshalJSON implements stdjson.Marshaler.
func (*Event) SetMetricEvent ¶
func (s *Event) SetMetricEvent(v MetricEvent)
SetMetricEvent sets Event to MetricEvent.
func (*Event) SetSystemEvent ¶
func (s *Event) SetSystemEvent(v SystemEvent)
SetSystemEvent sets Event to SystemEvent.
func (*Event) SetUserEvent ¶
SetUserEvent sets Event to UserEvent.
func (*Event) UnmarshalJSON ¶
UnmarshalJSON implements stdjson.Unmarshaler.
type Handler ¶
type Handler interface {
// LogEvent implements logEvent operation.
//
// POST /events
LogEvent(ctx context.Context, req Event) error
}
Handler handles operations described by OpenAPI v3 specification.
type Invoker ¶
type Invoker interface {
// LogEvent invokes logEvent operation.
//
// POST /events
LogEvent(ctx context.Context, request Event) 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 MetricEvent ¶
type MetricEvent struct {
Timestamp time.Time `json:"timestamp"`
// Integer severity level - same name as SystemEvent but different type.
Severity int `json:"severity"`
Action OptString `json:"action"`
}
Ref: #/components/schemas/MetricEvent
func (*MetricEvent) Decode ¶
func (s *MetricEvent) Decode(d *jx.Decoder) error
Decode decodes MetricEvent from json.
func (*MetricEvent) Encode ¶
func (s *MetricEvent) Encode(e *jx.Encoder)
Encode implements json.Marshaler.
func (*MetricEvent) GetAction ¶
func (s *MetricEvent) GetAction() OptString
GetAction returns the value of Action.
func (*MetricEvent) GetSeverity ¶
func (s *MetricEvent) GetSeverity() int
GetSeverity returns the value of Severity.
func (*MetricEvent) GetTimestamp ¶
func (s *MetricEvent) GetTimestamp() time.Time
GetTimestamp returns the value of Timestamp.
func (*MetricEvent) MarshalJSON ¶
func (s *MetricEvent) MarshalJSON() ([]byte, error)
MarshalJSON implements stdjson.Marshaler.
func (*MetricEvent) SetAction ¶
func (s *MetricEvent) SetAction(val OptString)
SetAction sets the value of Action.
func (*MetricEvent) SetSeverity ¶
func (s *MetricEvent) SetSeverity(val int)
SetSeverity sets the value of Severity.
func (*MetricEvent) SetTimestamp ¶
func (s *MetricEvent) SetTimestamp(val time.Time)
SetTimestamp sets the value of Timestamp.
func (*MetricEvent) UnmarshalJSON ¶
func (s *MetricEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON implements stdjson.Unmarshaler.
type OperationName ¶
type OperationName = string
OperationName is the ogen operation name
const (
LogEventOperation OperationName = "LogEvent"
)
type OptString ¶
OptString is optional string.
func NewOptString ¶
NewOptString returns new OptString with value set to v.
func (OptString) MarshalJSON ¶
MarshalJSON implements stdjson.Marshaler.
func (*OptString) UnmarshalJSON ¶
UnmarshalJSON implements stdjson.Unmarshaler.
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 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 SystemEvent ¶
type SystemEvent struct {
Timestamp time.Time `json:"timestamp"`
// String severity - same name as MetricEvent but different type.
Severity string `json:"severity"`
Action OptString `json:"action"`
}
Ref: #/components/schemas/SystemEvent
func (*SystemEvent) Decode ¶
func (s *SystemEvent) Decode(d *jx.Decoder) error
Decode decodes SystemEvent from json.
func (*SystemEvent) Encode ¶
func (s *SystemEvent) Encode(e *jx.Encoder)
Encode implements json.Marshaler.
func (*SystemEvent) GetAction ¶
func (s *SystemEvent) GetAction() OptString
GetAction returns the value of Action.
func (*SystemEvent) GetSeverity ¶
func (s *SystemEvent) GetSeverity() string
GetSeverity returns the value of Severity.
func (*SystemEvent) GetTimestamp ¶
func (s *SystemEvent) GetTimestamp() time.Time
GetTimestamp returns the value of Timestamp.
func (*SystemEvent) MarshalJSON ¶
func (s *SystemEvent) MarshalJSON() ([]byte, error)
MarshalJSON implements stdjson.Marshaler.
func (*SystemEvent) SetAction ¶
func (s *SystemEvent) SetAction(val OptString)
SetAction sets the value of Action.
func (*SystemEvent) SetSeverity ¶
func (s *SystemEvent) SetSeverity(val string)
SetSeverity sets the value of Severity.
func (*SystemEvent) SetTimestamp ¶
func (s *SystemEvent) SetTimestamp(val time.Time)
SetTimestamp sets the value of Timestamp.
func (*SystemEvent) UnmarshalJSON ¶
func (s *SystemEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON implements stdjson.Unmarshaler.
type UnimplementedHandler ¶
type UnimplementedHandler struct{}
UnimplementedHandler is no-op Handler which returns http.ErrNotImplemented.
type UserEvent ¶
type UserEvent struct {
Timestamp time.Time `json:"timestamp"`
// Unique field name - discriminates UserEvent.
UserId string `json:"userId"`
Action OptString `json:"action"`
}
Ref: #/components/schemas/UserEvent
func (*UserEvent) GetTimestamp ¶
GetTimestamp returns the value of Timestamp.
func (*UserEvent) MarshalJSON ¶
MarshalJSON implements stdjson.Marshaler.
func (*UserEvent) SetTimestamp ¶
SetTimestamp sets the value of Timestamp.
func (*UserEvent) UnmarshalJSON ¶
UnmarshalJSON implements stdjson.Unmarshaler.
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_unimplemented_gen.go