utilgo.mau.fi/util/requestlog Index | Files

package requestlog

import "go.mau.fi/util/requestlog"

Index

Constants

const MaxRequestSizeLog = 4 * 1024
const MaxStringRequestSizeLog = MaxRequestSizeLog / 2

Functions

func AccessLogger

func AccessLogger(logOptions bool) func(http.Handler) http.Handler

func CutRequestData

func CutRequestData(data []byte, length int) []byte

Types

type CountingResponseWriter

type CountingResponseWriter struct {
	StatusCode     int
	ResponseLength int
	Hijacked       bool
	ResponseWriter http.ResponseWriter
	ResponseBody   *bytes.Buffer
	RequestBody    *bytes.Buffer
}

func (*CountingResponseWriter) Header

func (crw *CountingResponseWriter) Header() http.Header

func (*CountingResponseWriter) Hijack

func (crw *CountingResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)

func (*CountingResponseWriter) Write

func (crw *CountingResponseWriter) Write(data []byte) (int, error)

func (*CountingResponseWriter) WriteHeader

func (crw *CountingResponseWriter) WriteHeader(statusCode int)

type Route

type Route struct {
	Path    string
	Method  string
	Handler http.HandlerFunc

	TrackHTTPMetrics func(*Route) func(*CountingResponseWriter)

	LogContent bool
}

func (*Route) ServeHTTP

func (rt *Route) ServeHTTP(w http.ResponseWriter, r *http.Request)

Source Files

accesslogger.go countingresponsewriter.go route.go

Version
v0.8.6 (latest)
Published
Mar 16, 2025
Platform
linux/amd64
Imports
11 packages
Last checked
1 week ago

Tools for package owners.