File: //lib/python3/dist-packages/urllib3/__pycache__/connection.cpython-310.pyc
o
��7eI � @ s d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlm
Z d dlZd dl
mZ d dl
mZ ddlmZ z d dlZejZW n eefy^ dZG d d
� d
e�ZY nw zeZW n eyt G dd� de�ZY nw zeZW n ey� G d
d� de�ZY nw ddlmZ ddlm Z ddl!m"Z"m#Z#m$Z$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2 e�3e4�Z5ddd�Z6e�7ddd�Z8e�9d�Z:G dd� dee;�ZG dd� de�Z<dd � Z=d!d"� Z>G d#d$� d$e;�Z?es�e?Z<e<Z@dS )%� )�absolute_importN)�error)�timeout)�HTTPConnection)�
HTTPException� )�create_proxy_ssl_contextc @ � e Zd ZdS )�BaseSSLErrorN��__name__�
__module__�__qualname__� r r �4/usr/lib/python3/dist-packages/urllib3/connection.pyr
� r
c @ r )�ConnectionErrorNr r r r r r ! r r c @ r )�BrokenPipeErrorNr r r r r r * r r )�HTTPHeaderDict��__version__)�ConnectTimeoutError�NewConnectionError�SubjectAltNameWarning�SystemTimeWarning)�CertificateError�match_hostname)�SKIP_HEADER�SKIPPABLE_HEADERS�
connection)�assert_fingerprint�create_urllib3_context�resolve_cert_reqs�resolve_ssl_version�ssl_wrap_socket�P i� )�http�httpsi� � z[^-!#$%&'*+.^_`|~0-9a-zA-Z]c s� e Zd ZdZed ZejejdfgZ dZ
dd� Zedd� �Z
e
jd d� �Z
d
d� Zdd
� Zdd� Zdd� Zdd� Zdd� Zd� fdd� Zddd�Z� ZS )r a5
Based on :class:`http.client.HTTPConnection` but provides an extra constructor
backwards-compatibility layer between older and newer Pythons.
Additional keyword parameters are used to configure attributes of the connection.
Accepted parameters include:
- ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool`
- ``source_address``: Set the source address for the current connection.
- ``socket_options``: Set specific options on the underlying socket. If not specified, then
defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling
Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy.
For example, if you wish to enable TCP Keep Alive in addition to the defaults,
you might pass:
.. code-block:: python
HTTPConnection.default_socket_options + [
(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
]
Or you may want to disable the defaults by passing an empty list (e.g., ``[]``).
r&