proxyprotocol.v1

class proxyprotocol.v1.ProxyProtocolV1[source]

Implements version 1 of the PROXY protocol.

is_valid(signature)[source]

Returns True if the signature is valid for this implementation of the PROXY protocol header.

Parameters:

signature (bytes) – The signature bytestring to check.

Return type:

bool

unpack(data)[source]

Parse a PROXY protocol header from the given bytestring and return information about the original connection.

Parameters:

data (bytes) – The bytestring read for the header thus far.

Raises:
Return type:

ProxyResult

unpack_line(data)[source]

Parse the PROXY protocol v1 header line.

Parameters:

data (bytes) – The bytestring to parse.

Return type:

ProxyResult

pack(result)[source]

Builds a PROXY protocol header that may be sent at the beginning of an outbound, client-side connection to indicate the original information about the connection.

Parameters:

result (ProxyResult) – The PROXY protocol result to build into a header.

Raises:
  • KeyError – This PROXY protocol header format does not support the socket information.

  • ValueError – The address data could not be written to the PROXY protocol header format.

Return type:

bytes