from ._models import Cookies, Headers, Request, Response
from ._status_codes import codes
from ._transports.base import AsyncBaseTransport, BaseTransport
-from ._transports.default import AsyncHTTPTransport, HTTPTransport
+from ._transports.default import SOCKET_OPTION, AsyncHTTPTransport, HTTPTransport
from ._types import (
AsyncByteStream,
AuthTypes,
timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
follow_redirects: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
max_redirects: int = DEFAULT_MAX_REDIRECTS,
event_hooks: None | (typing.Mapping[str, list[EventHook]]) = None,
base_url: URL | str = "",
http2=http2,
limits=limits,
transport=transport,
+ socket_options=socket_options,
)
self._mounts: dict[URLPattern, BaseTransport | None] = {
URLPattern(key): None
http1=http1,
http2=http2,
limits=limits,
+ socket_options=socket_options,
)
for key, proxy in proxy_map.items()
}
http1: bool = True,
http2: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
transport: BaseTransport | None = None,
) -> BaseTransport:
if transport is not None:
http1=http1,
http2=http2,
limits=limits,
+ socket_options=socket_options,
)
def _init_proxy_transport(
http1: bool = True,
http2: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
) -> BaseTransport:
return HTTPTransport(
verify=verify,
http2=http2,
limits=limits,
proxy=proxy,
+ socket_options=socket_options,
)
def _transport_for_url(self, url: URL) -> BaseTransport:
timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
follow_redirects: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
max_redirects: int = DEFAULT_MAX_REDIRECTS,
event_hooks: None | (typing.Mapping[str, list[EventHook]]) = None,
base_url: URL | str = "",
http2=http2,
limits=limits,
transport=transport,
+ socket_options=socket_options,
)
self._mounts: dict[URLPattern, AsyncBaseTransport | None] = {
http1=http1,
http2=http2,
limits=limits,
+ socket_options=socket_options,
)
for key, proxy in proxy_map.items()
}
http1: bool = True,
http2: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
transport: AsyncBaseTransport | None = None,
) -> AsyncBaseTransport:
if transport is not None:
http1=http1,
http2=http2,
limits=limits,
+ socket_options=socket_options,
)
def _init_proxy_transport(
http1: bool = True,
http2: bool = False,
limits: Limits = DEFAULT_LIMITS,
+ socket_options: typing.Iterable[SOCKET_OPTION] | None = None,
) -> AsyncBaseTransport:
return AsyncHTTPTransport(
verify=verify,
http2=http2,
limits=limits,
proxy=proxy,
+ socket_options=socket_options,
)
def _transport_for_url(self, url: URL) -> AsyncBaseTransport: