o
    il                     @   sr   d dl mZ d dl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 G dd	 d	Zd
S )    )Optional)ClientHeadersHTTPStatusErrorQueryParamsResponse)ValidationError)URL   )StorageApiErrorVectorBucketErrorMessage)JSONRequestMethodc                   @   sR   e Zd ZdedededdfddZ		dded	ee	 d
e
dee def
ddZdS )SyncRequestBuildersessionbase_urlheadersreturnNc                 C   s   || _ || _|| _d S )N)_session	_base_urlr   )selfr   r   r    r   T/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/storage3/_sync/request.py__init__   s   
zSyncRequestBuilder.__init__http_methodpathbodyquery_paramsc                 C   s   | j j||t| jj| | j|pt d}z|  |W S  tyV } z.zt	
|j}t|j|jp2d|jd| tyQ } ztd|j dd|jd|d }~ww d }~ww )N)methodjsonurlr   params400)messagecodestatusz@The request failed, but could not parse error message response:''LibraryError)r   requeststrr   joinpathr   r   raise_for_statusr   r   model_validate_jsoncontentr   r#   r$   
statusCoder   textstatus_code)r   r   r   r   r   responseexcerrorr   r   r   send   s@   zSyncRequestBuilder.send)NN)__name__
__module____qualname__r   r	   r   r   r   listr)   r   r   r   r   r4   r   r   r   r   r      s    	r   N)typingr   httpxr   r   r   r   r   pydanticr   yarlr	   
exceptionsr   r   typesr   r   r   r   r   r   r   <module>   s    