Add (optional) debug logging for console requests (#3440)

* Add (optional) debug logging for console requests
* Check vulnerabilities with 1.22.7
This commit is contained in:
Ramon de Klein
2024-09-20 10:21:28 +02:00
committed by GitHub
parent 1c47685aea
commit 6cfc985337
4 changed files with 131 additions and 2 deletions

View File

@@ -17,10 +17,13 @@
package logger
import (
"bufio"
"bytes"
"context"
"errors"
"fmt"
"io"
"net"
"net/http"
"strconv"
"sync/atomic"
@@ -35,6 +38,7 @@ import (
type ResponseWriter struct {
http.ResponseWriter
StatusCode int
Hijacked bool
// Log body of 4xx or 5xx responses
LogErrBody bool
// Log body of all responses
@@ -61,6 +65,15 @@ func NewResponseWriter(w http.ResponseWriter) *ResponseWriter {
}
}
func (lrw *ResponseWriter) Hijack() (conn net.Conn, rw *bufio.ReadWriter, err error) {
hijack, ok := lrw.ResponseWriter.(http.Hijacker)
if !ok {
return nil, nil, errors.New("base response writer doesn't implement hijacker")
}
lrw.Hijacked = true
return hijack.Hijack()
}
func (lrw *ResponseWriter) Write(p []byte) (int, error) {
if !lrw.headersLogged {
// We assume the response code to be '200 OK' when WriteHeader() is not called,