Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
connection.cpython-313.pyc246 linesDownload Raw Back to __pycache__
1�

2��j"�����SSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK3r4SSKrSSKrSSKJ
r SSKJr SSKJr SSKJr \R&(aSSKJr SS	KJr SS5KJr SSKJr SSKJr SS
KJ r  SSK!J"r"J#r#J$r$ SSK%J&r& SSK'J(r( SSK)r)\)RTr+SSK/J0r0 SSK/J1r1 SSK/J2r2 SSK3J4r4 SSK5J6r6J7r7J8r8J9r9J:r:J;r; SSK<J=r=J>r>J?r?J@r@ SSKAJBrB SSKJCrD SSKJErEJFrFJGrGJHrHJIrI SSKJJKrKJLrL SSKMJNrN \OrO\PrP\R�"\R5rSSSS .rT\R�"S!SS5rV\R�"S"5rX"S#S$\5r
"S%S&\
5rY"S'S(\R�5r[S)S*.S2S+jjr\S3S4S,jjr]S5S-jr^S6S.jr_"S/S05r`\)(d\`rY\YraS7S8S1jjrbg!\,\-4a Sr)"SS\.5r+GNFf=f)9�)�annotationsN)�HTTPConnection)�
HTTPException)�ResponseNotReady��timeout���HTTPResponse)�_TYPE_PEER_CERT_RET_DICT)�SSLTransport)�HTTPHeaderDict)�probe)�assert_header_parsing)�_DEFAULT_TIMEOUT�
_TYPE_TIMEOUT�Timeout)�to_str)�
wait_for_readc��\rSrSrSrg)�BaseSSLError�%�N)�__name__�6__module__�__qualname__�__firstlineno__�__static_attributes__r��XD:\code\apps\devtools\python\user_packages\Python313\site-packages\urllib3/connection.pyrr%s��rr)�7_TYPE_BODY)�ProxyConfig)�_ResponseOptions��__version__)�ConnectTimeoutError�HeaderParsingError�NameResolutionError�NewConnectionError�8ProxyError�SystemTimeWarning)�SKIP_HEADER�SKIPPABLE_HEADERS�9connection�ssl_)�body_to_chunks)�assert_fingerprint)�create_urllib3_context�is_ipaddress�resolve_cert_reqs�resolve_ssl_version�ssl_wrap_socket)�CertificateError�match_hostname)�Url�Pi���http�httpsi�z[^-!#$%&'*+.^_`|~0-9a-zA-Z]c�^�\rSrSr%Sr\SrS\S'\R\RS4/rS\S'S	rS10\S'Sr
S
\S'S\S'S\S'S\S'S11\S'S\S'S\S'S\S'S\S'S;\SS\SSS.S<U4SjjjjrS=S jrS=S!jr\S=S"j5r\R(S>S#j5rS?S$jrS@SAU4S%jjjr\R0S&:dS'\R0s=::aS(:a=O O:SBS)jr\R0S&:aSCS*jrOS'\R0s=::aS(:aO OSCS+jrSCS,jr\SDS-j5r\SDS.j5r\SDS/j5r\SDS0j5r\SDS1j5r SCU4S2jjr!SESFU4S3jjjr"SGU4S4jjr#SHS	S5S5S5S6.SIS7jjjr$SHSJS8jjr%SKU4S9jjr&S:r'U=r($)Lr�Ra�12Based on :class:`http.client.HTTPConnection` but provides an extra constructor13backwards-compatibility layer between older and newer Pythons.14 15Additional keyword parameters are used to configure attributes of the connection.16Accepted parameters include:17 18- ``source_address``: Set the source address for the current connection.19- ``socket_options``: Set specific options on the underlying socket. If not specified, then20  defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling21  Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy.22 23  For example, if you wish to enable TCP Keep Alive in addition to the defaults,24  you might pass:25 26  .. code-block:: python27 28     HTTPConnection.default_socket_options + [29         (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),30     ]31 32  Or you may want to disable the defaults by passing an empty list (e.g., ``[]``).33r<ztyping.ClassVar[int]�default_portr	z0typing.ClassVar[connection._TYPE_SOCKET_OPTIONS]�default_socket_optionsF�bool�is_verifiedNzbool | None�proxy_is_verified�int�	blocksize�tuple[str, int] | None�source_addressz&connection._TYPE_SOCKET_OPTIONS | None�socket_options�_has_connected_to_proxyz_ResponseOptions | None�_response_options�34str | None�_tunnel_host�35int | None�_tunnel_port�_tunnel_scheme�@)rrHrFrI�proxy�proxy_configc�>�[T	U]UU[R"U5UUS9 X`lXplX�lSUlSUlSUl	SUl36SUlg)N)�host�portrrHrFF)�super�__init__r�resolve_default_timeoutrIrRrSrJrKrMrOrP)37�selfrUrVrrHrFrIrRrS�	__class__s38         �r rX�HTTPConnection.__init__�sl���	������3�3�G�<�)��	�	39�-���40�(��',��$�!%���(,���(,���*.��rc�j�[U5RSUR<SUR<S3$)Nz(host=z, port=�))�typerrUrV�rZs r �__str__�HTTPConnection.__str__�s.���t�*�%�%�&�f�T�Y�Y�M�����
�Q�O�Orc�(�SUS[U5SS3$)N�<z at z#x�>)�idr`s r �__repr__�HTTPConnection.__repr__�s���4�&��R��X�b�M��+�+rc�8�URRS5$)a?41Getter method to remove any trailing dots that indicate the hostname is an FQDN.42 43In general, SSL certificates don't include the trailing dot indicating a44fully-qualified domain name, and thus, they don't validate properly when45checked against a domain name that includes the dot. In addition, some46servers may not expect to receive the trailing dot when provided.47 48However, the hostname with trailing dot is critical to DNS resolution; doing a49lookup with the trailing dot will properly only resolve the appropriate FQDN,50whereas a lookup without a trailing dot will search the system's search domain51list. Thus, it's important to keep the original host around for use only in52those cases where it's appropriate (i.e., when doing DNS lookup to establish the53actual TCP connection across which we're going to send HTTP requests).54�.)�	_dns_host�rstripr`s r rU�HTTPConnection.host�s��"�~�~�$�$�S�)�)rc��Xlg)z�55Setter for the `host` property.56 57We assume that only urllib3 uses the _dns_host attribute; httplib itself58only uses `host`, and it seems reasonable that other libraries follow suit.59N)rk)rZ�values  r rUrm�s	���rc	��[R"URUR4URUR60URS9n[R "SXRUR5 U$![Ran[URX5UeSnAf[a-n[USURSURS35UeSnAf[an[USU35UeSnAff=f)z_Establish a socket connection and set nodelay settings on it.61 62:return: New socket connection.63)rHrINzConnection to z timed out. (connect timeout=r^z&Failed to establish a new connection: zhttp.client.connect)r.�create_connectionrkrVrrHrI�socket�gaierrorr(rU�
SocketTimeoutr&�OSErrorr)�sys�audit)rZ�sock�es   r �	_new_conn�HTTPConnection._new_conn�s���64	��/�/�������+����#�2�2�#�2�2�	�D�&	�	�	�'��y�y�$�)�)�D�������	A�%�d�i�i��9�q�@���	�%�� �����+H�����VW�X���
��65�	�$��>�q�c�B���
��	�s0�AA;�;C=�B&�&
C=�3(C�
C=�(C8�8C=c�Z>�US;a[SU<S35e[TU]	XUS9 X@lg)Nr;z$Invalid proxy scheme for tunneling: z", must be either 'http' or 'https')rV�headers)�66ValueErrorrW�67set_tunnelrP)rZrUrVr}�schemer[s     �r r�HTTPConnection.set_tunnel�sB����*�*��6�v�j�@b�c��
�	���4�G��<�$�r)���	)r��)r�r�r�c�4�SU;aUSS:waSU-S-$U$)N�:r�[�[�]r)rZ�ips  r �68_wrap_ipv6�HTTPConnection._wrap_ipv6�s(���r�z�b��e�w�.��b�y�4�'�'��Irc�69�[RRnSURURRS55UR4-nU/nURR5H+upEURUSUS3RS55 M- URS5 URSRU55 AURURURS9nUR5upxn	U[R R":wa/UR%5 ['S	US70U	R)535eUR*R-US-5n71[/U725U:�a[RR1S5eU73(dO3U74S
;aO,UR2S:�a[5SU75R755 M�UR%5 g!UR%5 f=f)NsCONNECT %s:%d HTTP/1.0
76�ascii�: �
77�latin-1�
78r��method�Tunnel connection failed: � r	zheader line)r��79rr�header:)r<�client�_MAXLINEr�rM�encoderO�_tunnel_headers�items�append�send�join�response_classrx�_method�_read_status�80HTTPStatus�OK�closeru�strip�fp�readline�len�LineTooLong�81debuglevel�print�decode)rZr��connectr}�headerro�response�version�code�message�lines           r �_tunnel�HTTPConnection._tunnel�s����;�;�/�/��7��O�O�D�$5�$5�$<�$<�W�$E�F��%�%�;���#�)��%)�%9�%9�%?�%?�%A�M�F��N�N�f�X�R��w�d�#;�#B�#B�9�#M�N�&B����w�'��	�	�#�(�(�7�+�,���.�.�t�y�y����.�N��%�/7�/D�/D�/F�,�W�G��t���1�1�1��82�83��%�8���a��
�
��?P�Q����'�{�{�3�3�H�q�L�A���t�9�x�/�"&�+�+�"9�"9�-�"H�H�#�!��#8�8�!��?�?�Q�.�!�)�T�[�[�]�;���N�N�$��H�N�N�$�s
�7C(G0�0Hc��SURURRS55UR4-nU/nURR5H+up4UR
USUS3RS55 M- UR
S5 URSRU55 AURURURS9nUR5upgn[RRUR 5UlUR$S	:�a-UR"Hn['S84UR)55 M U[R*R,:wa/UR/5 [1SUSUR3535eUR/5 g!UR/5 f=f)
NsCONNECT %s:%d HTTP/1.1
85�idnar�r�r�r�rr�rr�r�r�)r�rMr�rOr�r�r�r�r�r�rxr�r�r<r��
_read_headersr��_raw_proxy_headersr�r�r�r�r�r�rur�)	rZr�r}r�ror�r�r�r�s	         r r�r�(s��7��O�O�D�$5�$5�$<�$<�V�$D�E��%�%�;���#�)��%)�%9�%9�%?�%?�%A�M�F��N�N�f�X�R��w�d�#;�#B�#B�9�#M�N�&B����w�'��	�	�#�(�(�7�+�,���.�.�t�y�y����.�N��%�/7�/D�/D�/F�,�W�G�.2�k�k�.G�.G����.T�D�+�����*�&*�&=�&=�F�!�)�V�]�]�_�=�'>��t���1�1�1��86�87��%�8���a��
�
��?P�Q���2��N�N�$��H�N�N�$�s
�CF:�:Gc���UR5UlUR(aSUlUR	5 [UR5UlUR(aSUlgg)NTF)rzrxrMrJr�rBrRrDr`s r r��HTTPConnection.connectJsU���N�N�$��	����+/�D�(�
�L�L�N�88(,�D�J�J�'7��$��'�'�%*�D�"�(rc��URSL$�N)rxr`s r �	is_closed�HTTPConnection.is_closed[s���y�y�D� � rc�P�URcg[URSS9(+$)NFgr)rxrr`s r �is_connected�HTTPConnection.is_connected_s#���9�9��� ����C�8�8�8rc��UR$r�)rJr`s r �has_connected_to_proxy�%HTTPConnection.has_connected_to_proxyes���+�+�+rc�V�[UR5=(a URSL$)zD89Return True if a forwarding proxy is configured, else return False90N)rBrRrMr`s r �proxy_is_forwarding�"HTTPConnection.proxy_is_forwardingis#��91�D�J�J��=�D�$5�$5��$=�=rc��URSL$)zC92Return True if a tunneling proxy is configured, else return False93N)rMr`s r �proxy_is_tunneling�!HTTPConnection.proxy_is_tunnelingps��94� � ��,�,rc�>�[TU]5 SUlSUlSUlSUlSUlSUlSUlSUl	g!SUlSUlSUlSUlSUlSUlSUlSUl	f=f)NF)95rWr�rxrCrDrJrKrMrOrP)rZr[s �r r��HTTPConnection.closews����	'��G�M�O��D�I�$�D��%)�D�"�+0�D�(�%)�D�"� $�D�� $�D��"&�D����D�I�$�D��%)�D�"�+0�D�(�%)�D�"� $�D�� $�D��"&�D��s�A96�97:Bc�>�[RU5nU(a"[SU<SUR5<S35e[TU]XX4S9$)�z+Method cannot contain non-token characters z (found at least r^)�	skip_host�skip_accept_encoding)�_CONTAINS_CONTROL_CHAR_RE�searchr~�grouprW�98putrequest)rZr��urlr�r��matchr[s      �r r��HTTPConnection.putrequest�sb���*�0�0��8����=�f�Z�GX�Y^�Yd�Yd�Yf�Xi�ij�k��
��w�!��9�"�99�	100rc�F>�[SU55(d[TU]"U/UQ76 g[UR	55[101;aQSR
[[1025Vs/sHn[RU5PM sn5n[SUS35egs snf)r�c3�b# �UH%n[U[5=(a	 U[:Hv� M' g7fr�)�103isinstance�strr,)�.0�vs  r �	<genexpr>�+HTTPConnection.putheader.<locals>.<genexpr>�s$���K�F�q�:�a��%�:�!�{�*:�:�F�s�-/z', 'z(urllib3.util.SKIP_HEADER only supports '�'N)�anyrW�	putheaderr�lowerr-r��sortedr��titler~)rZr��values�skippable_headersr[s    �r r��HTTPConnection.putheader�s�����K�F�K�K�K��G��f�.�v�.�
�F�L�L�N�
#�+<�
<� &���17�8I�1J�K�1J�v����6�"�1J�K�!���:�;L�:M�Q�O��
�	=��Ks�(BT)�chunked�preload_content�decode_content�enforce_content_lengthc���URb%URRUR5 [UUUUUS9UlUc0n[SU55n	SU	;n104SU	;nUR
XX�S9 [X1URS9nURn
URnU(aSU	;aURSS	5 OJS105U	;aSnOASU	;aSnO8SnUcU
bSnURSS	5 OURS
[U55 SU	;aURS[55 UR5HunnURUU5 M UR5 U
bqU
HknU(dM[!U[5(aUR#S5nU(a!UR%S['U5U4-5 MZUR%U5 Mm U(aUR%S5 gg)N)�request_method�request_urlr�r�r�c3�T# �UHn[UR55v� M  g7fr�)rr�)r��ks  r r��)HTTPConnection.request.<locals>.<genexpr>�s���C�7�a��q�w�w�y� 1� 1�7�s�&(zaccept-encodingrU)r�r�)r�rFztransfer-encodingzTransfer-Encodingr�zcontent-lengthFTzContent-Lengthz106user-agentz107User-Agentzutf-8s%x
108%b
109s0
110
111)rx�112settimeoutrr#rK�	frozensetr�r0rF�chunks�content_lengthr�r��_get_default_user_agentr��113endheadersr�r�r�r�)rZr�r��bodyr}r�r�r�r��header_keysr�r��
chunks_and_clr�r�r�ro�chunks                  r �request�HTTPConnection.request�s����9�9� ��I�I� � ����.�"2�!��+�)�#9�"114����?��G��C�7�C�C��0�K�?���k�)�	�����.B�	�	115�'�t�d�n�n�U�
��%�%��&�5�5���"�+�5����2�I�>��116 �;�.���$��3��� ��!�)��)�"&�����':�I�F���N�N�#3�S��5H�I��{�*��N�N�<�)@�)B�C�$�]�]�_�M�F�E��N�N�6�5�)�-������������e�S�)�)�!�L�L��1�E���I�I�o��U��U�0C�C�D��I�I�e�$� ���I�I�l�#�rc�Z�[R"S[SS9 URXX4SS9 g)zk117Alternative to the common request method, which sends the118body with chunked encoding and not as one block119z�HTTPConnection.request_chunked() is deprecated and will be removed in urllib3 v3.0. Instead use HTTPConnection.request(..., chunked=True).���category�120stacklevelT)r�r}r�N)�warnings�warn�
FutureWarningr)rZr�r�r�r}s     r �request_chunked�HTTPConnection.request_chunked	s0��	�
�
�
V�"��		121�	
���V�t�d��Krc��>�URc122[5eURnSUlURRUR5 SSKJn [URSS5n[TU]%5n[UR5 [%URR'55nU"UUUR(UR*[USS	5UR,UR.UR0UUR2UR4UR"US1239
nU$![[4a3n[RS[!XR"5USS9 SnAN�SnAff=f)a�124Get the response from the server.125 126If the HTTPConnection is in the correct state, returns an instance of HTTPResponse or of whatever object is returned by the response_class variable.127 128If a request has not been sent or if a previous response has not be handled, ResponseNotReady is raised. If the HTTP response indicates that the connection should be closed, then it will be closed before the response is returned. When the connection is closed, the underlying socket is closed.129Nr	r130�shutdownz$Failed to parse headers (url=%s): %sT)�exc_info�
_http_vsn_strzHTTP/?)
r�r}�statusr��version_string�reasonr�r��original_responser�r�r��
sock_shutdown)rKrrxr�rr�r�getattrrW�getresponser�msgr'�	TypeError�log�warning�_url_from_connectionr�rr�rr�rr�r�r�r�)	rZ�resp_optionsr�	_shutdown�httplib_response�hper}r�r[s	        �r r�HTTPConnection.getresponsesP����!�!�)�"�$�$��-�-��!%���	
�	�	���T�\�\�*�	+�131�D�I�I�z�4�8�	�!�7�.�0��	�!�"2�"6�"6�7�!�!1�!5�!5�!;�!;�!=�>���!��#�*�*�$�,�,�"�4��(�C�#�*�*�(�8�8�'�6�6�.�#/�#F�#F�'�6�6�$�0�0�#�132�����3#�I�.�	��K�K�6�$�T�+C�+C�D���	
�
��	�s�=D$�$E'�4)E"�"E')
rkrJr�rKrMrOrPrCrRrSrDrxrIr�)rUr�rVrNrrrHrGrFrErI�&None | connection._TYPE_SOCKET_OPTIONSrR�133Url | NonerS�ProxyConfig | None�return�None�r%r�)ror�r%r&)r%�
socket.socket)NNr<)134rUr�rVrNr}�typing.Mapping[str, str] | Noner�r�r%r&)r��bytesr%r*�r%r&)r%rB)FF)135r�r�r�r�r�rBr�rBr%r&)r�r�r�r�r%r&)NN)r�r�r�r�r��_TYPE_BODY | Noner}r)r�rBr�rBr�rBr�rBr%r&)136r�r�r�r�r�r,r}r)r%r&)r%r))rrrr�__doc__�port_by_schemer@�__annotations__rr�IPPROTO_TCP�TCP_NODELAYrArCrDrrXrarg�propertyrU�setterrzrrv�version_infor�r�r�r�r�r�r�r�r�r�r�rrrr�
__classcell__�r[s@r rrRsu����0*8��)?�L�&�?�137138�	�	�V�/�/��3�P��L��139�K���&*��{�)��N�*�*�:�:�!�!�.�.�������140 �/�141"2�15��
#� �+/�/��/��/�142�/�/�
/��/�143�/��/�)�/�144�/�/�>P�,��*��*�$145�[�[�����@ �37��%��%��%�1�	%�146�%�147�
%�%����*�$��C�4D�4D�)Q�z�)Q�	�148���j�(�&
%�P��(�(�
5�:�
5� 
%�D+�"�!��!��9��9�149�,��,��>��>��-��-�
'�& �%*�150��151��152��	153�154#�155�156�
157�158�(159�$#'�37�_$�� $�#�'+�_$��_$��_$� �	_$�1601�_$��_$��_$��_$�!%�_$�161�_$�J#'�37�L��L��L� �	L�1621�L�163�
L�&<�	�<�<rrc�^�\rSrSr%Sr\SrSrS\S'Sr	S\S'Sr164S\S	'SrS165\S'SrS\S'Sr
S
\S'SrS
\S'SrS\S'SrS\S'S\SS\R&SSSSSSSSSSSSSSSSS.SU4SjjjjrSSSjjrSSjrSSjrSrU=r$) �HTTPSConnectioni[z�166Many of the parameters to this constructor are passed to the underlying SSL167socket by means of :py:func:`urllib3.util.ssl_wrap_socket`.168r=N�int | str | None�	cert_reqsrL�ca_certs�ca_cert_dir�None | str | bytes�ca_cert_data�ssl_versionrN�ssl_minimum_version�ssl_maximum_versionr1z!typing.Callable[..., None] | None�_connect_callbackrQ)rrHrFrIrRrSr:�assert_hostnamer1�server_hostname�ssl_contextr;r<r>r@rAr?�	cert_file�key_file�key_passwordc��>�[TU]UUUUUUUUS9 UUlUUlUUlX�lX�lX�lX�lUUl	UUl169UUlU=(a [RRU5UlU=(a [RRU5UlUUlU	c/UR170bUR171R$n	O['S5n	X�lSUlg)N)rVrrHrFrIrRrS)rWrXrGrFrHrErDrCr1r?r@rA�os�path�172expanduserr;r<r>�verify_moder4r:rB)rZrUrVrrHrFrIrRrSr:rCr1rDrEr;r<r>r@rAr?rFrGrHr[s                       �r rX�HTTPSConnection.__init__ms����8	������)��)��%�	�		173�!��
�"���(���&��.��.��"4��&���#6�� �#6�� � �A�R�W�W�%7�%7��%A��
�&�J�2�7�7�+=�+=�k�+J���(��������+� �,�,�8�8�	�-�d�3�	�"��!%��rc174��[R"S[SS9 Uc/URbURRnO[S5nXlX lX0lX@l	X`l175XplU=(a [RRU5UlU=(a [RRU5UlX�lg)zH176This method should only be called once, before the connection is used.177z�HTTPSConnection.set_cert() is deprecated and will be removed in urllib3 v3.0. Instead provide the parameters to the HTTPSConnection constructor.rrN)rr	r178rErMr4rGrFr:rHrCr1rJrKrLr;r<r>)179rZrGrFr:rHr;rCr1r<r>s180          r �set_cert�HTTPSConnection.set_cert�s���	�
�
�
+�#��	181������+� �,�,�8�8�	�-�d�3�	� �
�"��"��(��.��"4�� �A�R�W�W�%7�%7��%A��
�&�J�2�7�7�+=�+=�k�+J���(�rc�b�URb&URbURnURnOURnURnS[R182;a[R"XS9nOSnURb$URS[R"5US9 UR5=UlnURnSnUR(a�URS:Xa&URURU5=UlnSnOURS:XaSUlSUlUR%5 [&R("[*UR5nUR,bUR,n[.R0R35[4:nU(a#[6R8"S	[4S1833[:5 UR=S5n[?S0SU_S
UR@_SURB_SURD_SURF_SURH_SURJ_SURL_SURN_SURP_SURR_SU_SURT_SU_SURV_SURX_6n	U	RZUlUc3U	RZRa5S:Hn184[R^"UUU185S9 URb(aSUl2OU	RdUl2[gURh5UlUR"(a UR cU	RdUlggg![\aK URb$URS[R"5US9 Uc[R^"XSS9 ef=f)N�h2)rUrVFzbefore connect)�	thread_id�target_supports_http2r=Tr<zSystem time is way off (before z5). This will probably lead to SSL verification errorsrjrxr:r?r@rAr;r<r>rFrGrHrDrE�186tls_in_tlsrCr1zafter connect failure)rUrV�supports_http2r)5rMrOrUrVr/�ALPN_PROTOCOLS�http2_probe�acquire_and_getrB�	threading�	get_identrzrxr�rP�_connect_tls_proxyrDrJr��typing�castr�rD�datetime�date�today�RECENT_DATErr	r+rl�#_ssl_wrap_socket_and_match_hostnamer:r?r@rAr;r<r>rFrGrHrErCr1rr�
BaseException�set_and_release�selected_alpn_protocolr�rCrBrR)rZ�probe_http2_host�probe_http2_portrUrxrDrV�is_time_off�server_hostname_rm_dot�sock_and_verifiedrWs           r r��HTTPSConnection.connect�s���187���(�T�->�->�-J�#�0�0��#�0�0��#�y�y��#�y�y���4�&�&�&�$/�$?�$?�%�%�!�%*�!��!�!�-��"�"� �#�-�-�/�&;�
#�
�I	�#�~�~�/�/�D�I��#'�9�9�O��J��&�&��&�&�'�1�'+�'>�'>�t�y�y�$�'O�O�D�I��!%�J��(�(�F�2�-2�D�*�04��,�����"(�+�+�c�4�3D�3D�"E���#�#�/�"&�"6�"6��"�-�-�-�-�/�+�=�K���
�
�9�+��G:�:�&��&5�%;�%;�C�%@�"� C�!��!��.�.�!�!�,�,�!�%)�$<�$<�	!�188%)�$<�$<�!����
!�!�,�,�!�"�.�.�!��.�.�!����!�"�.�.�!�!7�!�!�,�,�!�&�!�!%� 4� 4�!� $(�#:�#:�!!��$*�0�0�D�I�(!�(�.�5�5�L�L�N�RV�V�N��'�'�%�%�-�
��#�#�$�D��0�<�<�D��189(,�D�J�J�'7��$��'�'�D�,B�,B�,J�%6�%B�%B�D�"�-K�'��Q�	��%�%�1��&�&�+�'�1�1�3�*?�'��%�,��+�+�)�QU��
�	�s�)HM�AN.c��[R"[UR5nURn[U4URURURURURURURUUURURSSSSS.6nURUlUR"$)zI190Establish a TLS connection to the proxy using the provided SSL context.191NF)r:r?r@rAr;r<r>rDrErCr1rFrGrHrV)r^r_r"rSrErdr:r?r@rAr;r<r>rCr1rCrDrr)rZ�hostnamerxrSrErls      r r]�"HTTPSConnection._connect_tls_proxy]s���192�{�{�;��0A�0A�B��"�.�.��?��193��n�n��(�(� $� 8� 8� $� 8� 8��]�]��(�(��*�*�$�#�(�8�8�+�>�>�����#194��&"3�!>�!>��� �'�'�'r)rBrJr1rCr>r<r;rFr:rCrGrHrDrDrxrErAr@r?r�).rUr�rVrNrrrHrGrFrErIr"rRr#rSr$r:r9rC�"None | str | typing.Literal[False]r1rLrDrLrE�ssl.SSLContext | Noner;rLr<rLr>r=r@rNrArNr?r9rFrLrGrLrHrLr%r&)	NNNNNNNNN)rGrLrFrLr:r9rHrLr;rLrCrqr1rLr<rLr>r=r%r&r+)ror�rxr(r%z
ssl.SSLSocket)rrrrr-r.r@r:r/r;r<r>r?r@rAr1rBrrrArXrPr�r]rr5r6s@r r8r8[sL����195"�'�*�L�"&�I��&��H�j��"�K��"�'+�L�$�+�$(�K�!�(�&*���*�&*���*�%)��196�)�;?��8�?�197 �<&�198"2�15��
�1�1� �+/�&*�>B�)-�&*�-1�#�"&�+/�*.�*.�(,� $�#�#'�5<&��<&��<&�199�<&�/�
<&��<&�200�<&��<&�)�<&�$�<&�<�<&�'�<&� $�!<&�"+�#<&�$�%<&�& �'<&�()�)<&�*(�+<&�,(�-<&�.&�/<&�0�1<&�2�3<&�4!�5<&�6201�7<&�<&�@ $� $�&*�#'�#�>B�)-�"&�+/�')��')��')�$�	')�202!�')��
')�<�')�'�')� �')�)�')�203�')�RGC�R(�(rr8c�.�\rSrSr%SrS\S'S\S'Srg)	�_WrappedAndVerifiedSocketi{zO204Wrapped socket and whether the connection is205verified after the TLS handshake206zssl.SSLSocket | SSLTransportrrrBrCrN)rrrrr-r/rrrr rtrt{s���207
)�(��rrtF)rVc
���SnUc!Sn[[U5UU[U5S9nOUn[U5UlU(d6U(d/USLd*[R208(d[R(dSUlU(d6U	(d/U209(d(U(a![US5(aUR5 U
b=U
RS5nSU;aUSURS5n[U5(aUn
[UUUUUU	U210U
UUS9211nU(a[URSS	9U5 OzUR[ R":wa\UR(dKUSLaFUR5nU(aSnO[%US212S5=(d Sn['UU=(d U
U5 [)UUR[ R*:H=(d [-U5S9$![.a UR15 ef=f)a"Logic for constructing an SSLContext from all TLS parameters, passing213that down into ssl_wrap_socket, and then doing certificate verification214either via hostname or fingerprint. This function exists to guarantee215that both proxies and targets have the same behavior when connecting via TLS.216FNT)r?r@rAr:�load_default_certs�[]�%)217rx�keyfile�certfilerHr;r<r>rDrErV)�binary_form�hostname_checks_common_name)rrrC)r2r5r4rMr/�IS_PYOPENSSL�HAS_NEVER_CHECK_COMMON_NAME�check_hostname�hasattrrvr��rfindr3r6�_assert_fingerprint�getpeercert�ssl�	CERT_NONEr�_match_hostnamert�
CERT_REQUIREDrBrer�)rxr:r?r@rArFrGrHr;r<r>rCr1rDrErV�default_ssl_context�context�218normalized�ssl_sock�certr|s                      r rdrd�s���0 ����"��(�+�K�8� 3� 3�'�	�2�	219����+�I�6�G��220	���e�#�����/�/�!&���
�����G�1�2�2��"�"�$�221�"�$�*�*�4�0�222��*��#�$;�j�&6�&6�s�&;�<�J��223�#�#�(�O��
���!���!�'����H�#����$�$��$�6�8J�
�
���3�=�=�0��*�*��u�,�-5�-A�-A�-C�D�224#�.3�+��G�%B�E�J�S�e�,�
���2�?�+�
�)���+�+�s�/@�/@�@�(��&�'�225�	226��227������
��s
�
CG�G;c���URS5n[U5(aUn[XU5 g![a#n[RSUU5 XleSnAff=f)Nrwz@Certificate did not match expected hostname: %s. Certificate: %s)r�r3r8r7rr�228_peer_cert)r��asserted_hostnamer|�stripped_hostnamerys     r r�r�sf��*�/�/��5���%�&�&�-����t�0K�L���	����N���	229���
��	�s�2�230A�A�Ac��SR[R"S[U5R	555nSU;=(d SU;=(d SU;nSn[SU(aUS:XaUOS	3U5nXlU$)231Nr�z[^a-z]zwrong version numberzunknown protocolzrecord layer failurez�. Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#https-proxy-error-http-proxyzUnable to connect to proxyr=r�)r��re�splitr�r�r*�	__cause__)�err�proxy_scheme�error_normalized�is_likely_http_proxy�http_proxy_warning�new_errs      r �_wrap_proxy_errorr�s����x�x�����3�s�8�>�>�3C� D�E���"2�2�	6��!1�1�	6�!�%5�5��	(���232$�!5�,�'�:Q��WY�233Z�	\���G�234���Nrc��S[3$)Nzpython-urllib3/r$rrr r�r�5s��
�[�M�*�*rc��\rSrSrSrSrg)�DummyConnectioni9z-Used to detect a failed ConnectionCls import.rN)rrrrr-rrrr r�r�9s��7rr�c��[U[5(aSOSn[X RURUS9R235$)zUReturns the URL from a given connection. This is mainly used for testing and logging.r=r<)r�rUrVrK)r�r8r9rUrVr�)�connrKr�s   r rrDs4��236#�4��9�9�W�v�F��f�9�9�4�9�9�4�H�L�L�Lr)"rxr(r:�None | str | intr?r�r@rNrArNrFrLrGrLrHrLr;rLr<rLr>r=rCrqr1rLrDrLrErrrVrBr%rt)F)r�z_TYPE_PEER_CERT_RET_DICT | Noner�r�r|rBr%r&)r��	Exceptionr�rLr%r*r'r�)r�z HTTPConnection | HTTPSConnectionrKrLr%r�)c�237__future__rr`�http.clientr<�loggingrJr�rrrvr[r^rr�_HTTPConnectionrrrrt�
TYPE_CHECKINGr�r�	util.ssl_r�util.ssltransportr
�_collectionsr�http2rrY�
util.responser�util.timeoutrrr�	util.utilr�	util.waitrr��SSLErrorr�ImportError�AttributeErrorre�_base_connectionr!r"r#�_versionr%�238exceptionsr&r'r(r)r*r+�utilr,r-r.r/�util.requestr0r1r�r2r3r4r5r6�util.ssl_match_hostnamer7r8�util.urlr9�ConnectionError�BrokenPipeError�	getLoggerrrr.rarc�compiler�r8�239NamedTuplertrdr�r�r�r��VerifiedHTTPSConnectionrrrr �<module>r�s���"����	�	�
�240��
��9�6�(�+�	���&�3�/�(�'�0�B�B��$�
���<�<�L�)�8�B�!���C�B�(�@���F��"��!������!���s�+���m�m�D�!�Q�'���J�J�'E�F��F�_�F�R](�n�](�@	�� 1� 1��6�#z�241�z� �z�"�	z�242$�z�$�
z��z��z��z��z��z�%�z�8�z�#�z� �z� '�!z�"�#z�$�%z�@).��243)����"&��244�	�4�2+�8�8��%�O�*��@D�M�245*�M�2<�M��M��E!	�^�$�
�246�C�
�}�
�
�s�G�G*�)G*
codekingpro/portable-devtools · Team Ai