
    ?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	y)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                   R     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                     |xs | j                   | _         dj                  | j                  | j                         }|r|dt        |      z   z  }t        |   |       || _        || _        y)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         S/var/www/openai/venv/lib/python3.12/site-packages/oauthlib/oauth1/rfc5849/errors.pyr   zOAuth1Error.__init__   sf    * ':$*:*:""4::t/?/?@sT']**G!&    c                 .    t        || j                        S N)r   	twotuples)r   r   s     r   in_urizOAuth1Error.in_uri-   s     dnn55r   c                     d| j                   fg}| j                  r|j                  d| j                  f       | j                  r|j                  d| j                  f       |S )Nr   error_description	error_uri)r   r
   appendr   )r   r   s     r   r   zOAuth1Error.twotuples0   sU    4::&'LL-t/?/?@A88LL+txx01r   c                 ,    t        | j                        S r   )r   r   )r   s    r   
urlencodedzOAuth1Error.urlencoded9   s    ((r   )NNi  N)__name__
__module____qualname__r   r
   r   r   propertyr   r!   __classcell__)r   s   @r   r   r      sE    EK?B'<6   ) )r   r   c                       e Zd ZdZdZy)InsecureTransportErrorinsecure_transport_protocolz%Only HTTPS connections are permitted.N)r"   r#   r$   r   r
    r   r   r(   r(   >   s    )E9Kr   r(   c                       e Zd ZdZy)InvalidSignatureMethodErrorinvalid_signature_methodNr"   r#   r$   r   r*   r   r   r,   r,   C   s    &Er   r,   c                       e Zd ZdZy)InvalidRequestErrorinvalid_requestNr.   r*   r   r   r0   r0   G   s    Er   r0   c                       e Zd ZdZy)InvalidClientErrorinvalid_clientNr.   r*   r   r   r3   r3   K   s    Er   r3   N)
__doc__oauthlib.commonr   r   	Exceptionr   r(   r,   r0   r3   r*   r   r   <module>r8      sL    90)) 0)f:[ :
'+ '+  r   