
     f3"                    z   U d dl mZ d dlZd dlZd dlmZ d dlmZ ddlmZ ddl	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dl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  ej!        rddlm"Z"m#Z#  G d d          Z$ G d de$          Z%ej!        r$ e$dd           Z&de'd<    e%dd           Z(de'd<   dS dS )    )annotationsN)HTTPException)ResponseNotReady   )
_TYPE_BODY)HTTPConnectionProxyConfigport_by_scheme)TimeoutError)BaseHTTPResponse)_TYPE_SOCKET_OPTIONS)_DEFAULT_TIMEOUT_TYPE_TIMEOUT)Url   )_RequestError_TimeoutErrorsend_requestsend_streaming_request)EmscriptenRequest)EmscriptenHttpResponseWrapperEmscriptenResponse)BaseHTTPConnectionBaseHTTPSConnectionc                  P   e Zd ZU ed         Zded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   ded<   ded<   ded<   dZded<   dZded<   ded<   	 d;eddddddd<d#Z		 	 	 d=d>d(Z
d?d)Z	 	 d@dd*d*d*d+dAd4ZdBd6Zd?d7ZedCd8            ZedCd9            ZedCd:            ZdS )DEmscriptenHTTPConnectionhttpztyping.ClassVar[int]default_portz%typing.ClassVar[_TYPE_SOCKET_OPTIONS]default_socket_optionszNone | floattimeoutstrhostintport	blocksizetuple[str, int] | Nonesource_address_TYPE_SOCKET_OPTIONS | Nonesocket_options
Url | NoneproxyProxyConfig | Noneproxy_configFboolis_verifiedNzbool | Noneproxy_is_verifiedzEmscriptenResponse | None	_responser   i    )r    r'   r%   r)   r+   r-   r   returnNonec                   || _         || _        t          |t                    r|nd| _        d| _        d| _        d | _        d | _        d | _	        || _
        d | _        d | _        d| _        d S )Ng        r   TF)r"   r$   
