Team Ai
Datasetpublic

codekingpro/portable-devtools

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

2��j�"����SSKJr SSKrSSKrSSKrSSKrSSKJr \R(aSSK	J3r4 SSKJrJ
r
 \R\\4r\R$"S5rS	r"S5S5rg)�)�annotationsN�)�ProxySchemeUnsupported)�Self�)�_TYPE_PEER_CERT_RET�_TYPE_PEER_CERT_RET_DICT�_ReturnValuei@c�|�\rSrSrSr\S#Sj5rS$S%SjjrS&SjrS'Sjr	S(Sjr6S)S*S	jjrS+S,S7jjrS-S.Sjjr
S/S0SjjrS/S1S
jjrS2SSSS.S3SjjjrS4SjrS4Sjr\R(S5S6Sjj5r\R(S7Sj5rS8S9SjjrS:SjrS;SjrS:SjrS<SjrS:SjrS=SjrS>SjrS4SjrS2S?Sjjr\R(S@Sj5r\R(SASj5r\R(SBS j5rSCSDS!jjrS"r g)E�SSLTransport�a48The SSLTransport wraps an existing socket and establishes an SSL connection.9 10Contrary to Python's implementation of SSLSocket, it allows you to chain11multiple TLS connections together. It's particularly useful if you need to12implement TLS within TLS.13 14The class supports most of the socket API operations.15c�<�[US5(d[S5eg)z�16Raises a ProxySchemeUnsupported if the provided ssl_context can't be used17for TLS in TLS.18 19The only requirement is that the ssl_context provides the 'wrap_bio'20methods.21�wrap_biozXTLS in TLS requires SSLContext.wrap_bio() which isn't available on non-native SSLContextN)�hasattrr)�ssl_contexts �_D:\code\apps\devtools\python\user_packages\Python313\site-packages\urllib3/util/ssltransport.py�$_validate_ssl_context_for_tls_in_tls�1SSLTransport._validate_ssl_context_for_tls_in_tls!s(���{�J�/�/�(�5��
�0�Nc�"�[R"5Ul[R"5UlX@lXlUR
URURUS9UlURURR5 g)zF22Create an SSLTransport around socket using the provided ssl_context.23)�server_hostnameN)24�ssl�	MemoryBIO�incoming�outgoing�suppress_ragged_eofs�socketr�sslobj�_ssl_io_loop�do_handshake)�selfrrrrs     r�__init__�SSLTransport.__init__1si���
�
���
��
�
���
�$8�!���!�*�*��M�M�4�=�=�/�+�25���26	
���$�+�+�2�2�3rc��U$�N��r!s r�	__enter__�SSLTransport.__enter__Hs���rc�$�UR5 gr%)�close)r!�_s  r�__exit__�SSLTransport.__exit__Ks���27�28�rc�6�URR5$r%)r�filenor's rr0�SSLTransport.filenoN����{�{�!�!�#�#rc�$�URX5$r%)�_wrap_ssl_read)r!�len�buffers   r�read�SSLTransport.readQs���"�"�3�/�/rc�F�US:wa[S5eURU5$)Nrz+non-zero flags not allowed in calls to recv)�29ValueErrorr4)r!�buflen�flagss   r�recv�SSLTransport.recvTs&���A�:��J�K�K��"�"�6�*�*rc�b�US:wa[S5eUc[U5nURX!5$)Nrz0non-zero flags not allowed in calls to recv_into)r:r5r7)r!r6�nbytesr<s    r�	recv_into�SSLTransport.recv_intoYs4���A�:��O�P�P��>���[�F��y�y��(�(rc�$�US:wa[S5eSn[U5oDRS5n[U5nX6:aUR	XSS5nX7-
nX6:aMSSS5 SSS5 g!,(df   N=f!,(df   g=f)Nrz.non-zero flags not allowed in calls to sendall�B)r:�30memoryview�castr5�send)r!�datar<�count�view�	byte_view�amount�vs        r�sendall�SSLTransport.sendallest���A�:��M�N�N���
��
��y�y��~����^�F��.��I�I�i��/�0���31���.�(6�
�
�~�~��
�
�s"�B�-A0�B�032A>	�:B�33Bc�p�US:wa[S5eURURRU5$)Nrz+non-zero flags not allowed in calls to send)r:rr�write)r!rHr<s   rrG�SSLTransport.sendos2���A�:��J�K�K�� � ����!2�!2�D�9�9r)�encoding�errors�newlinec��[U51Sk::d[SU<S35eSU;nSU;=(d U(+nU(d	U(deSU;nSn	U(aU	S-
n	U(aU	S-
n	[R"X	5n34UR=RS-
slUcS	nUS35:a[36RnUS37:XaU(d[S5eU38$U(aU(a[39R"X�U5nO=U(a[40R"X�5nOU(de[41R"X�5nU(aU$[42R"X�XE5nXlU$)z�43Python's httpclient uses makefile and buffered io when reading HTTP44messages and we need to support it.45 46This is unfortunately a copy and paste of socket.py makefile with small47changes to point to the socket directly.48>�b�r�wz
invalid mode z (only r, w, b allowed)rYrXrW�r�����rz!unbuffered streams must be binary)�setr:r�SocketIO�_io_refs�io�DEFAULT_BUFFER_SIZE�BufferedRWPair�BufferedReader�BufferedWriter�
TextIOWrapper�mode)
r!re�	bufferingrSrTrU�writing�reading�binary�rawmode�rawr6�texts
             r�makefile�SSLTransport.makefilets/�� �4�y�O�+��}�T�H�4K�L�M�M���+����+�,�W����'�!�!���������s�N�G���s�N�G��o�o�d�,��������!�����I��q�=��.�.�I���>�� �!D�E�E��J��w��&�&�s��;�F�
��&�&�s�6�F��N�7��&�&�s�6�F���M�����&�B���	��rc�N�URURR5 gr%)rr�unwrapr's rrp�SSLTransport.unwrap�s�����$�+�+�,�,�-rc�8�URR5 gr%)rr+r's rr+�SSLTransport.close�s�������rc��gr%r&�r!�binary_forms  r�getpeercert�SSLTransport.getpeercert�s��+.rc��gr%r&rus  rrwrx�s��NQrc�8�URRU5$r%)rrwrus  rrwrx�s���{�{�&�&�{�3�3rc�6�URR5$r%)r�versionr's rr|�SSLTransport.version�s���{�{�"�"�$�$rc�6�URR5$r%)r�cipherr's rr�SSLTransport.cipher�r2rc�6�URR5$r%)r�selected_alpn_protocolr's rr��#SSLTransport.selected_alpn_protocol�s���{�{�1�1�3�3rc�6�URR5$r%)r�shared_ciphersr's rr��SSLTransport.shared_ciphers�s���{�{�)�)�+�+rc�6�URR5$r%)r�compressionr's rr��SSLTransport.compression�s���{�{�&�&�(�(rc�:�URRU5 gr%)r�49settimeout)r!�values  rr��SSLTransport.settimeout�s�������u�%rc�6�URR5$r%)r�50gettimeoutr's rr��SSLTransport.gettimeout�s���{�{�%�%�'�'rc�8�URR5 gr%)r�_decref_socketiosr's rr��SSLTransport._decref_socketios�s�����%�%�'rc���URURRX5$![Ra:nUR51[R:XaUR(aSnAgeSnAff=f�Nr)rrr7r�SSLError�errno�
SSL_ERROR_EOFr)r!r5r6�es    rr4�SSLTransport._wrap_ssl_read�sX��	��$�$�T�[�[�%5�%5�s�C�C���|�|�	��w�w�#�+�+�+��0I�0I����		�s�%(�A6�/A1�0A1�1A6c��gr%r&)r!�funcs  rr�SSLTransport._ssl_io_loop�s��EHrc��gr%r&)r!r��arg1s   rrr��s��UXrc��gr%r&)r!r�r��arg2s    rrr��s��rc��SnSnU(a�SnUcUcU"5nOUc	U"U5nO	U"X#5nUR52R
5nURRU5 UcSnOpU[R:Xa\URR[5nU(aURRU5 OURR5 U(aM�[R"[ U5$![RaGnUR[R[R4;aUeURnSnAGN%SnAff=f)z>Performs an I/O loop between incoming/outgoing and the socket.TNF)rr�r��SSL_ERROR_WANT_READ�SSL_ERROR_WANT_WRITErr7rrNr=�
SSL_BLOCKSIZErrQ�	write_eof�typingrFr53)	r!r�r�r��should_loop�retr�r��bufs	         rrr��s��������E�
 ��<�D�L��&�C��\��t�*�C��t�*�C��-�-�$�$�&�C��K�K����$��}�#���#�1�1�1��k�k�&�&�}�5����M�M�'�'��,��M�M�+�+�-�3�k�4�{�{�<��-�-��#�<�<�
 ��7�7�3�#:�#:�C�<T�<T�"U�U��G������	
 �s!�
D�D�D�E�<E�E)rrrrr)r�ssl.SSLContext�return�None)NT)54rz
socket.socketrr�r�55str | Noner�boolr�r�)r�r)r,z56typing.Anyr�r�)r��int)�N)r5r�r6ztyping.Any | Noner��int | bytes)r�r)r;r�r<r�r�r�r�)r6�_WriteBufferr@�57int | Noner<r�r�zNone | int | bytes)r)rH�bytesr<r�r�r�)rHr�r<r�r�r�r%)re�strrfr�rSr�rTr�rUr�r�z1typing.BinaryIO | typing.TextIO | socket.SocketIO)r�r�).)rvztyping.Literal[False]r�z_TYPE_PEER_CERT_RET_DICT | None)rvztyping.Literal[True]r�zbytes | None)F)rvr�r�r)r�r�)r�ztuple[str, str, int] | None)r�z!list[tuple[str, str, int]] | None)r��float | Noner�r�)r�r�)r5r�r6�bytearray | Noner�r�)r�ztyping.Callable[[], None]r�r�)r�ztyping.Callable[[bytes], int]r�r�r�r�)r�z/typing.Callable[[int, bytearray | None], bytes]r�r�r�r�r�r�)NN)r�z"typing.Callable[..., _ReturnValue]r�zNone | bytes | intr�r�r�r58)!�__name__�59__module__�__qualname__�__firstlineno__�__doc__�staticmethodrr"r(r-r0r7r=rArNrGrmrpr+r��overloadrwr|rr�r�r�r�r�r�r4r�__static_attributes__r&rrrrs����
��
�&'+�%)�4��4�$�4�$�	4�60#�4�61�
4�.��$�0�+�"��	62)��63)��64)��	65)�6667�68)��:�!%�2�69 $�!�"�2��2��2�70�2��
2��2�71;�2�h.���_�_�36�.�0�.�	(�.��.��_�_�Q��Q�4�%�$�4�,�)�&�(�(���_�_�H��H��_�_�X��X��_�_��=�����	�7273����$(�!%�	$.�0�$.�!�$.��	$.�7475�$.�$.rr)�76__future__rr_rrr��77exceptionsr�
TYPE_CHECKING�typing_extensionsr�ssl_rr	�Union�	bytearrayrEr��TypeVarr78r�rr&rr�<module>r�sZ��"�	�
�79�
�/�	���&�C��|�|�I�z�1�2���~�~�n�-���
�y.�y.r
codekingpro/portable-devtools · Team Ai