
    &g	                         d Z ddlmZm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
oauthlib.oauth1.rfc5849.errors
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error used both by OAuth 1 clients and provicers to represent the spec
defined error responses for all four core grant types.
    )add_params_to_uri	urlencodec                   ^     e Zd ZdZdZ	 	 d fd	Zd Zed             Zed             Z	 xZ
S )	OAuth1ErrorN   c                     |p| j         | _         d                    | j        | j                   }|r|dt          |          z   z  }t	                                          |           || _        || _        dS )a  
        description:    A human-readable ASCII [USASCII] text providing
                        additional information, used to assist the client
                        developer in understanding the error that occurred.
                        Values for the "error_description" parameter MUST NOT
                        include characters outside the set
                        x20-21 / x23-5B / x5D-7E.

        uri:    A URI identifying a human-readable web page with information
                about the error, used to provide the client developer with
                additional information about the error.  Values for the
                "error_uri" parameter MUST conform to the URI- Reference
                syntax, and thus MUST NOT include characters outside the set
                x21 / x23-5B / x5D-7E.

        state:  A CSRF protection value received from the client.

        request:  Oauthlib Request object
        z({}) {} N)descriptionformaterrorreprsuper__init__uristatus_code)selfr   r   r   requestmessage	__class__s         P/var/www/api/venv/lib/python3.11/site-packages/oauthlib/oauth1/rfc5849/errors.pyr   zOAuth1Error.__init__   sy    * ':$*:""4:t/?@@ 	+sT']]**G!!!&    c                 ,    t          || j                  S N)r   	twotuples)r   r   s     r   in_urizOAuth1Error.in_uri-   s     dn555r   c                     d| j         fg}| j        r|                    d| j        f           | j        r|                    d| j        f           |S )Nr   error_description	error_uri)r   r   appendr   )r   r   s     r   r   zOAuth1Error.twotuples0   s`    4:&' 	BLL-t/?@AAA8 	2LL+tx0111r   c                 *    t          | j                  S r   )r   r   )r   s    r   
urlencodedzOAuth1Error.urlencoded9   s    (((r   )NNr   N)__name__
__module____qualname__r   r   r   r   propertyr   r"   __classcell__)r   s   @r   r   r      s        EK?B' ' ' ' ' '<6 6 6   X ) ) X) ) ) ) )r   r   c                       e Zd ZdZdZdS )InsecureTransportErrorinsecure_transport_protocolz%Only HTTPS connections are permitted.N)r#   r$   r%   r   r    r   r   r)   r)   >   s        )E9KKKr   r)   c                       e Zd ZdZdS )InvalidSignatureMethodErrorinvalid_signature_methodNr#   r$   r%   r   r+   r   r   r-   r-   C   s        &EEEr   r-   c                       e Zd ZdZdS )InvalidRequestErrorinvalid_requestNr/   r+   r   r   r1   r1   G   s        EEEr   r1   c                       e Zd ZdZdS )InvalidClientErrorinvalid_clientNr/   r+   r   r   r4   r4   K   s        EEEr   r4   N)
__doc__oauthlib.commonr   r   	Exceptionr   r)   r-   r1   r4   r+   r   r   <module>r9      s    9 8 8 8 8 8 8 80) 0) 0) 0) 0)) 0) 0) 0)f: : : : :[ : : :
' ' ' ' '+ ' ' '    +            r   