fix(logging): track Codex backend request IDs

This commit is contained in:
shoucandanghehe
2026-06-10 01:05:09 +08:00
parent 44ea9abced
commit e1864fbf33
2 changed files with 42 additions and 0 deletions
+1
View File
@@ -26,6 +26,7 @@ var aiAPIPrefixes = []string{
"/v1/responses",
"/v1beta/models/",
"/api/provider/",
"/backend-api/codex",
}
const (
+41
View File
@@ -73,3 +73,44 @@ func TestIsAIAPIPathIncludesImages(t *testing.T) {
t.Fatalf("expected /v1/videos/video_123 to be treated as AI API path")
}
}
func TestIsAIAPIPathIncludesCodexBackend(t *testing.T) {
paths := []string{
"/backend-api/codex/responses",
"/backend-api/codex/responses/compact",
}
for _, path := range paths {
if !isAIAPIPath(path) {
t.Fatalf("expected %s to be treated as AI API path", path)
}
}
}
func TestGinLogrusLoggerAddsRequestIDForCodexBackend(t *testing.T) {
gin.SetMode(gin.TestMode)
engine := gin.New()
engine.Use(GinLogrusLogger())
var requestIDFromContext string
var requestIDFromGin string
engine.POST("/backend-api/codex/responses", func(c *gin.Context) {
requestIDFromContext = GetRequestID(c.Request.Context())
requestIDFromGin = GetGinRequestID(c)
c.Status(http.StatusOK)
})
req := httptest.NewRequest(http.MethodPost, "/backend-api/codex/responses", nil)
recorder := httptest.NewRecorder()
engine.ServeHTTP(recorder, req)
if recorder.Code != http.StatusOK {
t.Fatalf("expected 200, got %d", recorder.Code)
}
if requestIDFromContext == "" {
t.Fatalf("expected request ID in request context")
}
if requestIDFromGin != requestIDFromContext {
t.Fatalf("expected Gin request ID %q to match context request ID %q", requestIDFromGin, requestIDFromContext)
}
}