a
    }3e
                     @   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                   @   s^   e Zd ZdZdZdZdZddddee e	ee
 ddddZe	d	d
dZe	d	ddZdS )r   zHTTP 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headers)r	   r
   r   returnc                C   s   |d ur|| _ || _|| _d S )N)r	   r   r
   )selfr	   r
   r    r   J/home/pi/bot/my_env/lib/python3.9/site-packages/aiohttp/http_exceptions.py__init__   s    zHttpProcessingError.__init__)r   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                       s8   e Zd ZdZdZddeee dd 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                   @   s   e Zd ZdZdS )PayloadEncodingErrorzBase class for payload errorsNr   r   r   r   r   r   r   r   r&   >   s   r&   c                   @   s   e Zd ZdZdS )ContentEncodingErrorzContent encoding error.Nr'   r   r   r   r   r(   B   s   r(   c                   @   s   e Zd ZdZdS )TransferEncodingErrorztransfer encoding error.Nr'   r   r   r   r   r)   F   s   r)   c                   @   s   e Zd ZdZdS )ContentLengthErrorz2Not enough data for satisfy content length header.Nr'   r   r   r   r   r*   J   s   r*   c                       s*   e Zd Zdeeedd fddZ  ZS )LineTooLongUnknownN)linelimitactual_sizer   c              	      s0   t  d| d| d| d |||f| _d S )NzGot more than z bytes (z) when reading .r    )r   r-   r.   r/   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eeef dd fddZ  ZS )InvalidHeaderN)hdrr   c                    s:   t |tr|dd}t d|  || _|f| _d S )Nzutf-8surrogateescapezInvalid HTTP Header: )
isinstancebytesdecoder!   r   r2   r"   )r   r2   r#   r   r   r   Y   s
    
zInvalidHeader.__init__)r   r   r   r   r5   r   r   r$   r   r   r#   r   r1   X   s   r1   c                       s,   e Zd Zdeee dd fddZ  ZS )BadStatusLiner   N)r-   errorr   c                    s:   t |tst|}t |p$d| |f| _|| _d S )NzBad status line )r4   r   reprr!   r   r"   r-   )r   r-   r8   r#   r   r   r   b   s
    
zBadStatusLine.__init__)r   N)r   r   r   r   r   r   r$   r   r   r#   r   r7   a   s   r7   c                   @   s   e Zd ZdS )InvalidURLErrorN)r   r   r   r   r   r   r   r:   j   s   r:   N)r   textwrapr   typingr   r   Ztypedefsr   __all__	Exceptionr   r   r%   r&   r(   r)   r*   r+   r1   r7   r:   r   r   r   r   <module>   s   "

		