Documentation
¶
Index ¶
- Variables
- func NewCompressionMiddleware() app.Middleware
- func NewContentTypeMiddleware() app.Middleware
- func NewCorsMiddleware(config *config.CorsConfig) app.Middleware
- func NewHeadersMiddleware() app.Middleware
- func NewLoggerMiddleware() app.Middleware
- func NewRecoveryMiddleware() app.Middleware
- func NewRequestIdMiddleware() app.Middleware
- func NewRequestRecordMiddleware() app.Middleware
- func NewSpaMiddleware(configs []*middleware.SpaConfig) app.Middleware
- type SimpleMiddleware
Constants ¶
This section is empty.
Variables ¶
var Module = fx.Module( "vef:middleware", fx.Provide( fx.Annotate( NewRequestIdMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewLoggerMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewRecoveryMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewRequestRecordMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewCorsMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewContentTypeMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewCompressionMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewHeadersMiddleware, fx.ResultTags(`group:"vef:app:middlewares"`), ), fx.Annotate( NewSpaMiddleware, fx.ParamTags(`group:"vef:spa"`), fx.ResultTags(`group:"vef:app:middlewares"`), ), ), )
Functions ¶
func NewCompressionMiddleware ¶
func NewCompressionMiddleware() app.Middleware
NewCompressionMiddleware returns a middleware that compresses response bodies. Default compression level is used; tune if needed based on performance.
func NewContentTypeMiddleware ¶
func NewContentTypeMiddleware() app.Middleware
NewContentTypeMiddleware ensures JSON or multipart content types for state-changing requests. It bypasses checks for GET/HEAD and allows application/json and multipart/form-data.
func NewCorsMiddleware ¶
func NewCorsMiddleware(config *config.CorsConfig) app.Middleware
NewCorsMiddleware is a middleware that handles CORS.
func NewHeadersMiddleware ¶
func NewHeadersMiddleware() app.Middleware
NewHeadersMiddleware returns a middleware that sets security-related response headers. It adds X-Content-Type-Options, Strict-Transport-Security (for HTTPS), and a default Cache-Control if missing.
func NewLoggerMiddleware ¶
func NewLoggerMiddleware() app.Middleware
NewLoggerMiddleware returns a middleware that initializes a request-scoped logger. The logger is stored in fiber context via contextx.SetLogger and can be retrieved later. This middleware depends on requestid middleware to ensure request id is available.
func NewRecoveryMiddleware ¶
func NewRecoveryMiddleware() app.Middleware
NewRecoveryMiddleware is a middleware that recovers from panics.
func NewRequestIdMiddleware ¶
func NewRequestIdMiddleware() app.Middleware
NewRequestIdMiddleware returns a middleware that generates a request ID.
func NewRequestRecordMiddleware ¶
func NewRequestRecordMiddleware() app.Middleware
NewRequestRecordMiddleware returns a middleware that records request metrics. It logs IP, latency (ms/μs), and status code and reports structured errors if present.
func NewSpaMiddleware ¶ added in v0.6.0
func NewSpaMiddleware(configs []*middleware.SpaConfig) app.Middleware
NewSpaMiddleware creates a new SPA middleware.
Types ¶
type SimpleMiddleware ¶
type SimpleMiddleware struct {
// contains filtered or unexported fields
}
SimpleMiddleware is middleware for the app.
func (*SimpleMiddleware) Apply ¶
func (m *SimpleMiddleware) Apply(router fiber.Router)
Apply applies the middleware to the router.
func (*SimpleMiddleware) Name ¶
func (m *SimpleMiddleware) Name() string
Name returns the name of the middleware.
func (*SimpleMiddleware) Order ¶
func (m *SimpleMiddleware) Order() int
Order returns the order of the middleware.