Documentation
¶
Index ¶
- Constants
- func AuthMiddleware() gin.HandlerFunc
- func CORS() gin.HandlerFunc
- func LoggerMiddleware() gin.HandlerFunc
- func NoMethodHandler() gin.HandlerFunc
- func NoRouteHandler() gin.HandlerFunc
- func RateLimiter() gin.HandlerFunc
- func RecoveryHandler(ctx *gin.Context)
- func RequestID() gin.HandlerFunc
- func TraceMiddleware() gin.HandlerFunc
Constants ¶
const ( HeaderTraceID = "X-Trace-Id" HeaderCorrelationID = "X-Correlation-Id" HeaderRequestID = "X-Request-Id" )
Header names for trace and correlation IDs (configurable via options if needed)
Variables ¶
This section is empty.
Functions ¶
func AuthMiddleware ¶
func AuthMiddleware() gin.HandlerFunc
AuthMiddleware validates JWT token from Authorization header
func CORS ¶
func CORS() gin.HandlerFunc
func LoggerMiddleware ¶ added in v0.1.7
func LoggerMiddleware() gin.HandlerFunc
LoggerMiddleware logs HTTP request details including method, path, status code, latency, and client IP
func NoMethodHandler ¶
func NoMethodHandler() gin.HandlerFunc
func NoRouteHandler ¶
func NoRouteHandler() gin.HandlerFunc
func RateLimiter ¶ added in v0.1.7
func RateLimiter() gin.HandlerFunc
RateLimiter returns a rate limiting middleware
func RecoveryHandler ¶
func RequestID ¶ added in v0.2.1
func RequestID() gin.HandlerFunc
RequestID returns Gin middleware that ensures a request/correlation ID on every request. It reads X-Request-ID or X-Trace-ID from headers; generates a new UUID if missing. The ID is stored in context (trace_id and correlation_id) so logger.WithContext and LoggerMiddleware include it in structured logs. Response headers X-Request-ID and X-Trace-ID are set for client correlation.
func TraceMiddleware ¶ added in v0.1.11
func TraceMiddleware() gin.HandlerFunc
TraceMiddleware injects trace_id and correlation_id into the request context so they appear in structured logs. It reads X-Trace-Id and X-Correlation-Id from incoming headers, or X-Request-Id as fallback for trace ID. If no trace ID is provided, one is generated. Downstream handlers and the logger middleware can use the request context to get these values.
Types ¶
This section is empty.