U
    Fc                     @   s   d dl 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G dd deZeeeeeee	e
eeedZdd ZdS )    Nc                   @   s,   e Zd ZdZdd Zdd Zedd ZdS )		HTTPErrorz Base of all other errorsc                 G   sl   t |dkr6|d | _|d | _|d | _|d | _n2|d j| _|d j| _|d  | _|d j| _d S )N   r            )lenstatus_codereasonbodyheaderscodereadhdrs)selfargs r   A/tmp/pip-unpacked-wheel-itnlelph/python_http_client/exceptions.py__init__   s    


zHTTPError.__init__c                 C   s   t | j| j| j| jffS N)r   r   r	   r
   r   r   r   r   r   
__reduce__   s    zHTTPError.__reduce__c                 C   s   t | jdS )z>
        :return: dict of response error from the API
        zutf-8)jsonloadsr
   decoder   r   r   r   to_dict   s    zHTTPError.to_dictN)__name__
__module____qualname____doc__r   r   propertyr   r   r   r   r   r      s
   r   c                   @   s   e Zd ZdS )BadRequestsErrorNr   r   r   r   r   r   r   r    !   s   r    c                   @   s   e Zd ZdS )UnauthorizedErrorNr!   r   r   r   r   r"   %   s   r"   c                   @   s   e Zd ZdS )ForbiddenErrorNr!   r   r   r   r   r#   )   s   r#   c                   @   s   e Zd ZdS )NotFoundErrorNr!   r   r   r   r   r$   -   s   r$   c                   @   s   e Zd ZdS )MethodNotAllowedErrorNr!   r   r   r   r   r%   1   s   r%   c                   @   s   e Zd ZdS )PayloadTooLargeErrorNr!   r   r   r   r   r&   5   s   r&   c                   @   s   e Zd ZdS )UnsupportedMediaTypeErrorNr!   r   r   r   r   r'   9   s   r'   c                   @   s   e Zd ZdS )TooManyRequestsErrorNr!   r   r   r   r   r(   =   s   r(   c                   @   s   e Zd ZdS )InternalServerErrorNr!   r   r   r   r   r)   A   s   r)   c                   @   s   e Zd ZdS )ServiceUnavailableErrorNr!   r   r   r   r   r*   E   s   r*   c                   @   s   e Zd ZdS )GatewayTimeoutErrorNr!   r   r   r   r   r+   I   s   r+   )i  i  i  i  i  i  i  i  i  i  i  c                 C   s4   zt | j | }W n tk
r.   t|  Y S X |S r   )err_dictr   KeyErrorr   )errorexcr   r   r   handle_error\   s
    r0   )r   	Exceptionr   r    r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r0   r   r   r   r   <module>   s2   