**refactor(middleware): extract request logging logic and optimize condition checks**

- Added `shouldLogRequest` helper to simplify path-based request logging logic.
- Updated middleware to skip management endpoints for improved security.
- Introduced an explicit `nil` logger check for minimal overhead.
- Updated dependencies in `go.mod`.

**feat(auth): add handling for 404 response with retry logic**

- Introduced support for 404 `not_found` status with a 12-hour backoff period.
- Updated `manager.go` to align state and status messages for 404 scenarios.

**refactor(translator): comment out debug logging in Gemini responses request**
This commit is contained in:
Luis Pater
2025-11-20 22:18:16 +08:00
parent 93fa1d1802
commit db81331ae8
5 changed files with 78 additions and 63 deletions

View File

@@ -19,13 +19,13 @@ import (
// logger, the middleware has minimal overhead.
func RequestLoggingMiddleware(logger logging.RequestLogger) gin.HandlerFunc {
return func(c *gin.Context) {
path := c.Request.URL.Path
shouldLog := false
if strings.HasPrefix(path, "/v1") {
shouldLog = true
if logger == nil {
c.Next()
return
}
if !shouldLog {
path := c.Request.URL.Path
if !shouldLogRequest(path) {
c.Next()
return
}
@@ -101,3 +101,13 @@ func captureRequestInfo(c *gin.Context) (*RequestInfo, error) {
Body: body,
}, nil
}
// shouldLogRequest determines whether the request should be logged.
// It skips management endpoints to avoid leaking secrets but allows
// all other routes, including module-provided ones, to honor request-log.
func shouldLogRequest(path string) bool {
if strings.HasPrefix(path, "/v0/management") || strings.HasPrefix(path, "/management") {
return false
}
return true
}