Documentation
¶
Index ¶
- Constants
- func GetFullURL(req *http.Request) string
- func ParseContentLength(contentLength string) int64
- func TransformHeaders(header http.Header) [][2]string
- func TruncateValidationErrorMessage(msg string) string
- type Config
- type Consumer
- type PathInfo
- type Request
- type RequestLoggingConfig
- type RequestReader
- type Response
- type ResponseWriter
- func (w *ResponseWriter) Flush()
- func (w *ResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
- func (w *ResponseWriter) Push(target string, opts *http.PushOptions) error
- func (w *ResponseWriter) Size() int64
- func (w *ResponseWriter) Status() int
- func (w *ResponseWriter) Unwrap() http.ResponseWriter
- func (w *ResponseWriter) Write(b []byte) (int, error)
- func (w *ResponseWriter) WriteHeader(statusCode int)
Constants ¶
View Source
const (
MaxBodySize = 50_000 // 50 KB (uncompressed)
)
View Source
const Version = "0.0.0"
Variables ¶
This section is empty.
Functions ¶
func GetFullURL ¶ added in v0.5.0
func ParseContentLength ¶ added in v0.5.0
func TransformHeaders ¶ added in v0.5.0
func TruncateValidationErrorMessage ¶ added in v0.5.0
Types ¶
type Config ¶ added in v0.5.0
type Config struct {
ClientID string
Env string
AppVersion string
RequestLogging *RequestLoggingConfig
// For testing purposes
DisableSync bool
}
type Request ¶
type Request struct {
Timestamp float64 `json:"timestamp"`
Method string `json:"method"`
Path string `json:"path,omitempty"`
URL string `json:"url"`
Headers [][2]string `json:"headers"`
Size int64 `json:"size,omitempty"`
Consumer string `json:"consumer,omitempty"`
Body []byte `json:"body,omitempty"`
}
type RequestLoggingConfig ¶
type RequestLoggingConfig struct {
Enabled bool
LogQueryParams bool
LogRequestHeaders bool
LogRequestBody bool
LogResponseHeaders bool
LogResponseBody bool
LogPanic bool
CaptureLogs bool
CaptureTraces bool
MaskQueryParams []*regexp.Regexp
MaskHeaders []*regexp.Regexp
MaskBodyFields []*regexp.Regexp
MaskRequestBodyCallback func(request *Request) []byte
MaskResponseBodyCallback func(request *Request, response *Response) []byte
ExcludePaths []*regexp.Regexp
ExcludeCallback func(request *Request, response *Response) bool
}
func NewRequestLoggingConfig ¶ added in v0.8.0
func NewRequestLoggingConfig() *RequestLoggingConfig
type RequestReader ¶ added in v0.6.0
type RequestReader struct {
Reader io.ReadCloser
// contains filtered or unexported fields
}
func (*RequestReader) Close ¶ added in v0.6.0
func (rr *RequestReader) Close() error
func (*RequestReader) Read ¶ added in v0.6.0
func (rr *RequestReader) Read(p []byte) (n int, err error)
func (*RequestReader) Size ¶ added in v0.6.0
func (rr *RequestReader) Size() int64
type ResponseWriter ¶ added in v0.6.0
type ResponseWriter struct {
http.ResponseWriter
Body *bytes.Buffer
CaptureBody bool
IsSupportedContentType func(string) bool
// contains filtered or unexported fields
}
func (*ResponseWriter) Flush ¶ added in v0.6.0
func (w *ResponseWriter) Flush()
func (*ResponseWriter) Hijack ¶ added in v0.6.0
func (w *ResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)
func (*ResponseWriter) Push ¶ added in v0.6.0
func (w *ResponseWriter) Push(target string, opts *http.PushOptions) error
func (*ResponseWriter) Size ¶ added in v0.6.0
func (w *ResponseWriter) Size() int64
func (*ResponseWriter) Status ¶ added in v0.6.0
func (w *ResponseWriter) Status() int
func (*ResponseWriter) Unwrap ¶ added in v0.11.0
func (w *ResponseWriter) Unwrap() http.ResponseWriter
func (*ResponseWriter) Write ¶ added in v0.6.0
func (w *ResponseWriter) Write(b []byte) (int, error)
func (*ResponseWriter) WriteHeader ¶ added in v0.6.0
func (w *ResponseWriter) WriteHeader(statusCode int)
Click to show internal directories.
Click to hide internal directories.