go1.20.5
GoThrough

httputil.ErrClosed

// Deprecated: No longer used. var ErrClosed = &http.ProtocolError{ErrorString: "connection closed by user"}

httputil.ErrLineTooLong

// ErrLineTooLong is returned when reading malformed chunked data // with lines that are too long. var ErrLineTooLong = internal.ErrLineTooLong

httputil.ErrPersistEOF

// Deprecated: No longer used. var ErrPersistEOF = &http.ProtocolError{ErrorString: "persistent connection closed"}

httputil.ErrPipeline

// Deprecated: No longer used. var ErrPipeline = &http.ProtocolError{ErrorString: "pipeline error"}

httputil.BufferPool

// A BufferPool is an interface for getting and returning temporary // byte slices for use by io.CopyBuffer. type BufferPool interface { Get() []byte Put([]byte) }

httputil.DumpRequest

// DumpRequest returns the given request in its HTTP/1.x wire // representation. It should only be used by servers to debug client // requests. The returned representation is an approximation only; // some details of the initial request are lost while parsing it into // an http.Request. In particular, the order and case of header field // names are lost. The order of values in multi-valued headers is kept // intact. HTTP/2 requests are dumped in HTTP/1.x form, not in their // original binary representations. // // If body is true, DumpRequest also returns the body. To do so, it // consumes req.Body and then replaces it with a new io.ReadCloser // that yields the same bytes. If DumpRequest returns an error, // the state of req is undefined. // // The documentation for http.Request.Write details which fields // of req are included in the dump. func DumpRequest(req *http.Request, body bool) ([]byte, error)

httputil.DumpRequestOut

// DumpRequestOut is like DumpRequest but for outgoing client requests. It // includes any headers that the standard http.Transport adds, such as // User-Agent. func DumpRequestOut(req *http.Request, body bool) ([]byte, error)

httputil.DumpResponse

// DumpResponse is like DumpRequest but dumps a response. func DumpResponse(resp *http.Response, body bool) ([]byte, error)

httputil.NewChunkedReader

// NewChunkedReader returns a new chunkedReader that translates the data read from r // out of HTTP "chunked" format before returning it. // The chunkedReader returns io.EOF when the final 0-length chunk is read. // // NewChunkedReader is not needed by normal applications. The http package // automatically decodes chunking when reading response bodies. func NewChunkedReader(r io.Reader) io.Reader

httputil.NewChunkedWriter

// NewChunkedWriter returns a new chunkedWriter that translates writes into HTTP // "chunked" format before writing them to w. Closing the returned chunkedWriter // sends the final 0-length chunk that marks the end of the stream but does // not send the final CRLF that appears after trailers; trailers and the last // CRLF must be written separately. // // NewChunkedWriter is not needed by normal applications. The http // package adds chunking automatically if handlers don't set a // Content-Length header. Using NewChunkedWriter inside a handler // would result in double chunking or chunking with a Content-Length // length, both of which are wrong. func NewChunkedWriter(w io.Writer) io.WriteCloser

httputil.NewClientConn

// NewClientConn is an artifact of Go's early HTTP implementation. // It is low-level, old, and unused by Go's current HTTP stack. // We should have deleted it before Go 1. // // Deprecated: Use the Client or Transport in package net/http instead. func NewClientConn(c net.Conn, r *bufio.Reader) *ClientConn

httputil.NewProxyClientConn

// NewProxyClientConn is an artifact of Go's early HTTP implementation. // It is low-level, old, and unused by Go's current HTTP stack. // We should have deleted it before Go 1. // // Deprecated: Use the Client or Transport in package net/http instead. func NewProxyClientConn(c net.Conn, r *bufio.Reader) *ClientConn

httputil.NewServerConn

// NewServerConn is an artifact of Go's early HTTP implementation. // It is low-level, old, and unused by Go's current HTTP stack. // We should have deleted it before Go 1. // // Deprecated: Use the Server in package net/http instead. func NewServerConn(c net.Conn, r *bufio.Reader) *ServerConn

httputil.NewSingleHostReverseProxy

// NewSingleHostReverseProxy returns a new ReverseProxy that routes // URLs to the scheme, host, and base path provided in target. If the // target's path is "/base" and the incoming request was for "/dir", // the target request will be for /base/dir. // // NewSingleHostReverseProxy does not rewrite the Host header. // // To customize the ReverseProxy behavior beyond what // NewSingleHostReverseProxy provides, use ReverseProxy directly // with a Rewrite function. The ProxyRequest SetURL method // may be used to route the outbound request. (Note that SetURL, // unlike NewSingleHostReverseProxy, rewrites the Host header // of the outbound request by default.) // // proxy := &ReverseProxy{ // Rewrite: func(r *ProxyRequest) { // r.SetURL(target) // r.Out.Host = r.In.Host // if desired // } // } func NewSingleHostReverseProxy(target *url.URL) *ReverseProxy