Current File : //usr/lib/python3/dist-packages/twisted/protocols/haproxy/__pycache__/_interfaces.cpython-312.pyc |
�
Ϫ�ff � � � d Z ddlmZmZ ddlZ G d� dej j � Z G d� dej j � Z y)z0
Interfaces used by the PROXY protocol modules.
� )�Tuple�UnionNc � � e Zd ZdZej
j
d� Zej
j
d� Zej
j
d� Z y)�
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� interface� Attribute�header�source�destination� � �G/usr/lib/python3/dist-packages/twisted/protocols/haproxy/_interfaces.pyr r
sV � �� �^�^�
%�
%�F��F� �^�^�
%�
%� ��F� �.�.�*�*� "��Kr r c �J � e Zd ZdZdedeeeef ed f fd�Zdedefd�Z y) �IProxyParserz?
Streaming parser that handles PROXY protocol headers.
�data�return)NNc � � y)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 )r s r �feedzIProxyParser.feed$ � � r �linec � � y)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 s r �parsezIProxyParser.parse3 r r N)
r r r r
�bytesr r r r r r r r r r sF � ��
�5�
�U�5��U�):�#;�U�:�=N�#N�O�
��E� �j� r r )
r
�typingr r �zope.interfacer r � Interfacer r r r r �<module>r"