3 Pf2 @ s d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZm Z d dlZddlm Z ddlmZ ddlmZ yd dlZejZW n, eefk r dZG dd d eZY nX yeZW n$ ek r G d d deZY nX ddlmZmZmZmZ dd l m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z( ddl)m*Z* ddl+m,Z, ej-e.Z/dddZ0ej1dddZ2G dd de3Z4G dd dee3ZG dd deZ5G dd de5Z6dd Z7ere5Z8e6Z5ne4Z5dS ) )absolute_importN)errortimeout )six)HTTPConnection) HTTPExceptionc @ s e Zd ZdS )BaseSSLErrorN)__name__ __module____qualname__ r r /usr/lib/python3.6/connection.pyr s r c @ s e Zd ZdS )ConnectionErrorN)r r r r r r r r s r )NewConnectionErrorConnectTimeoutErrorSubjectAltNameWarningSystemTimeWarning)match_hostnameCertificateError)resolve_cert_reqsresolve_ssl_versionassert_fingerprintcreate_urllib3_contextssl_wrap_socket) connection)HTTPHeaderDictP i )httphttpsi c @ s e Zd ZdZdS )DummyConnectionz-Used to detect a failed ConnectionCls import.N)r r r __doc__r r r r r A s r c @ sV e Zd ZdZed ZejejdfgZ dZ dd Zdd Zd d Z dd ZdddZd S )r a{ Based on httplib.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. .. note:: This is ignored for Python 2.6. It is only applied for 2.7 and 3.x - ``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:: 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 r Fc O sZ t jr|jdd |jd| _tjdk r4|jdd |jd| j| _t j | f|| d S )Nstrictsource_address socket_options)r$ r% )r ZPY3popgetr# sysversion_infodefault_socket_optionsr&