debug: add request logging to diagnose claude.ai connector auth
All checks were successful
CD / Lint / Test / Vet (push) Successful in 5s
CD / Build & Import (push) Successful in 12s
CD / Deploy via GitOps (push) Successful in 3s

Logs method, path, origin, has_auth, user_agent per request so we can
see exactly what claude.ai sends. Temporary; remove once root cause found.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mathias Bergqvist
2026-05-09 13:41:50 +02:00
parent 3784bcc31b
commit 70173875d8

View File

@@ -57,11 +57,25 @@ func main() {
Sessions: mcp.NewSessionStore(),
})
logReq := func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
hasAuth := r.Header.Get("Authorization") != ""
logger.Info("request",
"method", r.Method,
"path", r.URL.Path,
"origin", r.Header.Get("Origin"),
"has_auth", hasAuth,
"user_agent", r.Header.Get("User-Agent"),
)
next.ServeHTTP(w, r)
})
}
mux := http.NewServeMux()
mux.Handle("/mcp", mcp.OriginAllowlist(cfg.OriginAllowlist)(
mux.Handle("/mcp", logReq(mcp.OriginAllowlist(cfg.OriginAllowlist)(
auth.BearerMiddleware(cfg.GiteaBaseURL,
auth.CallerMiddleware(mcpSrv),
),
)),
))
mux.HandleFunc("/healthz", func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)