diff --git a/cmd/start.go b/cmd/start.go index c098bb1..c68eb02 100644 --- a/cmd/start.go +++ b/cmd/start.go @@ -51,13 +51,13 @@ var startCmd = &cobra.Command{ // Create middleware stack stack := middleware.CreateStack( - middleware.Recovery(), // Catch all panics - middleware.TimeoutMiddleware(32*time.Second), // Set request timeout - middleware.RequestID(), // Generate a unique request ID - middleware.MaxBodySize(1024*1024), // 1MB size limit - middleware.SecureHeaders, // Set secure headers - middleware.Logging, // Log requests with structured logging - authConfig.Middleware(), // OIDC authentication middleware + middleware.Recovery(), // Catch all panics + middleware.Timeout(32*time.Second), // Set request timeout + middleware.RequestID(), // Generate a unique request ID + middleware.MaxBodySize(1024*1024), // 1MB size limit + middleware.SecureHeaders, // Set secure headers + middleware.Logging, // Log requests with structured logging + authConfig.Middleware(), // OIDC authentication middleware ) // Create HTTP server diff --git a/internal/middleware/timeout.go b/internal/middleware/timeout.go index 77f789f..ac86364 100644 --- a/internal/middleware/timeout.go +++ b/internal/middleware/timeout.go @@ -6,13 +6,13 @@ import ( "time" ) -// TimeoutMiddleware is necessary in addition to http.Server's ReadTimeout, +// Timeout is necessary in addition to http.Server's ReadTimeout, // WriteTimeout, and IdleTimeout. http.Server's timeouts are network-level // timeouts, while this middleware's timeout is at the application level. // TODO: Verify this statement -// TimeoutMiddleware sets a timeout for each request -func TimeoutMiddleware(duration time.Duration) Middleware { +// Timeout sets a timeout for each request +func Timeout(duration time.Duration) Middleware { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Create a context with a timeout