a
    &ñ»jÅ	  ã                   @  sž   d dl mZ d dlmZmZmZ ddlmZ ddlm	Z	m
Z
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 dd
lmZmZ dZG dd„ dƒZdS )é    )Úannotations)ÚAnyÚOptionalÚUnioné   )ÚDEFAULT_TIMEOUT)ÚCookieTypesÚHeaderTypesÚMethodTypesÚRequestDataÚRequestFilesÚTimeoutTypesÚURLParamTypesÚURLTypesé   )ÚCookies)ÚStreamEncoder)ÚHeaders)ÚURLÚProxy)ÚRequestc                   @  s¦   e Zd Zddddddddddddœddddddd	d
ddddddddœdd„Zddœdd„Zedd„ ƒZeddœdd„ƒZddœdd„Zddœdd „Z	d!dœd"d#„Z
dS )$r   N)ÚdataÚfilesÚjsonÚparamsÚheadersÚcookiesÚproxyÚtimeoutÚprotocol_racingÚ
allow_httpÚ	stream_idr
   r   zOptional[RequestData]zOptional[RequestFiles]zOptional[Any]r   zOptional[HeaderTypes]r   z'Optional[Union[Proxy, URL, str, bytes]]zOptional[TimeoutTypes]zOptional[bool]zOptional[int]r   ÚNone)ÚmethodÚurlr   r   r   r   r   r   r   r   r   r    r!   ÚkwargsÚreturnc                K  sŽ   d| _ d| _|| _t||d�| _| ¡ | _t|ƒ| _|	r@t	|	ƒnd | _
t|
ttfƒrX|
nt| _|| _|| _|| _t|||ƒ| _|  |¡| _d S )Nó    Ú )r   )Ú_contentÚ_session_idZ_extra_configr   r$   Úupperr#   r   r   r   r   Ú
isinstanceÚfloatÚintr   r   r   r    r!   r   ÚstreamÚ_prepare_headersr   )Úselfr#   r$   r   r   r   r   r   r   r   r   r   r    r!   r%   © r2   úAE:\soccer\ml_env\Lib\site-packages\tls_requests/models/request.pyÚ__init__   s    

zRequest.__init__r   )r&   c                 C  s:   t |ƒ}| | jj¡ | jjr6d|vr6| d| jj¡ |S )NÚHosts   Host)r   Úupdater/   r   r$   ÚhostÚ
setdefault)r1   r   r2   r2   r3   r0   9   s
    zRequest._prepare_headersc                 C  s   | j S ©N)r*   ©r1   r2   r2   r3   ÚidA   s    z
Request.idÚbytesc                 C  s   | j S r9   )r)   r:   r2   r2   r3   ÚcontentE   s    zRequest.contentc                 C  s   | j sd | j ¡ ¡| _ | j S )Nr'   )r)   Újoinr/   Úrenderr:   r2   r2   r3   ÚreadI   s    zRequest.readc                 Ã  s*   | j s$d dd„ | j2 ƒI d H ¡| _ | j S )Nr'   c                 Ó  s   g | z3 d H W }|‘q6 S r9   r2   )Ú.0Úchunkr2   r2   r3   Ú
<listcomp>P   r'   z!Request.aread.<locals>.<listcomp>)r)   r>   r/   r:   r2   r2   r3   ÚareadN   s    zRequest.areadÚstrc                 C  s   d| j j| j| jf S )Nz<%s: (%s, %s)>)Ú	__class__Ú__name__r#   r$   r:   r2   r2   r3   Ú__repr__S   s    zRequest.__repr__)rG   Ú
__module__Ú__qualname__r4   r0   Úpropertyr;   r=   r@   rD   rH   r2   r2   r2   r3   r      s(   ñ. 
r   N)Ú
__future__r   Útypingr   r   r   Úsettingsr   Útypesr   r	   r
   r   r   r   r   r   r   r   Úencodersr   r   r   Úurlsr   r   Ú__all__r   r2   r2   r2   r3   Ú<module>   s   (
