middleware

package
v0.0.0-...-c3a6988 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2025 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthMiddleware

func AuthMiddleware(tokenService *service.TokenService, tokenRepo *repo.TokenRepository) fiber.Handler

AuthMiddleware validates JWT access tokens

func CacheByRoute

func CacheByRoute(cacheManager *cache.Manager, routeType string) fiber.Handler

CacheByRoute returns a cache middleware configured for specific route types

func CacheMiddleware

func CacheMiddleware(cacheManager *cache.Manager, category cache.CacheCategory) fiber.Handler

CacheMiddleware provides caching functionality for responses using cache categories Use specific categories for better TTL management: - cache.CategoryHome for home endpoints - cache.CategorySearch for search endpoints - etc.

func GetEmail

func GetEmail(c *fiber.Ctx) (string, error)

GetEmail extracts email from context

func GetRole

func GetRole(c *fiber.Ctx) (string, error)

GetRole extracts role from context

func GetUserID

func GetUserID(c *fiber.Ctx) (uuid.UUID, error)

GetUserID extracts user ID from context

func InvalidateCache

func InvalidateCache(cacheManager *cache.Manager, category cache.CacheCategory, pattern string) fiber.Handler

InvalidateCache invalidates cache for a specific pattern

func InvalidateCacheByPath

func InvalidateCacheByPath(cacheManager *cache.Manager, category cache.CacheCategory) fiber.Handler

InvalidateCacheByPath invalidates cache based on the request path Useful for DELETE/PUT/POST operations that should clear related cache

func NewAPIKeyRateLimiter

func NewAPIKeyRateLimiter(config RateLimiterConfig) fiber.Handler

NewAPIKeyRateLimiter creates a rate limiter based on API key

func NewRateLimiter

func NewRateLimiter(config RateLimiterConfig) fiber.Handler

NewRateLimiter creates a rate limiter middleware

func OptionalAuthMiddleware

func OptionalAuthMiddleware(tokenService *service.TokenService) fiber.Handler

OptionalAuthMiddleware extracts user info if token exists

func RateLimitByEndpoint

func RateLimitByEndpoint() fiber.Handler

RateLimitByEndpoint provides different rate limits for different endpoints

func RequestLogger

func RequestLogger() fiber.Handler

RequestLogger logs HTTP requests

func RoleMiddleware

func RoleMiddleware(allowedRoles ...string) fiber.Handler

RoleMiddleware checks if user has required role

func SetupCORS

func SetupCORS(cfg *config.CorsConfig) fiber.Handler

SetupCORS configures CORS middleware

func SetupRecover

func SetupRecover() fiber.Handler

SetupRecover configures recovery middleware

func SimpleCacheMiddleware

func SimpleCacheMiddleware(cacheManager *cache.Manager) fiber.Handler

SimpleCacheMiddleware is a simpler version that uses a default category This is useful when you don't want to specify category for each route

Types

type RateLimiterConfig

type RateLimiterConfig struct {
	Max        int
	Expiration time.Duration
	RedisURL   string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL