responsewriter

package
v0.66.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2026 License: BSD-3-Clause, AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PassthroughWriter

type PassthroughWriter struct {
	http.ResponseWriter
}

PassthroughWriter wraps an http.ResponseWriter and preserves optional interfaces like Hijacker, Flusher, and Pusher by delegating to the underlying ResponseWriter if it supports them.

This is the standard pattern for Go middleware that needs to wrap ResponseWriter while maintaining support for protocol upgrades (WebSocket), streaming (Flusher), and HTTP/2 server push.

func New

New creates a new wrapper around the given ResponseWriter.

func (*PassthroughWriter) Flush

func (w *PassthroughWriter) Flush()

Flush implements http.Flusher interface if the underlying ResponseWriter supports it.

func (*PassthroughWriter) Hijack

func (w *PassthroughWriter) Hijack() (net.Conn, *bufio.ReadWriter, error)

Hijack implements http.Hijacker interface if the underlying ResponseWriter supports it. This is required for WebSocket connections and other protocol upgrades.

func (*PassthroughWriter) Push

func (w *PassthroughWriter) Push(target string, opts *http.PushOptions) error

Push implements http.Pusher interface if the underlying ResponseWriter supports it.

func (*PassthroughWriter) Unwrap

Unwrap returns the underlying ResponseWriter. This is required for http.ResponseController (Go 1.20+) to work correctly.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL