Skip to content

Commit dc952ab

Browse files
authored
DEFAULT_CONNECT_TIMEOUT = 10.0 (#1519)
* `DEFAULT_CONNECT_TIMEOUT = 10.0` * unused
1 parent d502349 commit dc952ab

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

proxy/common/constants.py

+1
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def _env_threadless_compliant() -> bool:
149149
DEFAULT_THREADLESS = _env_threadless_compliant()
150150
DEFAULT_LOCAL_EXECUTOR = True
151151
DEFAULT_TIMEOUT = 10.0
152+
DEFAULT_CONNECT_TIMEOUT = 10.0
152153
DEFAULT_VERSION = False
153154
DEFAULT_HTTP_PORT = 80
154155
DEFAULT_HTTPS_PORT = 443

proxy/common/utils.py

+16-7
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
from .types import HostPort
2929
from .constants import (
3030
CRLF, COLON, HTTP_1_1, IS_WINDOWS, WHITESPACE, DEFAULT_TIMEOUT,
31-
DEFAULT_THREADLESS, PROXY_AGENT_HEADER_VALUE, DEFAULT_SSL_CONTEXT_OPTIONS,
31+
DEFAULT_THREADLESS, DEFAULT_CONNECT_TIMEOUT, PROXY_AGENT_HEADER_VALUE,
32+
DEFAULT_SSL_CONTEXT_OPTIONS,
3233
)
3334

3435

@@ -249,9 +250,10 @@ def wrap_socket(
249250

250251

251252
def new_socket_connection(
252-
addr: HostPort,
253-
timeout: float = DEFAULT_TIMEOUT,
254-
source_address: Optional[HostPort] = None,
253+
addr: HostPort,
254+
timeout: float = DEFAULT_TIMEOUT,
255+
connect_timeout: float = DEFAULT_CONNECT_TIMEOUT,
256+
source_address: Optional[HostPort] = None,
255257
) -> socket.socket:
256258
conn = None
257259
try:
@@ -260,22 +262,29 @@ def new_socket_connection(
260262
conn = socket.socket(
261263
socket.AF_INET, socket.SOCK_STREAM, 0,
262264
)
263-
conn.settimeout(timeout)
265+
conn.settimeout(connect_timeout)
264266
conn.connect(addr)
265267
else:
266268
conn = socket.socket(
267269
socket.AF_INET6, socket.SOCK_STREAM, 0,
268270
)
269-
conn.settimeout(timeout)
271+
conn.settimeout(connect_timeout)
270272
conn.connect((addr[0], addr[1], 0, 0))
271273
except ValueError:
272274
pass # does not appear to be an IPv4 or IPv6 address
273275

274276
if conn is not None:
277+
conn.settimeout(timeout)
275278
return conn
276279

277280
# try to establish dual stack IPv4/IPv6 connection.
278-
return socket.create_connection(addr, timeout=timeout, source_address=source_address)
281+
conn = socket.create_connection(
282+
addr,
283+
timeout=connect_timeout,
284+
source_address=source_address,
285+
)
286+
conn.settimeout(timeout)
287+
return conn
279288

280289

281290
class socket_connection(contextlib.ContextDecorator):

0 commit comments

Comments
 (0)