Documentation
¶
Index ¶
- type AuthMiddleware
- type MetricsHandler
- type MetricsMiddleware
- type Middleware
- func (m *Middleware) Authenticate(c *gin.Context)
- func (m *Middleware) AuthenticateAdmin(c *gin.Context)
- func (m *Middleware) CORS() gin.HandlerFunc
- func (m *Middleware) IgnoreFavicon() gin.HandlerFunc
- func (m *Middleware) Logger() gin.HandlerFunc
- func (m *Middleware) Metrics() gin.HandlerFunc
- func (m *Middleware) Recovery() gin.HandlerFunc
- func (m *Middleware) SecurityHeaders() gin.HandlerFunc
- func (m *Middleware) SetMetricsMiddleware(metricsMiddleware *MetricsMiddleware)
- func (m *Middleware) Tracing() gin.HandlerFunc
- type RateLimitMiddleware
- type RecoveryMiddleware
- type SecurityMiddleware
- type TracingMiddleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthMiddleware ¶
type AuthMiddleware struct {
// contains filtered or unexported fields
}
AuthMiddleware gerencia middlewares de autenticação
func NewAuthMiddleware ¶
func NewAuthMiddleware(authService *auth.AuthService, logger *zap.Logger) *AuthMiddleware
NewAuthMiddleware cria uma nova instância do middleware de autenticação
func (*AuthMiddleware) Authenticate ¶
func (m *AuthMiddleware) Authenticate(c *gin.Context)
Authenticate verifica se o usuário está autenticado
func (*AuthMiddleware) AuthenticateAdmin ¶
func (m *AuthMiddleware) AuthenticateAdmin(c *gin.Context)
AuthenticateAdmin verifica se o usuário é um administrador
type MetricsHandler ¶
type MetricsHandler struct {
Metrics *metrics.APIMetrics
Logger *zap.Logger
}
MetricsHandler gerencia os endpoints de métricas
func NewMetricsHandler ¶
func NewMetricsHandler(metrics *metrics.APIMetrics, logger *zap.Logger) *MetricsHandler
NewMetricsHandler cria um novo handler de métricas
func (*MetricsHandler) GetMetrics ¶
func (h *MetricsHandler) GetMetrics() *metrics.APIMetrics
GetMetrics retorna o objeto APIMetrics para uso em outras partes da aplicação
func (*MetricsHandler) RegisterEndpoint ¶
func (h *MetricsHandler) RegisterEndpoint(router *gin.Engine)
RegisterEndpoint registra o endpoint para expor métricas do Prometheus
type MetricsMiddleware ¶
type MetricsMiddleware struct {
// contains filtered or unexported fields
}
MetricsMiddleware fornece middleware para coletar métricas
func NewMetricsMiddleware ¶
func NewMetricsMiddleware(metrics *metrics.APIMetrics, logger *zap.Logger) *MetricsMiddleware
NewMetricsMiddleware cria um novo middleware de métricas
func (*MetricsMiddleware) Middleware ¶
func (m *MetricsMiddleware) Middleware() gin.HandlerFunc
Middleware registra métricas para cada requisição
type Middleware ¶
type Middleware struct {
// contains filtered or unexported fields
}
Middleware contém todos os middlewares da aplicação
func NewMiddleware ¶
func NewMiddleware(logger *zap.Logger, authService *auth.AuthService, apiMetrics *metrics.APIMetrics) *Middleware
NewMiddleware cria um novo conjunto de middlewares
func (*Middleware) Authenticate ¶
func (m *Middleware) Authenticate(c *gin.Context)
Authenticate middleware para autenticação de usuários
func (*Middleware) AuthenticateAdmin ¶
func (m *Middleware) AuthenticateAdmin(c *gin.Context)
AuthenticateAdmin middleware para autenticação de administradores
func (*Middleware) CORS ¶
func (m *Middleware) CORS() gin.HandlerFunc
CORS middleware para configurar CORS
func (*Middleware) IgnoreFavicon ¶
func (m *Middleware) IgnoreFavicon() gin.HandlerFunc
IgnoreFavicon é um middleware que ignora requisições para /favicon.ico
func (*Middleware) Logger ¶
func (m *Middleware) Logger() gin.HandlerFunc
Logger middleware para logging de requisições
func (*Middleware) Metrics ¶
func (m *Middleware) Metrics() gin.HandlerFunc
Metrics retorna o middleware de métricas
func (*Middleware) Recovery ¶
func (m *Middleware) Recovery() gin.HandlerFunc
Recovery middleware para recuperação de pânicos
func (*Middleware) SecurityHeaders ¶
func (m *Middleware) SecurityHeaders() gin.HandlerFunc
SecurityHeaders middleware para adicionar cabeçalhos de segurança
func (*Middleware) SetMetricsMiddleware ¶
func (m *Middleware) SetMetricsMiddleware(metricsMiddleware *MetricsMiddleware)
SetMetricsMiddleware configura o middleware de métricas
func (*Middleware) Tracing ¶
func (m *Middleware) Tracing() gin.HandlerFunc
Tracing retorna o middleware de tracing
type RateLimitMiddleware ¶
type RateLimitMiddleware struct {
// contains filtered or unexported fields
}
RateLimitMiddleware gerencia rate limiting
func NewRateLimitMiddleware ¶
func NewRateLimitMiddleware(limiter *ratelimit.RedisLimiter, metrics *metrics.APIMetrics, logger *zap.Logger) *RateLimitMiddleware
NewRateLimitMiddleware cria um novo middleware de rate limiting
func (*RateLimitMiddleware) APIRateLimit ¶
func (m *RateLimitMiddleware) APIRateLimit(limit int, period time.Duration) gin.HandlerFunc
APIRateLimit limita requisições para uma API específica
func (*RateLimitMiddleware) IPRateLimit ¶
func (m *RateLimitMiddleware) IPRateLimit() gin.HandlerFunc
IPRateLimit limita requisições por IP
func (*RateLimitMiddleware) UserRateLimit ¶
func (m *RateLimitMiddleware) UserRateLimit() gin.HandlerFunc
UserRateLimit limita requisições por usuário (requer autenticação)
type RecoveryMiddleware ¶
type RecoveryMiddleware struct {
// contains filtered or unexported fields
}
RecoveryMiddleware implementa recuperação de pânicos
func NewRecoveryMiddleware ¶
func NewRecoveryMiddleware(logger *zap.Logger) *RecoveryMiddleware
NewRecoveryMiddleware cria um novo middleware de recuperação
func (*RecoveryMiddleware) Recovery ¶
func (m *RecoveryMiddleware) Recovery() gin.HandlerFunc
Recovery recupera de pânicos com logs detalhados
type SecurityMiddleware ¶
type SecurityMiddleware struct {
// contains filtered or unexported fields
}
SecurityMiddleware implementa proteções de segurança
func NewSecurityMiddleware ¶
func NewSecurityMiddleware(logger *zap.Logger) *SecurityMiddleware
NewSecurityMiddleware cria uma nova instância do middleware de segurança
func (*SecurityMiddleware) CORS ¶
func (m *SecurityMiddleware) CORS() gin.HandlerFunc
CORS configura Cross-Origin Resource Sharing
func (*SecurityMiddleware) Headers ¶
func (m *SecurityMiddleware) Headers() gin.HandlerFunc
Headers adiciona cabeçalhos de segurança
type TracingMiddleware ¶
type TracingMiddleware struct {
// contains filtered or unexported fields
}
TracingMiddleware fornece rastreamento de requisições
func NewTracingMiddleware ¶
func NewTracingMiddleware(logger *zap.Logger, serviceName string) *TracingMiddleware
NewTracingMiddleware cria um novo middleware de rastreamento
func (*TracingMiddleware) Middleware ¶
func (m *TracingMiddleware) Middleware() gin.HandlerFunc
Middleware inicia um span para cada requisição HTTP