From bee34e7405570a34fa9cb02d4849643cda9be41e Mon Sep 17 00:00:00 2001 From: tamsin johnson Date: Thu, 25 Jan 2024 15:52:18 -0800 Subject: [PATCH] lets-go:6.3 more middleware --- snippetbox/cmd/web/middleware.go | 15 +++++++++++++++ snippetbox/cmd/web/routes.go | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/snippetbox/cmd/web/middleware.go b/snippetbox/cmd/web/middleware.go index 3cd0b1c..5a4e7e3 100644 --- a/snippetbox/cmd/web/middleware.go +++ b/snippetbox/cmd/web/middleware.go @@ -4,6 +4,21 @@ import ( "net/http" ) +// logRequest ... +func (app *application) logRequest(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + var ( + ip = r.RemoteAddr + proto = r.Proto + method = r.Method + uri = r.URL.RequestURI() + ) + + app.logger.Info("received request", "ip", ip, "proto", proto, "method", method, "uri", uri) + next.ServeHTTP(w, r) + }) +} + func secureHeaders(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Security-Policy", diff --git a/snippetbox/cmd/web/routes.go b/snippetbox/cmd/web/routes.go index 0641145..7736217 100644 --- a/snippetbox/cmd/web/routes.go +++ b/snippetbox/cmd/web/routes.go @@ -16,5 +16,5 @@ func (app *application) routes() http.Handler { mux.HandleFunc("/snippet/view", app.snippetView) mux.HandleFunc("/snippet/create", app.snippetCreate) - return secureHeaders(mux) + return app.logRequest(secureHeaders(mux)) }