isinstancefloatr    scheme_closedr1   r+   r-   r%   r'   r)   r/   )	selfr"   r$   r    r'   r%   r)   r+   r-   s	            h/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/urllib3/contrib/emscripten/connection.py__init__z!EmscriptenHTTPConnection.__init__-   sw     		",We"<"<Eww# 
 """     
int | Noneheaderstyping.Mapping[str, str] | Noner7   c                    d S N )r9   r"   r$   r>   r7   s        r:   
set_tunnelz#EmscriptenHTTPConnection.set_tunnelH   s	     	r<   c                    d S rA   rB   r9   s    r:   connectz EmscriptenHTTPConnection.connectQ   s    r<   T)chunkedpreload_contentdecode_contentenforce_content_lengthmethodurlbody_TYPE_BODY | NonerG   rH   rI   rJ   c               N   d| _         |                    d          r| j         d| j         d| j         |z   }t          ||| j        r| j        nd|          }	|	                    |           |r0|                                D ]\  }
}|		                    |
|           d | _
        	 |st          |	          | _
        | j
        t          |	          | _
        d S d S # t          $ r}t          |j                  |d }~wt           $ r}t#          |j                  |d }~ww xY w)NF/z://:r   )rL   rK   r    rI   )r8   
startswithr7   r"   r$   r   r    set_bodyitems
set_headerr1   r   r   r   r   messager   r   )r9   rK   rL   rM   r>   rG   rH   rI   rJ   requestkves                r:   rW   z EmscriptenHTTPConnection.requestT   se    >># 	C[<<TY<<<<sBC#$(L7DLLa)	
 
 
 	 	) ) )1""1a((((	2" A!7!@!@~%!-g!6!6 &% 	1 	1 	1qy))q0 	2 	2 	2	**1	2s$   )1C 
D$(C==D$
DD$r   c                x    | j         &t          | j         | j         j        j        |           S t	                      )N)internal_responserL   
connection)r1   r   rW   rL   r   rE   s    r:   getresponsez$EmscriptenHTTPConnection.getresponse|   sB    >%0"&.N*.    #$$$r<   c                "    d| _         d | _        d S )NT)r8   r1   rE   s    r:   closezEmscriptenHTTPConnection.close   s    r<   c                    | j         S )zWhether the connection either is brand new or has been previously closed.
        If this property is True then both ``is_connected`` and ``has_connected_to_proxy``
        properties must be False.
        )r8   rE   s    r:   	is_closedz"EmscriptenHTTPConnection.is_closed   s     |r<   c                    dS )zLWhether the connection is actively connected to any origin (proxy or target)TrB   rE   s    r:   is_connectedz%EmscriptenHTTPConnection.is_connected   s	     tr<   c                    dS )zWhether the connection has successfully connected to its proxy.
        This returns False if no proxy is in use. Used to determine whether
        errors are coming from the proxy layer or from tunnelling to the target origin.
        FrB   rE   s    r:   has_connected_to_proxyz/EmscriptenHTTPConnection.has_connected_to_proxy   s	     ur<   r   )r"   r!   r$   r#   r    r   r'   r&   r%   r#   r)   r(   r+   r*   r-   r,   r2   r3   )r   Nr   )
r"   r!   r$   r=   r>   r?   r7   r!   r2   r3   )r2   r3   )NN)rK   r!   rL   r!   rM   rN   r>   r?   rG   r.   rH   r.   rI   r.   rJ   r.   r2   r3   )r2   r   )r2   r.   )__name__
__module____qualname__r
   r   __annotations__r/   r0   r   r;   rC   rF   rW   r^   r`   propertyrb   rd   rf   rB   r<   r:   r   r      s        )7)?L????AAAAIIIIIINNN****////$$$$K%)))))((((
 !
 "2156: +/! ! ! ! ! !< 37        #'37&2  $#'+&2 &2 &2 &2 &2 &2P% % % %       X    X    X  r<   r   c                  *    e Zd ZU ed         ZdZded<   dZded<   dZded<   dZ	ded	<   ded
<   ded<   ded<   ded<   dZ
ded<   dZded<   dZded<   ded<   dZded<   	 d-eddej        dddddddddddddddddd. fd+Z	 	 	 	 	 	 	 	 	 d/d0d,Z xZS )1EmscriptenHTTPSConnectionhttpsNint | str | None	cert_reqs
str | Noneca_certsca_cert_dirNone | str | bytesca_cert_data	cert_filekey_filekey_passwordtyping.Any | Nonessl_contextssl_versionr=   ssl_minimum_versionssl_maximum_version"None | str | typing.Literal[False]assert_hostnameassert_fingerprintr   i @  )r    r'   r%   r)   r+   r-   rq   r   r   server_hostnamer{   rs   rt   rv   r}   r~   r|   rw   rx   ry   r"   r!   r$   r#   r    r   r'   r&   r%   r)   None | _TYPE_SOCKET_OPTIONSr+   r*   r-   r,   r   r2   r3   c          
        t                                          ||||||||           d| _        || _        || _        || _        || _        || _        |
| _        || _	        || _
        || _        || _        |ot          j                            |          | _        |ot          j                            |          | _        || _        d | _        d| _        d S )N)r$   r    r'   r%   r)   r+   r-   ro   T)superr;   r7   rx   rw   ry   r{   r   r   r   r|   r}   r~   ospath
expanduserrs   rt   rv   rq   r/   )r9   r"   r$   r    r'   r%   r)   r+   r-   rq   r   r   r   r{   rs   rt   rv   r}   r~   r|   rw   rx   ry   	__class__s                          r:   r;   z"EmscriptenHTTPSConnection.__init__   s    6 	))% 	 		
 		
 		
  "(&.."4&#6 #6  ARW%7%7%A%A&J27+=+=k+J+J(  r<   c
                    d S rA   rB   )
r9   rx   rw   rq   ry   rs   r   r   rt   rv   s
             r:   set_certz"EmscriptenHTTPSConnection.set_cert   s	     	r<   rg   ).r"   r!   r$   r#   r    r   r'   r&   r%   r#   r)   r   r+   r*   r-   r,   rq   rp   r   r   r   rr   r   rr   r{   rz   rs   rr   rt   rr   rv   ru   r}   r=   r~   r=   r|   rp   rw   rr   rx   rr   ry   rr   r2   r3   )	NNNNNNNNN)rx   rr   rw   rr   rq   rp   ry   rr   rs   rr   r   r   r   rr   rt   rr   rv   ru   r2   r3   )rh   ri   rj   r
   r   rq   rk   rs   rt   rv   r|   r}   r~   r   r   r   r   r;   r   __classcell__)r   s   @r:   rn   rn      s        !'*L"&I&&&&H"K""""'+L++++""""$(K((((&*****&*****7777%)))))
 9 
 "215!/!F +/&*>B)-&*)-#"&+/*.*.(, $##'39  9  9  9  9  9  9  9 z  $ $&*#'#>B)-"&+/        r<   rn    r   _supports_http_protocolr   _supports_https_protocol))
__future__r   r   typinghttp.clientr   r   _base_connectionr   r]   r   r	   r
   
exceptionsr   responser   util.connectionr   util.timeoutr   r   util.urlr   fetchr   r   r   r   rW   r   r   r   TYPE_CHECKINGr   r   r   rn   r   rk   r   rB   r<   r:   <module>r      s   " " " " " " " 				  7 6 6 6 6 6 ( ( ( ( ( ( * * * * * * E E E E E E E E E E & & & & & & ( ( ( ( ( ( 3 3 3 3 3 3 ; ; ; ; ; ; ; ;       U U U U U U U U U U U U & & & & & & G G G G G G G G	 LKKKKKKKKD D D D D D D DNX X X X X 8 X X Xx 
 U2J2J2q2Q2QQQQQ4M4MbRS4T4TTTTTTTU Ur<   