git: 5b718ffa36da - main - www/py-httpx: Allow build with py-httpcore 0.15.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 22 May 2022 05:16:08 UTC
The branch main has been updated by sunpoet:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5b718ffa36da92349f14039f9af5a4c7aa9b7d8e
commit 5b718ffa36da92349f14039f9af5a4c7aa9b7d8e
Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-05-22 05:08:55 +0000
Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-05-22 05:08:55 +0000
www/py-httpx: Allow build with py-httpcore 0.15.0
- While I'm here, remove py-rfc3986 patch from setup.py and update RUN_DEPENDS
- Bump PORTREVISION for package change
Obtained from: https://github.com/encode/httpx/commit/14a1704be507cf435fa84da75c249c2ecd1c3981
---
www/py-httpx/Makefile | 5 +-
www/py-httpx/files/patch-httpcore | 1414 +++++++++++++++++++++++++++++++++++++
www/py-httpx/files/patch-setup.py | 9 -
3 files changed, 1417 insertions(+), 11 deletions(-)
diff --git a/www/py-httpx/Makefile b/www/py-httpx/Makefile
index a86d24b3f6f9..eca23317d640 100644
--- a/www/py-httpx/Makefile
+++ b/www/py-httpx/Makefile
@@ -2,6 +2,7 @@
PORTNAME= httpx
PORTVERSION= 0.22.0
+PORTREVISION= 1
CATEGORIES= www python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,9 +16,9 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
# idna is from rfc3986[idna2008]
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}charset-normalizer>=0:textproc/py-charset-normalizer@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}httpcore>=0.14.5<0.15.0:www/py-httpcore@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}httpcore>=0.15.0<0.16.0:www/py-httpcore@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}idna>=0:dns/py-idna@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}rfc3986>=1.3,1:www/py-rfc3986@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rfc3986>=1.3,1<2,1:www/py-rfc3986@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sniffio>=0:devel/py-sniffio@${PY_FLAVOR}
USES= cpe python:3.7+
diff --git a/www/py-httpx/files/patch-httpcore b/www/py-httpx/files/patch-httpcore
new file mode 100644
index 000000000000..5d0d9153bea8
--- /dev/null
+++ b/www/py-httpx/files/patch-httpcore
@@ -0,0 +1,1414 @@
+Obtained from: https://github.com/encode/httpx/commit/14a1704be507cf435fa84da75c249c2ecd1c3981
+
+--- httpx/_api.py.orig 2022-01-26 14:49:48 UTC
++++ httpx/_api.py
+@@ -24,19 +24,19 @@ def request(
+ method: str,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ follow_redirects: bool = False,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ trust_env: bool = True,
+ ) -> Response:
+ """
+@@ -116,19 +116,19 @@ def stream(
+ method: str,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ follow_redirects: bool = False,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ trust_env: bool = True,
+ ) -> typing.Iterator[Response]:
+ """
+@@ -167,13 +167,13 @@ def stream(
+ def get(
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -205,13 +205,13 @@ def get(
+ def options(
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -243,13 +243,13 @@ def options(
+ def head(
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -281,17 +281,17 @@ def head(
+ def post(
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -324,17 +324,17 @@ def post(
+ def put(
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -367,17 +367,17 @@ def put(
+ def patch(
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+@@ -410,13 +410,13 @@ def patch(
+ def delete(
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: AuthTypes = None,
+- proxies: ProxiesTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Optional[AuthTypes] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
+ follow_redirects: bool = False,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ trust_env: bool = True,
+--- httpx/_client.py.orig 2022-01-26 14:49:48 UTC
++++ httpx/_client.py
+@@ -155,14 +155,16 @@ class BaseClient:
+ def __init__(
+ self,
+ *,
+- auth: AuthTypes = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ auth: typing.Optional[AuthTypes] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ follow_redirects: bool = False,
+ max_redirects: int = DEFAULT_MAX_REDIRECTS,
+- event_hooks: typing.Mapping[str, typing.List[typing.Callable]] = None,
++ event_hooks: typing.Optional[
++ typing.Mapping[str, typing.List[typing.Callable]]
++ ] = None,
+ base_url: URLTypes = "",
+ trust_env: bool = True,
+ ):
+@@ -315,15 +317,15 @@ class BaseClient:
+ method: str,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Request:
+ """
+ Build and return a request instance.
+@@ -384,7 +386,7 @@ class BaseClient:
+ return merge_url
+
+ def _merge_cookies(
+- self, cookies: CookieTypes = None
++ self, cookies: typing.Optional[CookieTypes] = None
+ ) -> typing.Optional[CookieTypes]:
+ """
+ Merge a cookies argument together with any cookies on the client,
+@@ -397,7 +399,7 @@ class BaseClient:
+ return cookies
+
+ def _merge_headers(
+- self, headers: HeaderTypes = None
++ self, headers: typing.Optional[HeaderTypes] = None
+ ) -> typing.Optional[HeaderTypes]:
+ """
+ Merge a headers argument together with any headers on the client,
+@@ -408,7 +410,7 @@ class BaseClient:
+ return merged_headers
+
+ def _merge_queryparams(
+- self, params: QueryParamTypes = None
++ self, params: typing.Optional[QueryParamTypes] = None
+ ) -> typing.Optional[QueryParamTypes]:
+ """
+ Merge a queryparams argument together with any queryparams on the client,
+@@ -419,7 +421,7 @@ class BaseClient:
+ return merged_queryparams.merge(params)
+ return params
+
+- def _build_auth(self, auth: AuthTypes) -> typing.Optional[Auth]:
++ def _build_auth(self, auth: typing.Optional[AuthTypes]) -> typing.Optional[Auth]:
+ if auth is None:
+ return None
+ elif isinstance(auth, tuple):
+@@ -434,7 +436,7 @@ class BaseClient:
+ def _build_request_auth(
+ self,
+ request: Request,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ ) -> Auth:
+ auth = (
+ self._auth if isinstance(auth, UseClientDefault) else self._build_auth(auth)
+@@ -612,24 +614,26 @@ class Client(BaseClient):
+ def __init__(
+ self,
+ *,
+- auth: AuthTypes = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ auth: typing.Optional[AuthTypes] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+- proxies: ProxiesTypes = None,
+- mounts: typing.Mapping[str, BaseTransport] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
++ mounts: typing.Optional[typing.Mapping[str, BaseTransport]] = None,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ follow_redirects: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+ max_redirects: int = DEFAULT_MAX_REDIRECTS,
+- event_hooks: typing.Mapping[str, typing.List[typing.Callable]] = None,
++ event_hooks: typing.Optional[
++ typing.Mapping[str, typing.List[typing.Callable]]
++ ] = None,
+ base_url: URLTypes = "",
+- transport: BaseTransport = None,
+- app: typing.Callable = None,
++ transport: typing.Optional[BaseTransport] = None,
++ app: typing.Optional[typing.Callable] = None,
+ trust_env: bool = True,
+ ):
+ super().__init__(
+@@ -691,12 +695,12 @@ class Client(BaseClient):
+ def _init_transport(
+ self,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+- transport: BaseTransport = None,
+- app: typing.Callable = None,
++ transport: typing.Optional[BaseTransport] = None,
++ app: typing.Optional[typing.Callable] = None,
+ trust_env: bool = True,
+ ) -> BaseTransport:
+ if transport is not None:
+@@ -718,7 +722,7 @@ class Client(BaseClient):
+ self,
+ proxy: Proxy,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+@@ -750,17 +754,17 @@ class Client(BaseClient):
+ method: str,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Build and send a request.
+@@ -807,17 +811,17 @@ class Client(BaseClient):
+ method: str,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> typing.Iterator[Response]:
+ """
+ Alternative to `httpx.request()` that streams the response body
+@@ -858,7 +862,7 @@ class Client(BaseClient):
+ request: Request,
+ *,
+ stream: bool = False,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ ) -> Response:
+ """
+@@ -1009,13 +1013,13 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `GET` request.
+@@ -1038,13 +1042,13 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send an `OPTIONS` request.
+@@ -1067,13 +1071,13 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `HEAD` request.
+@@ -1096,17 +1100,17 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `POST` request.
+@@ -1133,17 +1137,17 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `PUT` request.
+@@ -1170,17 +1174,17 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `PATCH` request.
+@@ -1207,13 +1211,13 @@ class Client(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `DELETE` request.
+@@ -1262,9 +1266,9 @@ class Client(BaseClient):
+
+ def __exit__(
+ self,
+- exc_type: typing.Type[BaseException] = None,
+- exc_value: BaseException = None,
+- traceback: TracebackType = None,
++ exc_type: typing.Optional[typing.Type[BaseException]] = None,
++ exc_value: typing.Optional[BaseException] = None,
++ traceback: typing.Optional[TracebackType] = None,
+ ) -> None:
+ self._state = ClientState.CLOSED
+
+@@ -1325,24 +1329,26 @@ class AsyncClient(BaseClient):
+ def __init__(
+ self,
+ *,
+- auth: AuthTypes = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ auth: typing.Optional[AuthTypes] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+- proxies: ProxiesTypes = None,
+- mounts: typing.Mapping[str, AsyncBaseTransport] = None,
++ proxies: typing.Optional[ProxiesTypes] = None,
++ mounts: typing.Optional[typing.Mapping[str, AsyncBaseTransport]] = None,
+ timeout: TimeoutTypes = DEFAULT_TIMEOUT_CONFIG,
+ follow_redirects: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+ max_redirects: int = DEFAULT_MAX_REDIRECTS,
+- event_hooks: typing.Mapping[str, typing.List[typing.Callable]] = None,
++ event_hooks: typing.Optional[
++ typing.Mapping[str, typing.List[typing.Callable]]
++ ] = None,
+ base_url: URLTypes = "",
+- transport: AsyncBaseTransport = None,
+- app: typing.Callable = None,
++ transport: typing.Optional[AsyncBaseTransport] = None,
++ app: typing.Optional[typing.Callable] = None,
+ trust_env: bool = True,
+ ):
+ super().__init__(
+@@ -1404,12 +1410,12 @@ class AsyncClient(BaseClient):
+ def _init_transport(
+ self,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+- transport: AsyncBaseTransport = None,
+- app: typing.Callable = None,
++ transport: typing.Optional[AsyncBaseTransport] = None,
++ app: typing.Optional[typing.Callable] = None,
+ trust_env: bool = True,
+ ) -> AsyncBaseTransport:
+ if transport is not None:
+@@ -1431,7 +1437,7 @@ class AsyncClient(BaseClient):
+ self,
+ proxy: Proxy,
+ verify: VerifyTypes = True,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ http1: bool = True,
+ http2: bool = False,
+ limits: Limits = DEFAULT_LIMITS,
+@@ -1462,17 +1468,17 @@ class AsyncClient(BaseClient):
+ method: str,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Build and send a request.
+@@ -1511,17 +1517,17 @@ class AsyncClient(BaseClient):
+ method: str,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> typing.AsyncIterator[Response]:
+ """
+ Alternative to `httpx.request()` that streams the response body
+@@ -1562,7 +1568,7 @@ class AsyncClient(BaseClient):
+ request: Request,
+ *,
+ stream: bool = False,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ ) -> Response:
+ """
+@@ -1713,13 +1719,13 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
+- auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
++ auth: typing.Union[AuthTypes, UseClientDefault, None] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `GET` request.
+@@ -1742,13 +1748,13 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send an `OPTIONS` request.
+@@ -1771,13 +1777,13 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `HEAD` request.
+@@ -1800,17 +1806,17 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `POST` request.
+@@ -1837,17 +1843,17 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `PUT` request.
+@@ -1874,17 +1880,17 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- content: RequestContent = None,
+- data: RequestData = None,
+- files: RequestFiles = None,
+- json: typing.Any = None,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ content: typing.Optional[RequestContent] = None,
++ data: typing.Optional[RequestData] = None,
++ files: typing.Optional[RequestFiles] = None,
++ json: typing.Optional[typing.Any] = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `PATCH` request.
+@@ -1911,13 +1917,13 @@ class AsyncClient(BaseClient):
+ self,
+ url: URLTypes,
+ *,
+- params: QueryParamTypes = None,
+- headers: HeaderTypes = None,
+- cookies: CookieTypes = None,
++ params: typing.Optional[QueryParamTypes] = None,
++ headers: typing.Optional[HeaderTypes] = None,
++ cookies: typing.Optional[CookieTypes] = None,
+ auth: typing.Union[AuthTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+ follow_redirects: typing.Union[bool, UseClientDefault] = USE_CLIENT_DEFAULT,
+ timeout: typing.Union[TimeoutTypes, UseClientDefault] = USE_CLIENT_DEFAULT,
+- extensions: dict = None,
++ extensions: typing.Optional[dict] = None,
+ ) -> Response:
+ """
+ Send a `DELETE` request.
+@@ -1966,9 +1972,9 @@ class AsyncClient(BaseClient):
+
+ async def __aexit__(
+ self,
+- exc_type: typing.Type[BaseException] = None,
+- exc_value: BaseException = None,
+- traceback: TracebackType = None,
++ exc_type: typing.Optional[typing.Type[BaseException]] = None,
++ exc_value: typing.Optional[BaseException] = None,
++ traceback: typing.Optional[TracebackType] = None,
+ ) -> None:
+ self._state = ClientState.CLOSED
+
+--- httpx/_config.py.orig 2022-01-26 14:49:48 UTC
++++ httpx/_config.py
+@@ -41,7 +41,7 @@ UNSET = UnsetType()
+
+
+ def create_ssl_context(
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ trust_env: bool = True,
+ http2: bool = False,
+@@ -61,7 +61,7 @@ class SSLConfig:
+ def __init__(
+ self,
+ *,
+- cert: CertTypes = None,
++ cert: typing.Optional[CertTypes] = None,
+ verify: VerifyTypes = True,
+ trust_env: bool = True,
+ http2: bool = False,
+@@ -289,8 +289,8 @@ class Limits:
+ def __init__(
+ self,
+ *,
+- max_connections: int = None,
+- max_keepalive_connections: int = None,
++ max_connections: typing.Optional[int] = None,
++ max_keepalive_connections: typing.Optional[int] = None,
+ keepalive_expiry: typing.Optional[float] = 5.0,
+ ):
+ self.max_connections = max_connections
+@@ -319,8 +319,8 @@ class Proxy:
+ self,
+ url: URLTypes,
+ *,
+- auth: typing.Tuple[str, str] = None,
+- headers: HeaderTypes = None,
++ auth: typing.Optional[typing.Tuple[str, str]] = None,
*** 498 LINES SKIPPED ***