1
0
Fork 0

Merge current v3.1 into master

This commit is contained in:
mmatur 2024-08-29 10:09:18 +02:00
commit 8dc9607db7
No known key found for this signature in database
GPG key ID: 2FFE42FC256CFF8E
50 changed files with 159 additions and 128 deletions

View file

@ -199,7 +199,7 @@ func TestLoggerHeaderFields(t *testing.T) {
if config.FilePath != "" {
_, err = os.Stat(config.FilePath)
require.NoError(t, err, fmt.Sprintf("logger should create %s", config.FilePath))
require.NoErrorf(t, err, "logger should create %s", config.FilePath)
}
req := &http.Request{
@ -704,7 +704,7 @@ func assertValidLogData(t *testing.T, expected string, logData []byte) {
t.Helper()
if len(expected) == 0 {
assert.Zero(t, len(logData))
assert.Empty(t, logData)
t.Log(string(logData))
return
}
@ -761,7 +761,7 @@ func doLoggingTLSOpt(t *testing.T, config *types.AccessLog, enableTLS bool) {
if config.FilePath != "" {
_, err = os.Stat(config.FilePath)
require.NoError(t, err, fmt.Sprintf("logger should create %s", config.FilePath))
require.NoErrorf(t, err, "logger should create %s", config.FilePath)
}
req := &http.Request{

View file

@ -128,9 +128,9 @@ func (fa *forwardAuth) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
forwardReq, err := http.NewRequestWithContext(req.Context(), http.MethodGet, fa.address, nil)
if err != nil {
logMessage := fmt.Sprintf("Error calling %s. Cause %s", fa.address, err)
logger.Debug().Msg(logMessage)
observability.SetStatusErrorf(req.Context(), logMessage)
logger.Debug().Msgf("Error calling %s. Cause %s", fa.address, err)
observability.SetStatusErrorf(req.Context(), "Error calling %s. Cause %s", fa.address, err)
rw.WriteHeader(http.StatusInternalServerError)
return
}
@ -152,9 +152,8 @@ func (fa *forwardAuth) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
forwardResponse, forwardErr := fa.client.Do(forwardReq)
if forwardErr != nil {
logMessage := fmt.Sprintf("Error calling %s. Cause: %s", fa.address, forwardErr)
logger.Debug().Msg(logMessage)
observability.SetStatusErrorf(forwardReq.Context(), logMessage)
logger.Debug().Msgf("Error calling %s. Cause: %s", fa.address, forwardErr)
observability.SetStatusErrorf(req.Context(), "Error calling %s. Cause: %s", fa.address, forwardErr)
rw.WriteHeader(http.StatusInternalServerError)
return
@ -163,9 +162,8 @@ func (fa *forwardAuth) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
body, readError := io.ReadAll(forwardResponse.Body)
if readError != nil {
logMessage := fmt.Sprintf("Error reading body %s. Cause: %s", fa.address, readError)
logger.Debug().Msg(logMessage)
observability.SetStatusErrorf(forwardReq.Context(), logMessage)
logger.Debug().Msgf("Error reading body %s. Cause: %s", fa.address, readError)
observability.SetStatusErrorf(req.Context(), "Error reading body %s. Cause: %s", fa.address, readError)
rw.WriteHeader(http.StatusInternalServerError)
return
@ -199,9 +197,8 @@ func (fa *forwardAuth) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
if err != nil {
if !errors.Is(err, http.ErrNoLocation) {
logMessage := fmt.Sprintf("Error reading response location header %s. Cause: %s", fa.address, err)
logger.Debug().Msg(logMessage)
observability.SetStatusErrorf(forwardReq.Context(), logMessage)
logger.Debug().Msgf("Error reading response location header %s. Cause: %s", fa.address, err)
observability.SetStatusErrorf(req.Context(), "Error reading response location header %s. Cause: %s", fa.address, err)
rw.WriteHeader(http.StatusInternalServerError)
return

View file

@ -95,9 +95,8 @@ func (c *CompressionHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request)
compressionWriter, err := newCompressionWriter(c.cfg.Algorithm, rw)
if err != nil {
logger := middlewares.GetLogger(r.Context(), c.cfg.MiddlewareName, typeName)
logMessage := fmt.Sprintf("create compression handler: %v", err)
logger.Debug().Msg(logMessage)
observability.SetStatusErrorf(r.Context(), logMessage)
logger.Debug().Msgf("Create compression handler: %v", err)
observability.SetStatusErrorf(r.Context(), "Create compression handler: %v", err)
rw.WriteHeader(http.StatusInternalServerError)
return
}

View file

@ -70,8 +70,8 @@ func (c *customErrors) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
logger := middlewares.GetLogger(req.Context(), c.name, typeName)
if c.backendHandler == nil {
logger.Error().Msg("Error pages: no backend handler.")
observability.SetStatusErrorf(req.Context(), "Error pages: no backend handler.")
logger.Error().Msg("No backend handler.")
observability.SetStatusErrorf(req.Context(), "No backend handler.")
c.next.ServeHTTP(rw, req)
return
}
@ -95,8 +95,8 @@ func (c *customErrors) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
pageReq, err := newRequest("http://" + req.Host + query)
if err != nil {
logger.Error().Err(err).Send()
observability.SetStatusErrorf(req.Context(), err.Error())
logger.Error().Msgf("Unable to create error page request: %v", err)
observability.SetStatusErrorf(req.Context(), "Unable to create error page request: %v", err)
http.Error(rw, http.StatusText(code), code)
return
}

View file

@ -76,9 +76,8 @@ func (al *ipAllowLister) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
clientIP := al.strategy.GetIP(req)
err := al.allowLister.IsAuthorized(clientIP)
if err != nil {
msg := fmt.Sprintf("Rejecting IP %s: %v", clientIP, err)
logger.Debug().Msg(msg)
observability.SetStatusErrorf(req.Context(), msg)
logger.Debug().Msgf("Rejecting IP %s: %v", clientIP, err)
observability.SetStatusErrorf(req.Context(), "Rejecting IP %s: %v", clientIP, err)
reject(ctx, al.rejectStatusCode, rw)
return
}

View file

@ -66,9 +66,8 @@ func (wl *ipWhiteLister) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
clientIP := wl.strategy.GetIP(req)
err := wl.whiteLister.IsAuthorized(clientIP)
if err != nil {
msg := fmt.Sprintf("Rejecting IP %s: %v", clientIP, err)
logger.Debug().Msg(msg)
observability.SetStatusErrorf(req.Context(), msg)
logger.Debug().Msgf("Rejecting IP %s: %v", clientIP, err)
observability.SetStatusErrorf(req.Context(), "Rejecting IP %s: %v", clientIP, err)
reject(ctx, rw)
return
}

View file

@ -319,7 +319,7 @@ func TestPassTLSClientCert_PEM(t *testing.T) {
res := httptest.NewRecorder()
req := testhelpers.MustNewRequest(http.MethodGet, "http://example.com/foo", nil)
if test.certContents != nil && len(test.certContents) > 0 {
if len(test.certContents) > 0 {
req.TLS = buildTLSWith(test.certContents)
}
@ -541,7 +541,7 @@ func TestPassTLSClientCert_certInfo(t *testing.T) {
res := httptest.NewRecorder()
req := testhelpers.MustNewRequest(http.MethodGet, "http://example.com/foo", nil)
if test.certContents != nil && len(test.certContents) > 0 {
if len(test.certContents) > 0 {
req.TLS = buildTLSWith(test.certContents)
}

View file

@ -51,8 +51,8 @@ func (r *replacePath) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
var err error
req.URL.Path, err = url.PathUnescape(req.URL.RawPath)
if err != nil {
middlewares.GetLogger(context.Background(), r.name, typeName).Error().Err(err).Send()
observability.SetStatusErrorf(req.Context(), err.Error())
middlewares.GetLogger(context.Background(), r.name, typeName).Error().Msgf("Unable to unescape url raw path %q: %v", req.URL.RawPath, err)
observability.SetStatusErrorf(req.Context(), "Unable to unescape url raw path %q: %v", req.URL.RawPath, err)
http.Error(rw, err.Error(), http.StatusInternalServerError)
return
}

View file

@ -62,8 +62,8 @@ func (rp *replacePathRegex) ServeHTTP(rw http.ResponseWriter, req *http.Request)
var err error
req.URL.Path, err = url.PathUnescape(req.URL.RawPath)
if err != nil {
middlewares.GetLogger(context.Background(), rp.name, typeName).Error().Err(err).Send()
observability.SetStatusErrorf(req.Context(), err.Error())
middlewares.GetLogger(context.Background(), rp.name, typeName).Error().Msgf("Unable to unescape url raw path %q: %v", req.URL.RawPath, err)
observability.SetStatusErrorf(req.Context(), "Unable to unescape url raw path %q: %v", req.URL.RawPath, err)
http.Error(rw, err.Error(), http.StatusInternalServerError)
return
}