Documentation
¶
Index ¶
- func BasicHealthHandler(serviceName, serviceVersion string) gin.HandlerFunc
- func CircuitBreakerHealthHandler(cbm *circuitbreaker.CircuitBreakerManager) gin.HandlerFunc
- func DetailedHealthHandler(stack *MiddlewareStack) gin.HandlerFunc
- func LivenessHandler(stack *MiddlewareStack) gin.HandlerFunc
- func ReadinessHandler(stack *MiddlewareStack) gin.HandlerFunc
- func RequestValidationMiddleware(logger *logrus.Logger) gin.HandlerFunc
- func SecurityHeadersMiddleware() gin.HandlerFunc
- func SecurityMetricsMiddleware(metricsMiddleware *metrics.MetricsMiddleware) gin.HandlerFunc
- func TenantContextMiddleware(logger *logrus.Logger, required bool) gin.HandlerFunc
- type MiddlewareStack
- func DefaultMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack
- func DevelopmentMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack
- func ProductionMiddlewareStack(logrusLogger *logrus.Logger, serviceName, serviceVersion string) *MiddlewareStack
- func (ms *MiddlewareStack) ApplyHealthCheckRoutes(router *gin.Engine)
- func (ms *MiddlewareStack) ApplyMiddlewares(router *gin.Engine)
- func (ms *MiddlewareStack) ApplySecurityMiddlewares(router *gin.Engine)
- func (ms *MiddlewareStack) DisableAll() *MiddlewareStack
- func (ms *MiddlewareStack) EnableAll() *MiddlewareStack
- func (ms *MiddlewareStack) GetStats() map[string]interface{}
- func (ms *MiddlewareStack) Initialize() error
- func (ms *MiddlewareStack) Shutdown() error
- func (ms *MiddlewareStack) WithEnvironment(env string) *MiddlewareStack
- func (ms *MiddlewareStack) WithRedis(client *redis.Client) *MiddlewareStack
- func (ms *MiddlewareStack) WithServiceInfo(name, version string) *MiddlewareStack
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