
    h                        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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       Y/var/www/html/prod/cognitive/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 )ContentLengthErrorz2Not enough data for satisfy content length header.Nr1   r"   r   r   r7   r7   I   s        <<<<r   r7   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__N   sS     	OUOOKOOOOO	
 	
 	
 5+.			r   )r:   r:   )r   r   r   r!   r   r+   r,   s   @r   r9   r9   M   se        DM/ // #/>A/	/ / / / / / / / / /r   r9   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   rB   r*   )r   rB   hdr_sr   s      r   r   zInvalidHeader.__init__X   sa    9CC9O9OX

"4
555UX888999F			r   )r   r   r   r   rG   r!   r   r+   r,   s   @r   rA   rA   W   sT        E%*- $          r   rA   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 )rF   r!   reprr)   r   r*   r;   r   r;   rL   r   s      r   r   zBadStatusLine.__init__`   sZ    $$$ 	::D="=T"="=>>>G				r   r
   N)r   r   r   r!   r   r   r+   r,   s   @r   rK   rK   _   s[         S hsm t          r   rK   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;   rL   r   c                 V    t                                          ||pd|           d S )NzBad HTTP method in status line )r)   r   rO   s      r   r   zBadHttpMethod.__init__k   s1    uR(R$(R(RSSSSSr   rP   )r   r   r   r   r!   r   r   r+   r,   s   @r   rR   rR   h   so        --T TS Thsm Tt T T T T T T T T T Tr   rR   c                       e Zd ZdS )InvalidURLErrorN)r   r   r   r"   r   r   rU   rU   o   s        Dr   rU   N)r   textwrapr   typingr   r   typedefsr   __all__	Exceptionr   r$   r.   r0   r3   r5   r7   r9   rA   rK   rR   rU   r"   r   r   <module>r[      sc   ( (       " " " " " " " " " " " " " "
"U U U U U) U U UD    (       ^   ( ( ( ( (> ( ( (" " " " "/ " " "# # # # #0 # # #= = = = =- = = =/ / / / /. / / /    N       N   T T T T TM T T T	 	 	 	 	n 	 	 	 	 	r   