B ` @sdZddlmZmZddlmZdZGdddeZGdd d eZ Gd d d e Z Gd d d e Z Gddde Z Gddde Z Gddde ZGddde ZGddde ZGddde ZGddde ZdS)z"Low-level http related exceptions.)OptionalUnion) _CIMultiDict)HttpProcessingErrorc@s^eZdZdZdZdZdZddddeee ee ddddZ e d d d Z e d d d Z dS)rzHTTP 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 rN)codemessageheaders)rr r returncCs|dk r||_||_||_dS)N)rr r )selfrr r r r/private/var/folders/7j/8686xlfs15q3tgljmghtvg0r0000gn/T/pip-target-isidps9b/lib/python/aiohttp/http_exceptions.py__init__szHttpProcessingError.__init__)r cCs|jd|jS)Nz , message=)rr )r r r r__str__%szHttpProcessingError.__str__cCsd|jjd|dS)N) __class____name__)r r r r__repr__(szHttpProcessingError.__repr__)r __module__ __qualname____doc__rr r rintstrrrrrr r r rr srcs8eZdZdZdZddeeeddfddZZ S)BadHttpMessageiz Bad RequestN)r )r r r cstj||d|f|_dS)N)r r )superrargs)r r r )rr rr1szBadHttpMessage.__init__) rrrrr rrrr __classcell__r r )rrr,src@seZdZdZdZdS)HttpBadRequestiz Bad RequestN)rrrrr r r r rr6src@seZdZdZdS)PayloadEncodingErrorzBase class for payload errorsN)rrrrr r r rr <sr c@seZdZdZdS)ContentEncodingErrorzContent encoding error.N)rrrrr r r rr!@sr!c@seZdZdZdS)TransferEncodingErrorztransfer encoding error.N)rrrrr r r rr"Dsr"c@seZdZdZdS)ContentLengthErrorz2Not enough data for satisfy content length header.N)rrrrr r r rr#Hsr#cs*eZdZdeeeddfdd ZZS) LineTooLongUnknownN)linelimit actual_sizer c s0td|d|d|d|||f|_dS)NzGot more than z bytes (z) when reading .)rrr)r r&r'r()rr rrMszLineTooLong.__init__)r%r%)rrrrrrr r )rrr$Lsr$cs,eZdZeeefddfdd ZZS) InvalidHeaderN)hdrr cs:t|tr|dd}td|||_|f|_dS)Nzutf-8surrogateescapezInvalid HTTP Header: ) isinstancebytesdecoderrr+r)r r+)rr rrWs   zInvalidHeader.__init__)rrrrr.rrrr r )rrr*Vsr*cs&eZdZdeddfdd ZZS) BadStatusLinerN)r&r cs6t|tst|}td||f|_||_dS)NzBad status line )r-rreprrrrr&)r r&)rr rr`s  zBadStatusLine.__init__)r)rrrrrrr r )rrr0_sr0c@s eZdZdS)InvalidURLErrorN)rrrr r r rr2hsr2N)rtypingrrZtypedefsr__all__ Exceptionrrrr r!r"r#r$r*r0r2r r r rs !