Files
counter/internal/delivery/http/middleware/metrics.go
aovantsev 73ed514a34
All checks were successful
continuous-integration/drone/push Build is passing
refactor
2025-10-10 19:56:06 +03:00

22 lines
455 B
Go

package middleware
import (
"time"
"counter/internal/infrastructure/metrics"
"github.com/gin-gonic/gin"
)
// MetricsMiddleware creates a Gin middleware for HTTP metrics
func MetricsMiddleware(metricsService metrics.MetricsService) gin.HandlerFunc {
return func(c *gin.Context) {
start := time.Now()
c.Next()
duration := time.Since(start)
metricsService.RecordHTTPRequest(c.Request.Method, c.FullPath(), c.Writer.Status(), duration)
}
}