
    Ch                     8   S SK JrJrJrJr  S SKrS SKJr   " S S\5      r	 " S S\	5      r
 " S S	\	5      r " S
 S\	5      r " S S\5      r " S S\	5      r " S S\5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      rg)    )DictOptionalUnioncastNErrorObjectc                   H  ^  \ rS rSr% \\   \S'   \\   \S'   \\   \S'   \\   \S'   \\	\\4      \S'   \\   \S'   \\   \S'   \S	   \S
'         SS\\   S\\
\\4      S\\   S\\   S\\	\\4      S\\   4U 4S jjjrS r\S 5       rS rS\\   4S jrSrU =r$ )StripeError   _message	http_bodyhttp_status	json_bodyheaderscode
request_idr   errormessagec                   > [         [        U ]  U5        S nU(       aI  [        US5      (       a!   [	        [
        U5      R                  S5      nO[        U[        5      (       a  UnXl
        Xpl        X0l        X@l        U=(       d    0 U l        X`l        U R                  R!                  SS 5      U l        U R%                  5       U l        g ! [         a    Sn Nsf = f)Ndecodezutf-8zE<Could not decode body as utf-8. Please report to support@stripe.com>z
request-id)superr
   __init__hasattrr   bytesr   BaseException
isinstancestrr   r   r   r   r   r   getr   _construct_error_objectr   )	selfr   r   r   r   r   r   body	__class__s	           P/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_error.pyr   StripeError.__init__   s     	k4)'2" y(++y188AD Is++ &"}"	,,**<>113
 % ? s   C CCc                     U R                   =(       d    SnU R                  b  SR                  U R                  U5      $ U$ )Nz<empty message>zRequest {0}: {1})r   r   format)r    msgs     r#   __str__StripeError.__str__5   s7    mm00??&%,,T__cBBJ    c                     U R                   $ N)r   r    s    r#   user_messageStripeError.user_message@   s    }}r*   c                     U R                   R                  < SU R                  < SU R                  < SU R                  < S3$ )N	(message=, http_status=, request_id=))r"   __name__r   r   r   r-   s    r#   __repr__StripeError.__repr__D   s0    NN##MMOO	
 	
r*   returnc                 B   U R                   bQ  [        U R                   [        5      (       a2  SU R                   ;  d"  [        U R                   S   [        5      (       d  g SSKJn  UR
                  " U R                   S   [        R                  R                  5       SS9$ )Nr   r   r   V1)values	requestorapi_mode)	r   r   dictstripe._error_objectr   _construct_fromstripe_APIRequestor_global_instance)r    r   s     r#   r   #StripeError._construct_error_objectL   s{    NN"dnnd33dnn,dnnW5t<<4**>>'***;;= 
 	
r*   )r   r   r   r   r   r   r   r   )NNNNNN)r5   
__module____qualname____firstlineno__r   r   __annotations__intobjectr   r   r   r   r(   propertyr.   r6   r   r   __static_attributes____classcell__r"   s   @r#   r
   r
      s   sm}#d38n%%
3-M"" "&15%)&*,0""4#"4 E%*-."4 c]	"4
 F#"4 $sCx.)"4 sm"4 "4H  

+)> 
 
r*   r
   c                       \ rS rSrSrg)APIError_    Nr5   rE   rF   rG   rL   rR   r*   r#   rP   rP   _       r*   rP   c                   D   ^  \ rS rSr% \\S'         SU 4S jjrSrU =r$ )APIConnectionErrorc   should_retryc                 <   > [         [        U ]  XX4XV5        Xpl        g r,   )r   rV   r   rX   )	r    r   r   r   r   r   r   rX   r"   s	           r#   r   APIConnectionError.__init__f   s$     	 $0	
 )r*   )rX   )NNNNNF)	r5   rE   rF   rG   boolrH   r   rL   rM   rN   s   @r#   rV   rV   c   s'    
 ) )r*   rV   c                       \ rS rSrS rSrg)StripeErrorWithParamCodev   c                     U R                   R                  < SU R                  < SU R                  < SU R                  < SU R
                  < SU R                  < S3$ )Nr1   z, param=z, code=r2   r3   r4   )r"   r5   r   paramr   r   r   r-   s    r#   r6   !StripeErrorWithParamCode.__repr__w   s@    
 ''

		  		
r*   rR   N)r5   rE   rF   rG   r6   rL   rR   r*   r#   r]   r]   v   s    
r*   r]   c                   4   ^  \ rS rSr    SU 4S jjrSrU =r$ )	CardError   c                 <   > [         [        U ]  XXVXs5        X l        g r,   )r   rc   r   r`   	r    r   r`   r   r   r   r   r   r"   s	           r#   r   CardError.__init__   s"     	i'	
 
r*   r`   )NNNNr5   rE   rF   rG   r   rL   rM   rN   s   @r#   rc   rc      s      r*   rc   c                       \ rS rSrSrg)IdempotencyError   rR   NrS   rR   r*   r#   rk   rk      rT   r*   rk   c                   6   ^  \ rS rSr     SU 4S jjrSrU =r$ )InvalidRequestError   c                 <   > [         [        U ]  XXVXs5        X l        g r,   )r   rn   r   r`   rf   s	           r#   r   InvalidRequestError.__init__   s#     	!41	
 
r*   rh   )NNNNNri   rN   s   @r#   rn   rn      s    
  r*   rn   c                       \ rS rSrSrg)AuthenticationError   rR   NrS   rR   r*   r#   rs   rs      rT   r*   rs   c                       \ rS rSrSrg)PermissionError   rR   NrS   rR   r*   r#   rv   rv      rT   r*   rv   c                       \ rS rSrSrg)RateLimitError   rR   NrS   rR   r*   r#   ry   ry      rT   r*   ry   c                   ,   ^  \ rS rSrSU 4S jjrSrU =r$ )SignatureVerificationError   c                 8   > [         [        U ]  X5        X l        g r,   )r   r|   r   
sig_header)r    r   r   r   r"   s       r#   r   #SignatureVerificationError.__init__   s    ($8L$r*   )r   r,   ri   rN   s   @r#   r|   r|      s    % %r*   r|   c                       \ rS rSrSrg)TemporarySessionExpiredError   rR   NrS   rR   r*   r#   r   r      rT   r*   r   )typingr   r   r   r   rA   r?   r   	Exceptionr
   rP   rV   r]   rc   rk   rn   rs   rv   ry   r|   r   rR   r*   r#   <module>r      s    . .  ,U
) U
p	{ 	) )&
{ 
 ( "	{ 	2 "	+ 		k 		[ 	% %	; 	r*   