Imports #
"net/textproto"
"strings"
"net"
"strings"
"unicode/utf8"
"golang.org/x/net/idna"
"net/textproto"
"strings"
"net"
"strings"
"unicode/utf8"
"golang.org/x/net/idna"
var badTrailer = map[string]bool{...}
var isTokenTable = [256]bool{...}
See the validHostHeader comment.
var validHostByte = [256]bool{...}
HeaderValuesContainsToken reports whether any string in values contains the provided token, ASCII case-insensitively.
func HeaderValuesContainsToken(values []string, token string) bool
func IsTokenRune(r rune) bool
PunycodeHostPort returns the IDNA Punycode version of the provided "host" or "host:port" string.
func PunycodeHostPort(v string) (string, error)
ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name. HTTP/2 imposes the additional restriction that uppercase ASCII letters are not allowed. RFC 7230 says: header-field = field-name ":" OWS field-value OWS field-name = token token = 1*tchar tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
func ValidHeaderFieldName(v string) bool
ValidHeaderFieldValue reports whether v is a valid "field-value" according to
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :
message-header = field-name ":" [ field-value ]
field-value = *( field-content | LWS )
field-content =
func ValidHeaderFieldValue(v string) bool
ValidHostHeader reports whether h is a valid host header.
func ValidHostHeader(h string) bool
ValidTrailerHeader reports whether name is a valid header field name to appear in trailers. See RFC 7230, Section 4.1.2
func ValidTrailerHeader(name string) bool
headerValueContainsToken reports whether v (assumed to be a 0#element, in the ABNF extension described in RFC 7230 section 7) contains token amongst its comma-separated tokens, ASCII case-insensitively.
func headerValueContainsToken(v string, token string) bool
func isASCII(s string) bool
isCTL reports whether b is a control byte, according
to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
CTL =
func isCTL(b byte) bool
isLWS reports whether b is linear white space, according to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 LWS = [CRLF] 1*( SP | HT )
func isLWS(b byte) bool
isOWS reports whether b is an optional whitespace byte, as defined by RFC 7230 section 3.2.3.
func isOWS(b byte) bool
lowerASCII returns the ASCII lowercase version of b.
func lowerASCII(b byte) byte
tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively.
func tokenEqual(t1 string, t2 string) bool
trimOWS returns x with all optional whitespace removes from the beginning and end.
func trimOWS(x string) string
Generated with Arrow