U
    cme                     @   s   d dl Zd dlmZ ejej Zej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dS )    N)datetimec                       s4   e Zd ZdZed fddZedddZ  ZS )BadDatazRaised if bad data of any sort was encountered. This is the base
    for all exceptions that ItsDangerous defines.

    .. versionadded:: 0.15
    messagec                    s   t  | || _d S N)super__init__r   )selfr   	__class__ 4/tmp/pip-unpacked-wheel-6fx419_u/itsdangerous/exc.pyr      s    zBadData.__init__)returnc                 C   s   | j S r   r   )r	   r   r   r   __str__   s    zBadData.__str__)__name__
__module____qualname____doc__strr   r   __classcell__r   r   r
   r   r      s   r   c                       s*   e Zd ZdZdeed fddZ  ZS )BadSignaturez%Raised if a signature does not match.N)r   payloadc                    s   t  | || _d S r   )r   r   r   )r	   r   r   r
   r   r   r      s    zBadSignature.__init__)N)r   r   r   r   r   
_t_opt_anyr   r   r   r   r
   r   r      s   r   c                       s2   e Zd ZdZdeeeje d fddZ	  Z
S )BadTimeSignaturezbRaised if a time-based signature is invalid. This is a subclass
    of :class:`BadSignature`.
    N)r   r   date_signedc                    s   t  || || _d S r   )r   r   r   )r	   r   r   r   r
   r   r   r   *   s    
zBadTimeSignature.__init__)NN)r   r   r   r   r   r   _tOptionalr   r   r   r   r   r
   r   r   %   s     r   c                   @   s   e Zd ZdZdS )SignatureExpiredzrRaised if a signature timestamp is older than ``max_age``. This
    is a subclass of :exc:`BadTimeSignature`.
    N)r   r   r   r   r   r   r   r   r   =   s   r   c                       s.   e Zd ZdZdeeeed fddZ  ZS )	BadHeaderzRaised if a signed header is invalid in some form. This only
    happens for serializers that have a header that goes with the
    signature.

    .. versionadded:: 0.24
    N)r   r   headeroriginal_errorc                    s   t  || || _|| _d S r   )r   r   r   r    )r	   r   r   r   r    r
   r   r   r   K   s    zBadHeader.__init__)NNN)	r   r   r   r   r   r   
_t_opt_excr   r   r   r   r
   r   r   C   s   
   r   c                       s*   e Zd ZdZdeed fddZ  ZS )
BadPayloada4  Raised if a payload is invalid. This could happen if the payload
    is loaded despite an invalid signature, or if there is a mismatch
    between the serializer and deserializer. The original exception
    that occurred during loading is stored on as :attr:`original_error`.

    .. versionadded:: 0.15
    N)r   r    c                    s   t  | || _d S r   )r   r   r    )r	   r   r    r
   r   r   r   f   s    zBadPayload.__init__)N)r   r   r   r   r   r!   r   r   r   r   r
   r   r"   ]   s   r"   )typingr   r   r   Anyr   	Exceptionr!   r   r   r   r   r   r"   r   r   r   r   <module>   s   
