middleware

package
v0.0.0-...-2defda7 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2025 License: MIT Imports: 22 Imported by: 0

Documentation

Index

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

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

Jump to

Keyboard shortcuts

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