From faa296075f5ea2d8e01004b46b036997f9529d99 Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Sun, 26 May 2024 22:06:44 +0200 Subject: Clean out Get/SetRequestLogger from apiutil --- src/http/middleware.go | 58 ++++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 28 deletions(-) (limited to 'src/http/middleware.go') diff --git a/src/http/middleware.go b/src/http/middleware.go index 7a34e83..d8f2e6e 100644 --- a/src/http/middleware.go +++ b/src/http/middleware.go @@ -10,7 +10,6 @@ import ( "time" "dev.mediocregopher.com/mediocre-blog.git/src/cache" - "dev.mediocregopher.com/mediocre-blog.git/src/http/apiutil" "dev.mediocregopher.com/mediocre-go-lib.git/mctx" "dev.mediocregopher.com/mediocre-go-lib.git/mlog" ) @@ -35,7 +34,7 @@ func addResponseHeadersMiddleware(headers map[string]string) middleware { } } -func setLoggerMiddleware(logger *mlog.Logger) middleware { +func setLogCtxMiddleware() middleware { return func(h http.Handler) http.Handler { return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { @@ -60,7 +59,6 @@ func setLoggerMiddleware(logger *mlog.Logger) middleware { } r = r.WithContext(ctx) - r = apiutil.SetRequestLogger(r, logger) h.ServeHTTP(rw, r) }) } @@ -86,40 +84,44 @@ func (rw *wrappedResponseWriter) WriteHeader(statusCode int) { rw.ResponseWriter.WriteHeader(statusCode) } -func logReqMiddleware(h http.Handler) http.Handler { +func logReqMiddleware(logger *mlog.Logger) func(h http.Handler) http.Handler { type logCtxKey string - return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { + return func(h http.Handler) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { - wrw := newWrappedResponseWriter(rw) + wrw := newWrappedResponseWriter(rw) - started := time.Now() - h.ServeHTTP(wrw, r) - took := time.Since(started) + started := time.Now() + h.ServeHTTP(wrw, r) + took := time.Since(started) - ctx := r.Context() - ctx = mctx.Annotate(ctx, - logCtxKey("took"), took.String(), - logCtxKey("response_code"), wrw.statusCode, - ) + ctx := r.Context() + ctx = mctx.Annotate(ctx, + logCtxKey("took"), took.String(), + logCtxKey("response_code"), wrw.statusCode, + ) - apiutil.GetRequestLogger(r).Info(ctx, "handled HTTP request") - }) + logger.Info(ctx, "handled HTTP request") + }) + } } -func disallowGetMiddleware(h http.Handler) http.Handler { - return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { +func disallowGetMiddleware(logger *mlog.Logger) func(h http.Handler) http.Handler { + return func(h http.Handler) http.Handler { + return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { - // we allow websockets to be GETs because, well, they must be - if r.Method != "GET" || r.Header.Get("Upgrade") == "websocket" { - h.ServeHTTP(rw, r) - return - } + // we allow websockets to be GETs because, well, they must be + if r.Method != "GET" || r.Header.Get("Upgrade") == "websocket" { + h.ServeHTTP(rw, r) + return + } - apiutil.GetRequestLogger(r).WarnString(r.Context(), "method not allowed") - rw.WriteHeader(405) - }) + logger.WarnString(r.Context(), "method not allowed") + rw.WriteHeader(405) + }) + } } type cacheResponseWriter struct { @@ -188,7 +190,7 @@ func cacheMiddleware(cache cache.Cache, publicURL *url.URL) middleware { } } -func purgeCacheOnOKMiddleware(cache cache.Cache) middleware { +func purgeCacheOnOKMiddleware(logger *mlog.Logger, cache cache.Cache) middleware { return func(h http.Handler) http.Handler { return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { @@ -196,7 +198,7 @@ func purgeCacheOnOKMiddleware(cache cache.Cache) middleware { h.ServeHTTP(wrw, r) if wrw.statusCode == 200 { - apiutil.GetRequestLogger(r).Info(r.Context(), "purging cache!") + logger.Info(r.Context(), "purging cache!") cache.Purge() } }) -- cgit v1.2.3