
    g                        d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZ ddlmZmZ ddlmZmZ dd	lmZ  ed
      Z G d d      Zy)    )annotations)AnyCallableDictOptionalTypeVaroverload)Response)	BaseModel)LiteralSelf   )API_VERSION_HEADER_NAMEAPI_VERSIONS)handle_exception
model_dump)
SyncClientTc                  X   e Zd Zddd	 	 	 	 	 	 	 	 	 ddZddZddZddZeddddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd
       Zedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zeddddddd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Zdddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)SyncGoTrueBaseAPITN)verifyproxyc               b    || _         || _        |xs t        t        |      |dd      | _        y )NT)r   r   follow_redirectshttp2)_url_headersr   bool_http_client)selfurlheadershttp_clientr   r   s         Q/var/www/openai/venv/lib/python3.12/site-packages/gotrue/_sync/gotrue_base_api.py__init__zSyncGoTrueBaseAPI.__init__   s6     	' 
:<!	,
    c                    | S N r    s    r$   	__enter__zSyncGoTrueBaseAPI.__enter__#   s    r&   c                $    | j                          y r(   )close)r    exc_texc_vexc_tbs       r$   __exit__zSyncGoTrueBaseAPI.__exit__&   s    

r&   c                8    | j                   j                          y r(   )r   acloser*   s    r$   r-   zSyncGoTrueBaseAPI.close)   s      "r&   F)jwtredirect_tor"   querybodyno_resolve_jsonc                    y r(   r)   
r    methodpathr4   r5   r"   r6   r7   r8   xforms
             r$   _requestzSyncGoTrueBaseAPI._request,        r&   )r4   r5   r"   r6   r7   c                    y r(   r)   r:   s
             r$   r>   zSyncGoTrueBaseAPI._request;   r?   r&   c                    y r(   r)   )	r    r;   r<   r4   r5   r"   r6   r7   r8   s	            r$   r>   zSyncGoTrueBaseAPI._requestJ   s     r&   )r4   r5   r"   r6   r7   r8   r=   c          
        | j                    d| }
i | j                  |xs i }t        |vrt        d   j	                  d      |t        <   d|vrd|d<   |rd| |d<   |xs i }|r||d<   	 | j
                  j                  ||
||t        |t              rt        |      n|	      }|j                          |r|n|j                         }|	r |	|      S y # t        $ r}t        |      d }~ww xY w)
N/z
2024-01-01namezContent-Typezapplication/json;charset=UTF-8zBearer Authorizationr5   )r"   paramsjson)r   r   r   r   getr   request
isinstancer   r   raise_for_statusrG   	Exceptionr   )r    r;   r<   r4   r5   r"   r6   r7   r8   r=   r!   responseresultes                 r$   r>   zSyncGoTrueBaseAPI._requestX   s    1TF#6T]]6w}"6"'1/;L/I/M/Mf/UG+,(&FGN#)0GO$#.E- 	&((00)3D))DZ%$ 1 H %%'!0XhmmoFV}$  	&"1%%	&s   .A(C 	C1!C,,C1)
r!   strr"   zDict[str, str]r#   zOptional[SyncClient]r   r   r   Optional[str])returnr   )rR   None)r;   CLiteral['GET', 'OPTIONS', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE']r<   rP   r4   rQ   r5   rQ   r"   Optional[Dict[str, str]]r6   rU   r7   Optional[Any]r8   zLiteral[False]r=   zCallable[[Any], T]rR   r   )r;   rT   r<   rP   r4   rQ   r5   rQ   r"   rU   r6   rU   r7   rV   r8   zLiteral[True]r=   zCallable[[Response], T]rR   r   )r;   rT   r<   rP   r4   rQ   r5   rQ   r"   rU   r6   rU   r7   rV   r8   r   rR   rS   )r;   rT   r<   rP   r4   rQ   r5   rQ   r"   rU   r6   rU   r7   rV   r8   r   r=   zOptional[Callable[[Any], T]]rR   zOptional[T])	__name__
__module____qualname__r%   r+   r1   r-   r	   r>   r)   r&   r$   r   r      s_    #
 
  	

 *
 
 
$#  "%),0*."*/S 
  # * (  ( " 
   "%),0*."S 
  # * (  ' ' 
   "%),0*." %S 
  # * (   
 $ "%),0*." %.2%&S%& %&
 %& #%& *%& (%& %& %& ,%& 
%&r&   r   N)
__future__r   typingr   r   r   r   r   r	   httpxr
   pydanticr   typing_extensionsr   r   	constantsr   r   helpersr   r   http_clientsr   r   r   r)   r&   r$   <module>rb      s5    " C C   + = 2 %CLm& m&r&   