Documentation
¶
Index ¶
- func CompressMiddleware() fiber.Handler
- func DefaultRateLimit(config config.RateLimitConfig) fiber.Handler
- func ErrorHandler(c *fiber.Ctx, err error) error
- func GetAPIKey(c *fiber.Ctx) string
- func GetAuthType(c *fiber.Ctx) string
- func GetUserID(c *fiber.Ctx) any
- func GetUserPermissions(c *fiber.Ctx) any
- func GetUserRole(c *fiber.Ctx) any
- func Metrics() fiber.Handler
- func NewRateLimit(config RateLimitConfig) fiber.Handler
- func PermissionRequired(requiredPermission string) fiber.Handler
- func RemoveTrailingSlash() fiber.Handler
- func RequestID() fiber.Handler
- func RequestLogger() fiber.Handler
- func RoleRequired(allowedRoles ...string) fiber.Handler
- func SecurityHeadersMiddleware() fiber.Handler
- func SetupGlobalMiddleware(app *fiber.App, cfg *config.Config)
- type RateLimitConfig
- type RateLimiter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompressMiddleware ¶
CompressMiddleware enables response compression
func DefaultRateLimit ¶
func DefaultRateLimit(config config.RateLimitConfig) fiber.Handler
DefaultRateLimit creates a default rate limiting middleware
func GetAuthType ¶
GetAuthType returns the authentication type from the context
func GetUserPermissions ¶
GetUserPermissions returns the user permissions from the context
func GetUserRole ¶
GetUserRole returns the user role from the context
func NewRateLimit ¶
func NewRateLimit(config RateLimitConfig) fiber.Handler
NewRateLimit creates a rate limiting middleware with the given configuration
func PermissionRequired ¶
PermissionRequired creates a middleware to check user permissions
func RemoveTrailingSlash ¶
Middleware to remove trailing slash
func RequestLogger ¶
RequestLogger creates a middleware for logging HTTP requests
func RoleRequired ¶
RoleRequired creates a middleware to check user roles
func SecurityHeadersMiddleware ¶
SecurityHeadersMiddleware adds security headers
Types ¶
type RateLimitConfig ¶
type RateLimitConfig struct {
Window time.Duration // Time window (e.g., 1 minute)
Limit int64 // Maximum requests per window
}
RateLimitConfig represents the configuration for rate limiting middleware
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter represents a rate limiter implementation
func NewRateLimiter ¶
func NewRateLimiter(config RateLimitConfig) *RateLimiter
NewRateLimiter creates a new rate limiter
func (*RateLimiter) Cleanup ¶
func (rl *RateLimiter) Cleanup()
Cleanup removes expired client entries to prevent memory leaks
func (*RateLimiter) Middleware ¶
func (rl *RateLimiter) Middleware() fiber.Handler
Middleware creates a rate limiting middleware
func (*RateLimiter) Reset ¶
func (rl *RateLimiter) Reset()
Reset resets the rate limiter (useful for testing)