From: Tom Christie Date: Mon, 22 Apr 2019 21:12:46 +0000 (+0100) Subject: Add client.request X-Git-Tag: 0.2.0~1^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a362c0b017e764a5d0411b270ed22debad8d4fd;p=thirdparty%2Fhttpx.git Add client.request --- diff --git a/httpcore/connections.py b/httpcore/connections.py index dadcfd90..c9b69573 100644 --- a/httpcore/connections.py +++ b/httpcore/connections.py @@ -40,6 +40,7 @@ class Connection: async def send( self, request: Request, + *, ssl: typing.Optional[SSLConfig] = None, timeout: typing.Optional[TimeoutConfig] = None, stream: bool = False, diff --git a/httpcore/datastructures.py b/httpcore/datastructures.py index d6cadc42..09c288bc 100644 --- a/httpcore/datastructures.py +++ b/httpcore/datastructures.py @@ -2,6 +2,7 @@ import http import typing from urllib.parse import urlsplit +from .config import SSLConfig, TimeoutConfig from .decoders import ( ACCEPT_ENCODING, SUPPORTED_DECODERS, @@ -238,7 +239,28 @@ class Response: class Client: - async def send(self, request: Request, **options: typing.Any) -> Response: + async def request( + self, + method: str, + url: typing.Union[str, URL], + *, + headers: typing.Sequence[typing.Tuple[bytes, bytes]] = (), + body: typing.Union[bytes, typing.AsyncIterator[bytes]] = b"", + ssl: typing.Optional[SSLConfig] = None, + timeout: typing.Optional[TimeoutConfig] = None, + stream: bool = False, + ) -> Response: + request = Request(method, url, headers=headers, body=body) + return await self.send(request, ssl=ssl, timeout=timeout, stream=stream) + + async def send( + self, + request: Request, + *, + ssl: typing.Optional[SSLConfig] = None, + timeout: typing.Optional[TimeoutConfig] = None, + stream: bool = False, + ) -> Response: raise NotImplementedError() # pragma: nocover async def close(self) -> None: diff --git a/httpcore/pool.py b/httpcore/pool.py index 1a846628..3f9ecd70 100644 --- a/httpcore/pool.py +++ b/httpcore/pool.py @@ -54,6 +54,7 @@ class ConnectionPool: async def send( self, request: Request, + *, ssl: typing.Optional[SSLConfig] = None, timeout: typing.Optional[TimeoutConfig] = None, stream: bool = False,