o
    RÊÆhœ
  ã                   @   sä   d Z ddlmZ ddlmZmZ ddlmZ dZG dd„ de	ƒZ
G d	d
„ d
e
ƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )z"Low-level http related exceptions.é    )Úindent)ÚOptionalÚUnioné   )Ú_CIMultiDict)ÚHttpProcessingErrorc                	   @   sd   e Zd ZdZdZdZdZddddœdee de	dee
 d	dfd
d„Zd	e	fdd„Zd	e	fdd„ZdS )r   zèHTTP error.

    Shortcut for raising HTTP errors with custom code, message and headers.

    code: HTTP Error code.
    message: (optional) Error message.
    headers: (optional) Headers to be sent in response, a list of pairs
    r   Ú N)ÚcodeÚmessageÚheadersr	   r
   r   Úreturnc                C   s   |d ur|| _ || _|| _d S )N)r	   r   r
   )Úselfr	   r
   r   © r   úd/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/aiohttp/http_exceptions.pyÚ__init__   s   
zHttpProcessingError.__init__c                 C   s   t | jdƒ}| j› d|› �S )Nz  z, message:
)r   r
   r	   )r   Úmsgr   r   r   Ú__str__&   s   zHttpProcessingError.__str__c                 C   s    d| j j› d| j› d| j›d�S )Nú<z: z
, message=ú>)Ú	__class__Ú__name__r	   r
   )r   r   r   r   Ú__repr__*   s    zHttpProcessingError.__repr__)r   Ú
__module__Ú__qualname__Ú__doc__r	   r
   r   r   ÚintÚstrr   r   r   r   r   r   r   r   r      s&    	ûýüû
úr   c                       s<   e Zd ZdZdZddœdedee ddf‡ fdd	„Z‡  Z	S )
ÚBadHttpMessageé�  úBad RequestN)r   r
   r   r   c                   s   t ƒ j||d� |f| _d S )N)r
   r   ©Úsuperr   Úargs)r   r
   r   ©r   r   r   r   3   s   zBadHttpMessage.__init__)
r   r   r   r	   r
   r   r   r   r   Ú__classcell__r   r   r#   r   r   .   s    ,r   c                   @   s   e Zd ZdZdZdS )ÚHttpBadRequestr   r   N)r   r   r   r	   r
   r   r   r   r   r%   8   s    r%   c                   @   ó   e Zd ZdZdS )ÚPayloadEncodingErrorzBase class for payload errorsN©r   r   r   r   r   r   r   r   r'   >   ó    r'   c                   @   r&   )ÚContentEncodingErrorzContent encoding error.Nr(   r   r   r   r   r*   B   r)   r*   c                   @   r&   )ÚTransferEncodingErrorztransfer encoding error.Nr(   r   r   r   r   r+   F   r)   r+   c                   @   r&   )ÚContentLengthErrorz2Not enough data for satisfy content length header.Nr(   r   r   r   r   r,   J   r)   r,   c                	       s2   e Zd Z	d	dedededdf‡ fdd„Z‡  ZS )
ÚLineTooLongÚUnknownÚlineÚlimitÚactual_sizer   Nc              	      s0   t ƒ  d|› d|› d|› d�¡ |||f| _d S )NzGot more than z bytes (z) when reading Ú.r    )r   r/   r0   r1   r#   r   r   r   O   s   ÿzLineTooLong.__init__)r.   r.   )r   r   r   r   r   r$   r   r   r#   r   r-   N   s    ÿÿÿÿþr-   c                       s.   e Zd Zdeeef ddf‡ fdd„Z‡  ZS )ÚInvalidHeaderÚhdrr   Nc                    s>   t |tƒr|jdd�n|}tƒ  d|›�¡ || _|f| _d S )NÚbackslashreplace)ÚerrorszInvalid HTTP header: )Ú
isinstanceÚbytesÚdecoder!   r   r4   r"   )r   r4   Úhdr_sr#   r   r   r   Y   s   zInvalidHeader.__init__)r   r   r   r   r8   r   r   r$   r   r   r#   r   r3   X   s    &r3   c                       s0   e Zd Zddedee ddf‡ fdd„Z‡  ZS )	ÚBadStatusLiner   Nr/   Úerrorr   c                    s:   t |tƒs	t|ƒ}tƒ  |pd|›�¡ |f| _|| _d S )NzBad status line )r7   r   Úreprr!   r   r"   r/   )r   r/   r<   r#   r   r   r   a   s
   

zBadStatusLine.__init__)r   N)r   r   r   r   r   r   r$   r   r   r#   r   r;   `   s    (r;   c                   @   s   e Zd ZdS )ÚInvalidURLErrorN)r   r   r   r   r   r   r   r>   i   s    r>   N)r   Útextwrapr   Útypingr   r   Útypedefsr   Ú__all__Ú	Exceptionr   r   r%   r'   r*   r+   r,   r-   r3   r;   r>   r   r   r   r   Ú<module>   s     "

	