Documentation
¶
Index ¶
- Constants
- Variables
- func CanonicalizeContentType(contentType string) string
- func DecodeBinaryHeader(data string) ([]byte, error)
- func DelHeaderCanonical(h http.Header, key string)
- func EncodeBinaryHeader(data []byte) string
- func GetHeaderCanonical(h http.Header, key string) string
- func MergeHeaders(into, from http.Header)
- func MergeNonProtocolHeaders(into, from http.Header)
- func SetHeaderCanonical(h http.Header, key, value string)
Constants ¶
const ( HeaderContentType = "Content-Type" HeaderContentEncoding = "Content-Encoding" HeaderContentLength = "Content-Length" HeaderHost = "Host" HeaderUserAgent = "User-Agent" HeaderTrailer = "Trailer" HeaderDate = "Date" )
const ( ConnectUnaryHeaderCompression = "Content-Encoding" ConnectUnaryHeaderAcceptCompression = "Accept-Encoding" ConnectUnaryTrailerPrefix = "Trailer-" ConnectStreamingHeaderCompression = "Connect-Content-Encoding" ConnectStreamingHeaderAcceptCompression = "Connect-Accept-Encoding" ConnectHeaderTimeout = "Connect-Timeout-Ms" ConnectHeaderProtocolVersion = "Connect-Protocol-Version" ConnectProtocolVersion = "1" )
const ( GRPCHeaderCompression = "Grpc-Encoding" GRPCHeaderAcceptCompression = "Grpc-Accept-Encoding" GRPCHeaderTimeout = "Grpc-Timeout" GRPCHeaderStatus = "Grpc-Status" GRPCHeaderMessage = "Grpc-Message" GRPCHeaderDetails = "Grpc-Status-Details-Bin" )
Variables ¶
var ProtocolHeaders = map[string]struct{}{ HeaderContentType: {}, HeaderContentLength: {}, HeaderContentEncoding: {}, HeaderHost: {}, HeaderUserAgent: {}, HeaderTrailer: {}, HeaderDate: {}, ConnectUnaryHeaderAcceptCompression: {}, ConnectUnaryTrailerPrefix: {}, ConnectStreamingHeaderCompression: {}, ConnectStreamingHeaderAcceptCompression: {}, ConnectHeaderTimeout: {}, ConnectHeaderProtocolVersion: {}, GRPCHeaderCompression: {}, GRPCHeaderAcceptCompression: {}, GRPCHeaderTimeout: {}, GRPCHeaderStatus: {}, GRPCHeaderMessage: {}, GRPCHeaderDetails: {}, }
Functions ¶
func CanonicalizeContentType ¶
func DecodeBinaryHeader ¶
DecodeBinaryHeader base64-decodes the data. It can decode padded or unpadded values. Following usual HTTP semantics, multiple base64-encoded values may be joined with a comma. When receiving such comma-separated values, split them with strings.Split before calling DecodeBinaryHeader.
Binary headers sent using the Connect, gRPC, and gRPC-Web protocols have keys ending in "-Bin".
func DelHeaderCanonical ¶
delHeaderCanonical is a shortcut for Header.Del() which bypasses the CanonicalMIMEHeaderKey operation when we know the key is already in canonical form.
func EncodeBinaryHeader ¶
EncodeBinaryHeader base64-encodes the data. It always emits unpadded values.
In the Connect, gRPC, and gRPC-Web protocols, binary headers must have keys ending in "-Bin".
func GetHeaderCanonical ¶
getHeaderCanonical is a shortcut for Header.Get() which bypasses the CanonicalMIMEHeaderKey operation when we know the key is already in canonical form.
func MergeHeaders ¶
func MergeNonProtocolHeaders ¶
mergeNonProtocolHeaders merges headers excluding protocol headers defined in protocolHeaders.
func SetHeaderCanonical ¶
setHeaderCanonical is a shortcut for Header.Set() which bypasses the CanonicalMIMEHeaderKey operation when we know the key is already in canonical form.
Types ¶
This section is empty.