| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3.12/site-packages/urllib3/util/__pycache__/ |
Upload File : |
�
�nj� � �L � d dl Z d dlZd dlZddlmZ ddlmZ dZ G d� d� Zy)� N� )�ProxySchemeUnsupported)�sixi @ c �� � e Zd ZdZed� � Z dd�Zd� Zd� Zd� Z dd�Z
dd �Zdd
�Zd d�Z
d d�Z d!d
�Zd� Zd� Zd"d�Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd#d�Zd� Zy)$�SSLTransportaL
The SSLTransport wraps an existing socket and establishes an SSL connection.
Contrary to Python's implementation of SSLSocket, it allows you to chain
multiple TLS connections together. It's particularly useful if you need to
implement TLS within TLS.
The class supports most of the socket API operations.
c �h � t | d� s&t j rt d� �t d� �y)z�
Raises a ProxySchemeUnsupported if the provided ssl_context can't be used
for TLS in TLS.
The only requirement is that the ssl_context provides the 'wrap_bio'
methods.
�wrap_biozKTLS in TLS requires SSLContext.wrap_bio() which isn't supported on Python 2zXTLS in TLS requires SSLContext.wrap_bio() which isn't available on non-native SSLContextN)�hasattrr �PY2r )�ssl_contexts �>/usr/lib/python3.12/site-packages/urllib3/util/ssltransport.py�$_validate_ssl_context_for_tls_in_tlsz1SSLTransport._validate_ssl_context_for_tls_in_tls s@ � � �{�J�/��w�w�,�,�� �
-�9�� � 0� Nc �( � t j � | _ t j � | _ || _ || _ |j
| j | j |�� | _ | j | j j � y)zV
Create an SSLTransport around socket using the provided ssl_context.
)�server_hostnameN)
�ssl� MemoryBIO�incoming�outgoing�suppress_ragged_eofs�socketr �sslobj�_ssl_io_loop�do_handshake)�selfr r r r s r
�__init__zSSLTransport.__init__, sm � � �
�
���
��
�
���
�$8��!����!�*�*��M�M�4�=�=�/� +�
���
���$�+�+�2�2�3r c � � | S �N� �r s r
� __enter__zSSLTransport.__enter__? s � ��r c �$ � | j � y r )�close)r �_s r
�__exit__zSSLTransport.__exit__B s � ��
�
�r c �6 � | j j � S r )r �filenor s r
r'