o
    ˳i	                     @  s   d dl mZ d dlmZmZmZ d dlmZmZm	Z	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 G d	d
 d
ZdS )    )annotations)AnyDictOptional)AsyncClientHTTPStatusErrorQueryParamsResponse)	BaseModel)LiteralSelf   )API_VERSION_HEADER_NAMEAPI_VERSIONS_2024_01_01_NAME)handle_exception
model_dumpc                   @  sV   e Zd Zdddd)ddZd*ddZd+ddZd+ddZdddddddd,d'd(ZdS )-AsyncGoTrueBaseAPITN)verifyproxyurlstrheadersDict[str, str]http_clientOptional[AsyncClient]r   boolr   Optional[str]returnNonec                C  s*   || _ || _|ptt||ddd| _d S )NT)r   r   follow_redirectshttp2)_url_headersr   r   _http_client)selfr   r   r   r   r    r%   X/home/ubuntu/.local/lib/python3.10/site-packages/supabase_auth/_async/gotrue_base_api.py__init__   s   	zAsyncGoTrueBaseAPI.__init__r   c                   s   | S Nr%   r$   r%   r%   r&   
__aenter__    s   zAsyncGoTrueBaseAPI.__aenter__c                   s   |   I d H  d S r(   )close)r$   exc_texc_vexc_tbr%   r%   r&   	__aexit__#   s   zAsyncGoTrueBaseAPI.__aexit__c                   s   | j  I d H  d S r(   )r#   acloser)   r%   r%   r&   r+   &   s   zAsyncGoTrueBaseAPI.closeF)jwtredirect_tor   querybodyno_resolve_jsonmethodCLiteral['GET', 'OPTIONS', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE']pathr1   r2   Optional[Dict[str, str]]r3   Optional[QueryParams]r4   Optional[Any]r5   r	   c             
     s   | j  d| }	i | j|pi }t|vrt|t< d|vr"d|d< |r+d| |d< |p/t }|r8|d|}z| jj||	||t|t	rIt
|n|dI d H }
|
  |
W S  ttfyh } zt|d }~ww )N/zContent-Typezapplication/json;charset=UTF-8zBearer Authorizationr2   )r   paramsjson)r!   r"   r   r   r   setr#   request
isinstancer
   r   raise_for_statusr   RuntimeErrorr   )r$   r6   r8   r1   r2   r   r3   r4   r5   r   responseer%   r%   r&   _request)   s4   
zAsyncGoTrueBaseAPI._request)r   r   r   r   r   r   r   r   r   r   r   r   )r   r   )r   r   )r6   r7   r8   r   r1   r   r2   r   r   r9   r3   r:   r4   r;   r5   r   r   r	   )__name__
__module____qualname__r'   r*   r/   r+   rG   r%   r%   r%   r&   r      s    


r   N)
__future__r   typingr   r   r   httpxr   r   r   r	   pydanticr
   typing_extensionsr   r   	constantsr   r   helpersr   r   r   r%   r%   r%   r&   <module>   s    