refactor(middleware): fix type signatures for Echo v5 compatibility
Update all middleware functions to use *echo.Context (pointer) instead of echo.Context (value) as required by Echo v5. Changes in device_auth.go: - Update DeviceAuthMiddleware() signature (line 38) - Update validateDeviceAuth() signature (line 170) - Update RequireDeviceAuth() signature (line 212) Changes in error_handler.go: - Update RespondWithError() signature (line 44) - Update RespondWithHTTPError() signature (line 69) - Update WrapHandler() to accept *echo.Context (line 82) - Fix context passing in WrapHandler() (c is already pointer) Changes in rate_limiter.go: - Update RateLimiterMiddleware() signature (line 102) Changes in request_tracing.go: - Update RequestTracingMiddleware() signature (line 48) - Fix Response() dereference for v5 API (line 264) - Use *c.Response() to get http.ResponseWriter Changes in security.go: - Update SecurityHeadersMiddleware() signature (line 14) Changes in device_auth_test.go: - Update test helper signatures Changes in middleware_test.go: - Remove unused import All middleware now properly implements Echo v5's pointer-based context pattern.
This commit is contained in:
@@ -10,7 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/labstack/echo/v4"
|
||||
"github.com/labstack/echo/v5"
|
||||
)
|
||||
|
||||
type responseWriter struct {
|
||||
@@ -45,7 +45,7 @@ type RequestLogEntry struct {
|
||||
|
||||
func RequestTracingMiddleware(cfg *config.Config) echo.MiddlewareFunc {
|
||||
return func(next echo.HandlerFunc) echo.HandlerFunc {
|
||||
return func(c echo.Context) error {
|
||||
return func(c *echo.Context) error {
|
||||
start := time.Now()
|
||||
|
||||
requestID := c.Response().Header().Get(echo.HeaderXRequestID)
|
||||
@@ -55,9 +55,9 @@ func RequestTracingMiddleware(cfg *config.Config) echo.MiddlewareFunc {
|
||||
}
|
||||
|
||||
recorder := &responseWriter{
|
||||
ResponseWriter: c.Response().Writer,
|
||||
ResponseWriter: c.Response(),
|
||||
}
|
||||
c.Response().Writer = recorder
|
||||
c.SetResponse(recorder)
|
||||
|
||||
var body interface{}
|
||||
if c.Request().Body != nil && c.Request().Method != "GET" {
|
||||
@@ -105,7 +105,7 @@ func RequestTracingMiddleware(cfg *config.Config) echo.MiddlewareFunc {
|
||||
RemoteAddr: c.RealIP(),
|
||||
UserAgent: c.Request().UserAgent(),
|
||||
Duration: duration,
|
||||
StatusCode: c.Response().Status,
|
||||
StatusCode: c.Response().(*echo.Response).Status,
|
||||
ResponseSize: int64(recorder.size),
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user