File: //usr/lib/python3/dist-packages/twisted/protocols/haproxy/__pycache__/_interfaces.cpython-38.pyc
U
W[ � @ s8 d Z ddlZG dd� dejj�ZG dd� dejj�ZdS )z0
Interfaces used by the PROXY protocol modules.
� Nc @ s4 e Zd ZdZej�d�Zej�d�Zej�d�Z dS )�
IProxyInfoz8
Data container for PROXY protocol header data.
z<The raw byestring that represents the PROXY protocol header.zNAn L{twisted.internet.interfaces.IAddress} representing the connection source.zSAn L{twisted.internet.interfaces.IAddress} representing the connection destination.N)
�__name__�
__module__�__qualname__�__doc__�zope� interfaceZ Attribute�header�sourceZdestination� r r �G/usr/lib/python3/dist-packages/twisted/protocols/haproxy/_interfaces.pyr s ���r c @ s e Zd ZdZdd� Zdd� ZdS )�IProxyParserz?
Streaming parser that handles PROXY protocol headers.
c C s dS )a�
Consume a chunk of data and attempt to parse it.
@param data: A bytestring.
@type data: bytes
@return: A two-tuple containing, in order, an L{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 InvalidProxyHeader: If the bytes fed to the parser create an
invalid PROXY header.
Nr )�self�datar r r �feed$ s zIProxyParser.feedc C s dS )az
Parse a bytestring as a full PROXY protocol header line.
@param line: A bytestring that represents a valid HAProxy PROXY
protocol header line.
@type line: bytes
@return: An L{IProxyInfo} containing the parsed data.
@raises InvalidProxyHeader: If the bytestring does not represent a
valid PROXY header.
Nr )r �liner r r �parse4 s zIProxyParser.parseN)r r r r r r r r r r r
s r
)r Zzope.interfacer r Z Interfacer r
r r r r �<module> s