o
    Ãª¢i   ã                   @   s.   d Z ddlmZmZ ddlZG dd„ dƒZdS )z$Request-level options for API calls.é    )ÚDictÚOptionalNc                   @   sj   e Zd ZdZdddddœdee dee deeeef  deeeef  fdd	„Z	d
ee
j fdd„ZdS )ÚRequestOptionsa  
    Options that can be provided on a per-request basis to override client defaults.

    Attributes:
        timeout: Override the client's default timeout (in seconds)
        max_retries: Override the client's default max retries
        additional_headers: Additional headers to include in the request
        additional_query_params: Additional query parameters to include
    N©ÚtimeoutÚmax_retriesÚadditional_headersÚadditional_query_paramsr   r   r   r	   c                C   s$   || _ || _|p	i | _|pi | _d S )Nr   )Úselfr   r   r   r	   © r   úR/home/ubuntu/.local/lib/python3.10/site-packages/fishaudio/core/request_options.pyÚ__init__   s   
zRequestOptions.__init__Úreturnc                 C   s   | j durt | j ¡S dS )z(Convert timeout to httpx.Timeout if set.N)r   ÚhttpxÚTimeout)r
   r   r   r   Úget_timeout    s   
zRequestOptions.get_timeout)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚfloatÚintr   Ústrr   r   r   r   r   r   r   r   r      s     úýüû
úr   )r   Útypingr   r   r   r   r   r   r   r   Ú<module>   s    