From aa79bc76098a44b7ca4c004cb251a9106fde2835 Mon Sep 17 00:00:00 2001 From: Andrew Keesler Date: Thu, 18 Mar 2021 10:14:11 -0400 Subject: [PATCH] internal/concierge/impersonator: ensure log statement is printed When the frontend connection to our proxy is closed, the proxy falls through to a panic(), which means the HTTP handler goroutine is killed, so we were not seeing this log statement. Signed-off-by: Andrew Keesler --- internal/concierge/impersonator/impersonator.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/concierge/impersonator/impersonator.go b/internal/concierge/impersonator/impersonator.go index 6e5ef6cc..a95dc770 100644 --- a/internal/concierge/impersonator/impersonator.go +++ b/internal/concierge/impersonator/impersonator.go @@ -270,6 +270,7 @@ func newImpersonationReverseProxyFunc(restConfig *rest.Config) (func(*genericapi } plog.Debug("impersonation proxy servicing request", "method", r.Method, "url", r.URL.String()) + defer plog.Debug("impersonation proxy finished servicing request", "method", r.Method, "url", r.URL.String()) plog.Trace("impersonation proxy servicing request was for user", "method", r.Method, "url", r.URL.String(), "username", userInfo.GetName(), // this info leak seems fine for trace level logs ) @@ -278,8 +279,6 @@ func newImpersonationReverseProxyFunc(restConfig *rest.Config) (func(*genericapi reverseProxy.Transport = rt reverseProxy.FlushInterval = 200 * time.Millisecond // the "watch" verb will not work without this line reverseProxy.ServeHTTP(w, r) - - plog.Debug("impersonation proxy finished servicing request", "method", r.Method, "url", r.URL.String()) }) }, nil }