middleware

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BasicHealthHandler

func BasicHealthHandler(serviceName, serviceVersion string) gin.HandlerFunc

BasicHealthHandler handler básico de health check

func CircuitBreakerHealthHandler added in v1.0.1

func CircuitBreakerHealthHandler(cbm *circuitbreaker.CircuitBreakerManager) gin.HandlerFunc

CircuitBreakerHealthHandler handler para estado del circuit breaker

func DetailedHealthHandler

func DetailedHealthHandler(stack *MiddlewareStack) gin.HandlerFunc

DetailedHealthHandler handler detallado de health check

func LivenessHandler

func LivenessHandler(stack *MiddlewareStack) gin.HandlerFunc

LivenessHandler handler de liveness check

func ReadinessHandler

func ReadinessHandler(stack *MiddlewareStack) gin.HandlerFunc

ReadinessHandler handler de readiness check

func RequestValidationMiddleware

func RequestValidationMiddleware(logger *logrus.Logger) gin.HandlerFunc

RequestValidationMiddleware valida requests básicos

func SecurityHeadersMiddleware

func SecurityHeadersMiddleware() gin.HandlerFunc

SecurityHeadersMiddleware añade headers de seguridad

func SecurityMetricsMiddleware

func SecurityMetricsMiddleware(metricsMiddleware *metrics.MetricsMiddleware) gin.HandlerFunc

SecurityMetricsMiddleware registra métricas de seguridad

func TenantContextMiddleware

func TenantContextMiddleware(logger *logrus.Logger, required bool) gin.HandlerFunc

TenantContextMiddleware middleware que extrae información del tenant

Types

type MiddlewareStack

type MiddlewareStack struct {
	// Core components
	Logger           *logrus.Logger
	ContextualLogger logger.Logger
	RedisClient      *redis.Client

	// Configurations
	CORSConfig           *cors.Config
	LoggingConfig        *logging.LoggingConfig
	RateLimitConfig      *ratelimit.RateLimitConfig
	CircuitBreakerConfig *circuitbreaker.Config
	RecoveryConfig       *recovery.RecoveryConfig

	// Components - updated to use real interfaces
	PrometheusMetrics      *metrics.PrometheusMetrics
	MetricsMiddleware      *middlewaremetrics.MetricsMiddleware
	CircuitBreakerMgr      *circuitbreaker.CircuitBreakerManager
	RecoveryStatsCollector *recovery.RecoveryStatsCollector

	// Settings
	EnableCORS           bool
	EnableLogging        bool
	EnableMetrics        bool
	EnableRateLimit      bool
	EnableCircuitBreaker bool
	EnableRecovery       bool
	EnableTenantContext  bool

	// Environment
	Environment    string // "development", "staging", "production"
	ServiceName    string
	ServiceVersion string
}

MiddlewareStack configuración completa del stack de middlewares actualizado

func DefaultMiddlewareStack

func DefaultMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack

DefaultMiddlewareStack retorna configuración por defecto actualizada

func DevelopmentMiddlewareStack

func DevelopmentMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack

DevelopmentMiddlewareStack configuración para desarrollo

func ProductionMiddlewareStack

func ProductionMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack

ProductionMiddlewareStack configuración para producción

func (*MiddlewareStack) ApplyHealthCheckRoutes

func (ms *MiddlewareStack) ApplyHealthCheckRoutes(router *gin.Engine)

ApplyHealthCheckRoutes añade rutas de health check

func (*MiddlewareStack) ApplyMiddlewares

func (ms *MiddlewareStack) ApplyMiddlewares(router *gin.Engine)

ApplyMiddlewares aplica todos los middlewares al router

func (*MiddlewareStack) ApplySecurityMiddlewares

func (ms *MiddlewareStack) ApplySecurityMiddlewares(router *gin.Engine)

ApplySecurityMiddlewares aplica middlewares de seguridad adicionales

func (*MiddlewareStack) DisableAll

func (ms *MiddlewareStack) DisableAll() *MiddlewareStack

DisableAll deshabilita todos los middlewares

func (*MiddlewareStack) EnableAll

func (ms *MiddlewareStack) EnableAll() *MiddlewareStack

EnableAll habilita todos los middlewares

func (*MiddlewareStack) GetStats

func (ms *MiddlewareStack) GetStats() map[string]interface{}

GetStats retorna estadísticas del stack completo

func (*MiddlewareStack) Initialize

func (ms *MiddlewareStack) Initialize() error

Initialize inicializa todos los componentes del stack

func (*MiddlewareStack) Shutdown

func (ms *MiddlewareStack) Shutdown() error

Shutdown limpia recursos del stack

func (*MiddlewareStack) WithEnvironment

func (ms *MiddlewareStack) WithEnvironment(env string) *MiddlewareStack

WithEnvironment configura el entorno

func (*MiddlewareStack) WithRedis

func (ms *MiddlewareStack) WithRedis(client *redis.Client) *MiddlewareStack

WithRedis configura Redis para el stack

func (*MiddlewareStack) WithServiceInfo

func (ms *MiddlewareStack) WithServiceInfo(name, version string) *MiddlewareStack

WithServiceInfo configura información del servicio

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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