Documentation
¶
Index ¶
- Constants
- func GetClientMiddlewares(l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer) ...
- func GetServerMiddlewares(l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer) []func(ctx context.Context, req any, ...) (resp any, err error)
- func GetServerSecureMiddlewares(l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer) []func(ctx context.Context, req any, ...) (resp any, err error)
- type ClientMiddleware
- type HeaderCarrier
- type HttpError
- type ServerMiddleware
- func AuthServerMiddleware() ServerMiddleware
- func HeadersServerMiddleware() ServerMiddleware
- func LoggerServerMiddleware(l *slog.Logger) ServerMiddleware
- func MonitoringServerMiddleware(reg prometheus.Registerer) ServerMiddleware
- func RecoveryServerMiddleware() ServerMiddleware
- func ResponseServerMiddleware() ServerMiddleware
- func TimeoutServerMiddleware() ServerMiddleware
- func TracingServerMiddleware(tracer trace.Tracer) ServerMiddleware
- func ValidationServerMiddleware() ServerMiddleware
Constants ¶
const ( ContextFastHTTPCtx = "request" ContextAuthToken = "auth_token" )
Variables ¶
This section is empty.
Functions ¶
func GetClientMiddlewares ¶
func GetClientMiddlewares( l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer, ) []func(ctx context.Context, req *fasthttp.Request, handler func(ctx context.Context, req *fasthttp.Request) (resp *fasthttp.Response, err error)) (resp *fasthttp.Response, err error)
GetClientMiddlewares returns the default client middleware chain.
func GetServerMiddlewares ¶
func GetServerMiddlewares( l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer, ) []func(ctx context.Context, req any, handler func(ctx context.Context, req any) (resp any, err error)) (resp any, err error)
GetServerMiddlewares returns the default server middleware chain.
func GetServerSecureMiddlewares ¶
func GetServerSecureMiddlewares( l *slog.Logger, tracer trace.Tracer, reg prometheus.Registerer, ) []func(ctx context.Context, req any, handler func(ctx context.Context, req any) (resp any, err error)) (resp any, err error)
GetServerSecureMiddlewares returns the server middleware chain with authentication.
Types ¶
type ClientMiddleware ¶
type ClientMiddleware = func(ctx context.Context, req *fasthttp.Request, handler func(ctx context.Context, req *fasthttp.Request) (resp *fasthttp.Response, err error)) (resp *fasthttp.Response, err error)
func ErrorClientMiddleware ¶
func ErrorClientMiddleware() ClientMiddleware
ErrorClientMiddleware converts HTTP error responses to Go errors.
func LoggerClientMiddleware ¶
func LoggerClientMiddleware(l *slog.Logger) ClientMiddleware
LoggerClientMiddleware logs outbound requests and responses with slog.
func MonitoringClientMiddleware ¶
func MonitoringClientMiddleware(reg prometheus.Registerer) ClientMiddleware
MonitoringClientMiddleware tracks outbound request metrics with Prometheus.
func TimeoutClientMiddleware ¶
func TimeoutClientMiddleware() ClientMiddleware
TimeoutClientMiddleware sets timeout for outgoing requests.
func TracingClientMiddleware ¶
func TracingClientMiddleware(tracer trace.Tracer) ClientMiddleware
TracingClientMiddleware creates OpenTelemetry spans for outgoing requests.
type HeaderCarrier ¶
HeaderCarrier adapts fasthttp.Request headers to OTel propagation.TextMapCarrier.
func (*HeaderCarrier) Get ¶
func (c *HeaderCarrier) Get(key string) string
func (*HeaderCarrier) Keys ¶
func (c *HeaderCarrier) Keys() []string
func (*HeaderCarrier) Set ¶
func (c *HeaderCarrier) Set(key, value string)
type ServerMiddleware ¶
type ServerMiddleware = func(ctx context.Context, req any, handler func(ctx context.Context, req any) (resp any, err error)) (resp any, err error)
func AuthServerMiddleware ¶
func AuthServerMiddleware() ServerMiddleware
AuthServerMiddleware extracts Bearer token from Authorization header.
func HeadersServerMiddleware ¶
func HeadersServerMiddleware() ServerMiddleware
HeadersServerMiddleware sets HTTP status code based on error type.
func LoggerServerMiddleware ¶
func LoggerServerMiddleware(l *slog.Logger) ServerMiddleware
LoggerServerMiddleware logs requests and responses with slog.
func MonitoringServerMiddleware ¶
func MonitoringServerMiddleware(reg prometheus.Registerer) ServerMiddleware
MonitoringServerMiddleware tracks request metrics with Prometheus.
func RecoveryServerMiddleware ¶
func RecoveryServerMiddleware() ServerMiddleware
RecoveryServerMiddleware recovers from panics. Sets status code and response body directly because panic recovery bypasses inner middlewares.
func ResponseServerMiddleware ¶
func ResponseServerMiddleware() ServerMiddleware
ResponseServerMiddleware converts errors to response body.
func TimeoutServerMiddleware ¶
func TimeoutServerMiddleware() ServerMiddleware
TimeoutServerMiddleware sets a timeout for request processing.
func TracingServerMiddleware ¶
func TracingServerMiddleware(tracer trace.Tracer) ServerMiddleware
TracingServerMiddleware creates OpenTelemetry spans for incoming requests.
func ValidationServerMiddleware ¶
func ValidationServerMiddleware() ServerMiddleware
ValidationServerMiddleware validates requests.