
    tni                        d Z ddlmZ ddlmZmZ ddlmZ dZ G d de	          Z
 G d	 d
e
          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Zd!S )"z"Low-level http related exceptions.    )indent)OptionalUnion   )_CIMultiDict)HttpProcessingErrorc            	       p    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
Zd	e	fdZd	e	f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headersr   r   r   returnc                4    ||| _         || _        || _        d S )N)r   r   r   )selfr   r   r   s       T/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/aiohttp/http_exceptions.py__init__zHttpProcessingError.__init__   s#     DI    c                 D    t          | j        d          }| j         d| S )Nz  z, message:
)r   r   r   )r   msgs     r   __str__zHttpProcessingError.__str__%   s)    T\4(().....r   c                 B    d| j         j         d| j         d| j        dS )N<z: z
, message=>)	__class____name__r   r   )r   s    r   __repr__zHttpProcessingError.__repr__)   s,    T4>*TTdiTT4<TTTTr   )r   
__module____qualname____doc__r   r   r   r   intstrr   r   r   r    r   r   r   r      s          DGG
 #*.
 
 
 sm
 	

 ,'
 

 
 
 
/ / / / /U# U U U U U Ur   r   c                   F     e Zd ZdZdZdddedee         ddf fdZ xZ	S )	BadHttpMessage  Bad RequestN)r   r   r   r   c                ^    t                                          ||           |f| _        d S )N)r   r   superr   args)r   r   r   r   s      r   r   zBadHttpMessage.__init__2   s-    ':::J			r   )
r   r   r   r   r   r!   r   r   r   __classcell__r   s   @r   r$   r$   -   so        DGJN    ,1G SW          r   r$   c                       e Zd ZdZdZdS )HttpBadRequestr%   r&   N)r   r   r   r   r   r"   r   r   r.   r.   7   s        DGGGr   r.   c                       e Zd ZdZdS )PayloadEncodingErrorzBase class for payload errorsNr   r   r   r   r"   r   r   r0   r0   =   s        ''''r   r0   c                       e Zd ZdZdS )ContentEncodingErrorzContent encoding error.Nr1   r"   r   r   r3   r3   A   s        !!!!r   r3   c                       e Zd ZdZdS )TransferEncodingErrorztransfer encoding error.Nr1   r"   r   r   r5   r5   E   s        """"r   r5   c                       e Zd ZdZdS )ContentLengthErrorz1Not enough data to satisfy content length header.Nr1   r"   r   r   r7   r7   I   s        ;;;;r   r7   c                       e Zd ZdZdS )DecompressSizeErrorz/Decompressed size exceeds the configured limit.Nr1   r"   r   r   r9   r9   M   s        9999r   r9   c            	       4     e Zd Z	 ddedededdf fdZ xZS )	LineTooLongUnknownlinelimitactual_sizer   Nc           	      r    t                                          d| d| d| d           |||f| _        d S )NzGot more than z bytes (z) when reading .r(   )r   r=   r>   r?   r   s       r   r   zLineTooLong.__init__R   sS     	OUOOKOOOOO	
 	
 	
 5+.			r   )r<   r<   )r   r   r   r!   r   r+   r,   s   @r   r;   r;   Q   se        DM/ // #/>A/	/ / / / / / / / / /r   r;   c                   8     e Zd Zdeeef         ddf fdZ xZS )InvalidHeaderhdrr   Nc                     t          |t                    r|                    d          n|}t                                          d|           || _        |f| _        d S )Nbackslashreplace)errorszInvalid HTTP header: )
isinstancebytesdecoder)   r   rD   r*   )r   rD   hdr_sr   s      r   r   zInvalidHeader.__init__\   sa    9CC9O9OX

"4
555UX888999F			r   )r   r   r   r   rI   r!   r   r+   r,   s   @r   rC   rC   [   sT        E%*- $          r   rC   c                   :     e Zd Zddedee         ddf fdZ xZS )BadStatusLiner
   Nr=   errorr   c                     t          |t                    st          |          }t                                          |pd|           |f| _        || _        d S )NzBad status line )rH   r!   reprr)   r   r*   r=   r   r=   rN   r   s      r   r   zBadStatusLine.__init__d   sZ    $$$ 	::D="=T"="=>>>G				r   r
   N)r   r   r   r!   r   r   r+   r,   s   @r   rM   rM   c   s[         S hsm t          r   rM   c                   >     e Zd ZdZddedee         ddf fdZ xZS )	BadHttpMethodz#Invalid HTTP method in status line.r
   Nr=   rN   r   c                 V    t                                          ||pd|           d S )NzBad HTTP method in status line )r)   r   rQ   s      r   r   zBadHttpMethod.__init__o   s1    uR(R$(R(RSSSSSr   rR   )r   r   r   r   r!   r   r   r+   r,   s   @r   rT   rT   l   so        --T TS Thsm Tt T T T T T T T T T Tr   rT   c                       e Zd ZdS )InvalidURLErrorN)r   r   r   r"   r   r   rW   rW   s   s        Dr   rW   N)r   textwrapr   typingr   r   typedefsr   __all__	Exceptionr   r$   r.   r0   r3   r5   r7   r9   r;   rC   rM   rT   rW   r"   r   r   <module>r]      s   ( (       " " " " " " " " " " " " " "
"U U U U U) U U UD    (       ^   ( ( ( ( (> ( ( (" " " " "/ " " "# # # # #0 # # #< < < < <- < < <: : : : :. : : :/ / / / /. / / /    N       N   T T T T TM T T T	 	 	 	 	n 	 	 	 	 	r   