MCPcopy Index your code
hub / github.com/MagicStack/asyncpg / _connect_addr

Function _connect_addr

asyncpg/connect_utils.py:1022–1059  ·  view source on GitHub ↗
(
    *,
    addr,
    loop,
    params,
    config,
    connection_class,
    record_class
)

Source from the content-addressed store, hash-verified

1020
1021
1022async def _connect_addr(
1023 *,
1024 addr,
1025 loop,
1026 params,
1027 config,
1028 connection_class,
1029 record_class
1030):
1031 assert loop is not None
1032
1033 params_input = params
1034 if callable(params.password):
1035 password = params.password()
1036 if inspect.isawaitable(password):
1037 password = await password
1038
1039 params = params._replace(password=password)
1040 args = (addr, loop, config, connection_class, record_class, params_input)
1041
1042 # prepare the params (which attempt has ssl) for the 2 attempts
1043 if params.sslmode == SSLMode.allow:
1044 params_retry = params
1045 params = params._replace(ssl=None)
1046 elif params.sslmode == SSLMode.prefer:
1047 params_retry = params._replace(ssl=None)
1048 else:
1049 # skip retry if we don't have to
1050 return await __connect_addr(params, False, *args)
1051
1052 # first attempt
1053 try:
1054 return await __connect_addr(params, True, *args)
1055 except _RetryConnectSignal:
1056 pass
1057
1058 # second attempt
1059 return await __connect_addr(params_retry, False, *args)
1060
1061
1062class _RetryConnectSignal(Exception):

Callers 1

_connectFunction · 0.85

Calls 1

__connect_addrFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…