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