Viewing File: /opt/alt/python38/lib/python3.8/site-packages/urllib3/util/__pycache__/connection.cpython-38.pyc
U
`, @ s d dl mZ d dlZd dlmZ ddlmZ ddlmZ ddl m
Z
mZ d d
Zej
ddfddZd
d Zdd Zdd ZedZdS ) )absolute_importN)LocationParseError )_appengine_environ)six )NoWayToWaitForSocketError
wait_for_readc C sN t | dd}|dkrdS |dkr$dS zt|ddW S tk
rH Y dS X dS )a$
Returns True if the connection is dropped and should be closed.
:param conn:
:class:`http.client.HTTPConnection` object.
Note: For platforms like AppEngine, this will always return ``False`` to
let the platform handle connection recycling transparently for us.
sockFNTg )timeout)getattrr r )Zconnr
r
H/opt/alt/python38/lib/python3.8/site-packages/urllib3/util/connection.pyis_connection_dropped s
r c C s4 | \}}| dr|d}d}t }z|d W n( tk
r\ ttd| d Y S X t |||tj
D ]}|\} }
}}}
d}zNt| |
|}t|| |tjk r|
| |r|| ||
|W S tjk
r } z|}|dk r| d}W 5 d}~X Y qpX qp|dk r&|tddS )ak Connect to *address* and return the socket object.
Convenience function. Connect to *address* (a 2-tuple ``(host,
port)``) and return the socket object. Passing the optional
*timeout* parameter will set the timeout on the socket instance
before attempting to connect. If no *timeout* is supplied, the
global default timeout setting returned by :func:`socket.getdefaulttimeout`
is used. If *source_address* is set it must be a tuple of (host, port)
for the socket to bind as a source address before making the connection.
An host of '' or port 0 tells the OS to use the default.
[z[]NZidnaz'%s', label empty or too longz!getaddrinfo returns an empty list)
startswithstripallowed_gai_familyencodeUnicodeErrorr Z
raise_fromr socketZgetaddrinfoZSOCK_STREAM_set_socket_options_GLOBAL_DEFAULT_TIMEOUTZ
settimeoutbindZconnecterrorclose)Zaddressr Zsource_addressZsocket_optionshostZporterrfamilyresZafZsocktypeprotoZ canonnameZsar
er
r
r create_connection&