Documentation
¶
Index ¶
- func AuthMiddleware(tokenService *service.TokenService, tokenRepo *repo.TokenRepository) fiber.Handler
- func CacheByRoute(cacheManager *cache.Manager, routeType string) fiber.Handler
- func CacheMiddleware(cacheManager *cache.Manager, category cache.CacheCategory) fiber.Handler
- func GetEmail(c *fiber.Ctx) (string, error)
- func GetRole(c *fiber.Ctx) (string, error)
- func GetUserID(c *fiber.Ctx) (uuid.UUID, error)
- func InvalidateCache(cacheManager *cache.Manager, category cache.CacheCategory, pattern string) fiber.Handler
- func InvalidateCacheByPath(cacheManager *cache.Manager, category cache.CacheCategory) fiber.Handler
- func NewAPIKeyRateLimiter(config RateLimiterConfig) fiber.Handler
- func NewRateLimiter(config RateLimiterConfig) fiber.Handler
- func OptionalAuthMiddleware(tokenService *service.TokenService) fiber.Handler
- func RateLimitByEndpoint() fiber.Handler
- func RequestLogger() fiber.Handler
- func RoleMiddleware(allowedRoles ...string) fiber.Handler
- func SetupCORS(cfg *config.CorsConfig) fiber.Handler
- func SetupRecover() fiber.Handler
- func SimpleCacheMiddleware(cacheManager *cache.Manager) fiber.Handler
- type RateLimiterConfig
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 ¶
CacheByRoute returns a cache middleware configured for specific route types
func CacheMiddleware ¶
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 InvalidateCache ¶
func InvalidateCache(cacheManager *cache.Manager, category cache.CacheCategory, pattern string) fiber.Handler
InvalidateCache invalidates cache for a specific pattern
func InvalidateCacheByPath ¶
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 ¶
RateLimitByEndpoint provides different rate limits for different endpoints
func RoleMiddleware ¶
RoleMiddleware checks if user has required role