class documentation

PROXY protocol version one header parser.

Version one of the PROXY protocol is a human readable format represented by a single, newline delimited binary string that contains all of the relevant source and destination data.

Class Method parse Parse a bytestring as a full PROXY protocol header line.
Method __init__ Undocumented
Method feed Consume a chunk of data and attempt to parse it.
Constant ALLOWED_NET_PROTOS Undocumented
Constant NEWLINE Undocumented
Constant PROXYSTR Undocumented
Constant TCP4_PROTO Undocumented
Constant TCP6_PROTO Undocumented
Constant UNKNOWN_PROTO Undocumented
Instance Variable buffer Undocumented

Parse a bytestring as a full PROXY protocol header line.

Parameters
line:bytesA bytestring that represents a valid HAProxy PROXY protocol header line.
Returns
_info.ProxyInfoA _interfaces.IProxyInfo containing the parsed data.
Raises
InvalidProxyHeaderIf the bytestring does not represent a valid PROXY header.
InvalidNetworkProtocolWhen no protocol can be parsed or is not one of the allowed values.
MissingAddressDataWhen the protocol is TCP* but the header does not contain a complete set of addresses and ports.
def __init__(self): (source)

Undocumented

Consume a chunk of data and attempt to parse it.

Parameters
data:bytesA bytestring.
Returns
Union[Tuple[_info.ProxyInfo, bytes], Tuple[None, None]]A two-tuple containing, in order, a _interfaces.IProxyInfo and any bytes fed to the parser that followed the end of the header. Both of these values are None until a complete header is parsed.
Raises
InvalidProxyHeaderIf the bytes fed to the parser create an invalid PROXY header.
ALLOWED_NET_PROTOS = (source)

Undocumented

Value
(TCP4_PROTO, TCP6_PROTO, UNKNOWN_PROTO)

Undocumented

Value
b'''\r
'''

Undocumented

Value
b'PROXY'
TCP4_PROTO: bytes = (source)

Undocumented

Value
b'TCP4'
TCP6_PROTO: bytes = (source)

Undocumented

Value
b'TCP6'
UNKNOWN_PROTO: bytes = (source)

Undocumented

Value
b'UNKNOWN'

Undocumented