o
    wiP                     @   s   U d dl mZ d dlmZ d dlZddlmZ ddlmZm	Z	 dZ
G dd	 d	eejejf ZeZe Zeed
< G dd de	ej ZdS )    )Any)overrideN   )Method)AbstractHTTPAbstractResponse)HTTPSyncHTTPResponseclientc                	   @   sv   e Zd ZU ejed< edededdfddZede	ded	e
dd
fddZedddZedddZdddZdS )r	   sessionurldestreturnNc              	   C   s   | j jd|d d6}|  t|d}| D ]}|| qW d    n1 s*w   Y  W d    d S W d    d S 1 sBw   Y  d S )NGET)timeoutwb)r   streamraise_for_statusopenZ
iter_byteswrite)selfr   r   respfdchunk r   H/home/app/Keep/.python/lib/python3.10/site-packages/prisma/_sync_http.pydownload   s   "zSyncHTTP.downloadmethodkwargsr
   c                 K   s   t | jj||fi |S N)r
   r   request)r   r   r   r   r   r   r   r!      s   zSyncHTTP.requestc                 C   s   t jdi | j| _d S Nr   )httpxClientZsession_kwargsr   r   r   r   r   r      s   zSyncHTTP.openc                 C   s    |   r| j  d | _d S d S r    )Zshould_closer   closer%   r   r   r   r&      s   

zSyncHTTP.closec                 C   s   |    d S r    )r&   r%   r   r   r   __del__%   s   zSyncHTTP.__del__)r   N)__name__
__module____qualname__r#   r$   __annotations__r   strr   r   r   r!   r   r&   r'   r   r   r   r   r	      s   
 
r	   r   c                   @   sj   e Zd ZdZeedefddZeedej	fddZ
ededefdd	Zededefd
dZdS )r
   r   r   c                 C      | j jS r    )originalstatus_coder%   r   r   r   status1      zResponse.statusc                 C   r-   r    )r.   headersr%   r   r   r   r2   6   r1   zResponse.headersr   c                 K   s   | j jdi |S r"   )r.   jsonr   r   r   r   r   r3   ;   s   zResponse.jsonc                 K   s   | j jjdi |S r"   )r.   contentdecoder4   r   r   r   text?   s   zResponse.textN)r(   r)   r*   	__slots__propertyr   intr0   r#   ZHeadersr2   r   r3   r,   r7   r   r   r   r   r
   .   s    r
   )typingr   Ztyping_extensionsr   r#   _typesr   Zhttp_abstractr   r   __all__r$   r
   r	   r   r   r+   r   r   r   r   <module>   s    