o ½w[eo ã@sVdZddlZddlZgd¢ZGdd„deƒZGdd„deejjƒZ Gdd „d eƒZ dS) aïException classes raised by urllib. The base exception class is URLError, which inherits from OSError. It doesn't define any behavior of its own, but is the base class for all exceptions defined in this package. HTTPError is an exception class that is also a valid HTTP response instance. It behaves this way because HTTP protocol errors are valid responses, with a status code, headers, and a body. In some contexts, an application may want to handle an exception like a regular response. éN)ÚURLErrorÚ HTTPErrorÚContentTooShortErrorc@seZdZddd„Zdd„ZdS)rNcCs$|f|_||_|dur||_dSdS©N)ÚargsÚreasonÚfilename)Úselfrr©r ú#/usr/lib/python3.10/urllib/error.pyÚ__init__s  ÿzURLError.__init__cCs d|jS)Nz)r©r r r r Ú__str__s zURLError.__str__r)Ú__name__Ú __module__Ú __qualname__r rr r r r rs  rc@sXeZdZdZejjjZdd„Zdd„Z dd„Z e dd „ƒZ e d d „ƒZ e jd d „ƒZ d S)rzBRaised when HTTP error occurs, but also acts like non-error returncCsB||_||_||_||_||_|durt ¡}| ||||¡dSr)ÚcodeÚmsgÚhdrsÚfprÚioÚBytesIOÚ_HTTPError__super_init)r Úurlrrrrr r r r 'szHTTPError.__init__cCód|j|jfS)NzHTTP Error %s: %s©rrr r r r r1ózHTTPError.__str__cCr)Nzrr r r r Ú__repr__4rzHTTPError.__repr__cCó|jSr)rr r r r r9ózHTTPError.reasoncCrr©rr r r r Úheaders=rzHTTPError.headerscCs ||_dSrr )r r!r r r r!As N)rrrÚ__doc__ÚurllibÚresponseÚ addinfourlr rrrÚpropertyrr!Úsetterr r r r r#s    rc@seZdZdZdd„ZdS)rzDException raised when downloaded size does not match content-length.cCst ||¡||_dSr)rr Úcontent)r Úmessager(r r r r Hs  zContentTooShortError.__init__N)rrrr"r r r r r rFs r) r"rÚurllib.responser#Ú__all__ÚOSErrorrr$r%rrr r r r Ús #