From 52b4d44b4b276f586ca0bb3e3c607cbec6e2ab2a Mon Sep 17 00:00:00 2001 From: Adrien PONSIN Date: Thu, 17 Apr 2025 15:19:19 +0200 Subject: [PATCH] remove comments and add the container name --- command/serve.go | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/command/serve.go b/command/serve.go index 0670a64..ec33d4d 100644 --- a/command/serve.go +++ b/command/serve.go @@ -151,7 +151,7 @@ func (ph *ProxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { log.Debug().Str("remote_addr", r.RemoteAddr).Str("method", r.Method).Str("path", r.URL.Path).Msg("incoming request") mr, ok := containerMethodRegex["*"] if ok { - if ph.checkMethodAndRegex(r, mr) { + if ph.checkMethodAndRegex(mr, r, "") { ph.rp.ServeHTTP(w, r) return } @@ -168,7 +168,7 @@ func (ph *ProxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } for _, resolvedIP := range resolvedIPs { if resolvedIP.Equal(net.ParseIP(host)) { - if ph.checkMethodAndRegex(r, mr) { + if ph.checkMethodAndRegex(mr, r, containerName) { authorized = true break } @@ -203,23 +203,18 @@ func logAuthorizedRequest(r *http.Request, containerName, message string) { l.Msg(message) } -func (ph *ProxyHandler) checkMethodAndRegex(r *http.Request, mr methodRegex) bool { +func (ph *ProxyHandler) checkMethodAndRegex(mr methodRegex, r *http.Request, containerName string) bool { req, ok := mr[r.Method] if !ok { logDeniedRequest(r, http.StatusMethodNotAllowed, "this HTTP method is not in the list of those authorized for this container") return false - // http.Error(w, http.StatusText(http.StatusMethodNotAllowed), http.StatusMethodNotAllowed) - // return } if !req.MatchString(r.URL.Path) { logDeniedRequest(r, http.StatusForbidden, "this path does not match any regular expression for this HTTP method") return false - // http.Error(w, http.StatusText(http.StatusForbidden), http.StatusForbidden) - // return } - logAuthorizedRequest(r, "", "incoming request matches a registered regular expression") + logAuthorizedRequest(r, containerName, "incoming request matches a registered regular expression") return true - // ph.rp.ServeHTTP(w, r) } // action is executed when the ServeCmd command is called.