package mutil

import "github.com/rs/zerolog/hlog/internal/mutil"

Package mutil contains various functions that are helpful when writing http middleware.

It has been vendored from Goji v1.0, with the exception of the code for Go 1.8: https://github.com/zenazn/goji/

Index

Types

type WriterProxy

type WriterProxy interface {
	http.ResponseWriter
	// Status returns the HTTP status of the request, or 0 if one has not
	// yet been sent.
	Status() int
	// BytesWritten returns the total number of bytes sent to the client.
	BytesWritten() int
	// Tee causes the response body to be written to the given io.Writer in
	// addition to proxying the writes through. Only one io.Writer can be
	// tee'd to at once: setting a second one will overwrite the first.
	// Writes will be sent to the proxy before being written to this
	// io.Writer. It is illegal for the tee'd writer to be modified
	// concurrently with writes.
	Tee(io.Writer)
	// Unwrap returns the original proxied target.
	Unwrap() http.ResponseWriter
}

WriterProxy is a proxy around an http.ResponseWriter that allows you to hook into various parts of the response process.

func WrapWriter

func WrapWriter(w http.ResponseWriter) WriterProxy

WrapWriter wraps an http.ResponseWriter, returning a proxy that allows you to hook into various parts of the response process.

Source Files

mutil.go writer_proxy.go

Version
v1.33.0 (latest)
Published
May 4, 2024
Platform
linux/amd64
Imports
4 packages
Last checked
6 hours ago

Tools for package owners.