o
    b                     @   s   d Z ddlZddlmZmZmZ G dd deZG dd deZG dd	 d	eZ	ej
d
ee deg ef ded fddZdS )z
HAProxy specific exceptions.
    N)Callable	GeneratorTypec                   @      e Zd ZdZdS )InvalidProxyHeaderz8
    The provided PROXY protocol header is invalid.
    N__name__
__module____qualname____doc__ r   r   G/usr/lib/python3/dist-packages/twisted/protocols/haproxy/_exceptions.pyr          r   c                   @   r   )InvalidNetworkProtocolzC
    The network protocol was not one of TCP4 TCP6 or UNKNOWN.
    Nr   r   r   r   r   r      r   r   c                   @   r   )MissingAddressDataz4
    The address data is missing or incomplete.
    Nr   r   r   r   r   r      r   r   
sourceType
targetTypereturn)NNNc              
   c   s6    zdV  W dS  | y } z|  |jd}~ww )aA  
    Convert an error into a different error type.

    @param sourceType: The type of exception that should be caught and
        converted.
    @type sourceType: L{BaseException}

    @param targetType: The type of exception to which the original should be
        converted.
    @type targetType: L{BaseException}
    N)with_traceback__traceback__)r   r   er   r   r   convertError   s   r   )r   
contextlibtypingr   r   r   	Exceptionr   r   r   contextmanagerBaseExceptionr   r   r   r   r   <module>   s   
