Skip to main content

Crate pingora_http

Crate pingora_http 

Source
Expand description

HTTP header objects that preserve http header cases

Although HTTP header names are supposed to be case-insensitive for compatibility, proxies ideally shouldn’t alter the HTTP traffic, especially the headers they don’t need to read.

This crate provide structs and methods to preserve the headers in order to build a transparent proxy.

Modules§

authority
Request-target authority classification.
prelude

Structs§

HMap
A specialized multimap for header names and values.
Method
The Request Method (VERB)
RequestHeader
The HTTP request header type.
ResponseHeader
The HTTP response header type.
StatusCode
An HTTP status code (status-code in RFC 9110 et al.).
Version
Represents a version of the HTTP spec.

Enums§

HeaderNameVariant

Traits§

IntoCaseHeaderName
A trait that converts into case-sensitive header names.

Functions§

header_value_from_raw
Build a HeaderValue from owned bytes, normalizing the value per RFC 9110 section 5.5 and RFC 9112 section 5.2: obs-fold continuations collapse to a single SP, and any stray CR / LF / NUL is replaced with SP. Zero-copy when the input contains no CR/LF/NUL.
header_value_from_slice
Build a HeaderValue from a borrowed slice, normalizing obs-fold per RFC 9112 section 5.2. The slice is copied into an owned buffer.