@marcel91200 / caddy Mirror · read-only / commits / ffd28be9
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 12, 08:15 UTC

rewrite: Only serialize request if necessary (#6541)

* Prevents serializing the caddy request if log level is not debug. * Extracts message to const.

Alexander Stecher committed Aug 30, 2024 at 16:46 UTC ffd28be90ab85206474739b1f479ef49a6f0d7c3
1 file changed +7 -1
modules/caddyhttp/rewrite/rewrite.go
+7 -1
@@ -131,6 +131,12 @@ func (rewr *Rewrite) Provision(ctx caddy.Context) error {
131
132 func (rewr Rewrite) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error {
133 repl := r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer)
134 + const message = "rewrote request"
135 +
136 + if rewr.logger.Check(zap.DebugLevel, message) == nil {
137 + rewr.Rewrite(r, repl)
138 + return next.ServeHTTP(w, r)
139 + }
140
141 logger := rewr.logger.With(
142 zap.Object("request", caddyhttp.LoggableHTTPRequest{Request: r}),
@@ -139,7 +145,7 @@ func (rewr Rewrite) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddy
145 changed := rewr.Rewrite(r, repl)
146
147 if changed {
142 - logger.Debug("rewrote request",
148 + logger.Debug(message,
149 zap.String("method", r.Method),
150 zap.String("uri", r.RequestURI),
151 )