]> git.ipfire.org Git - thirdparty/httpx.git/commitdiff
Add trust_env property to BaseClient (#187)
authorCan Sarıgöl <cansarigol@derinbilgi.com.tr>
Sat, 17 Aug 2019 15:09:49 +0000 (18:09 +0300)
committerSeth Michael Larson <sethmichaellarson@gmail.com>
Sat, 17 Aug 2019 15:09:49 +0000 (10:09 -0500)
httpx/api.py
httpx/client.py
tests/client/test_auth.py

index be3390e430e13018ac0c8aaea35c1041f04a129a..84892880cb27098f9f76ecfe9a0ab50998e63de2 100644 (file)
@@ -32,7 +32,7 @@ def request(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     stream: bool = False,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     with Client() as client:
         return client.request(
@@ -66,7 +66,7 @@ def get(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "GET",
@@ -96,7 +96,7 @@ def options(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "OPTIONS",
@@ -126,7 +126,7 @@ def head(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "HEAD",
@@ -159,7 +159,7 @@ def post(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "POST",
@@ -195,7 +195,7 @@ def put(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "PUT",
@@ -231,7 +231,7 @@ def patch(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "PATCH",
@@ -267,7 +267,7 @@ def delete(
     cert: CertTypes = None,
     verify: VerifyTypes = True,
     timeout: TimeoutTypes = None,
-    trust_env: bool = True,
+    trust_env: bool = None,
 ) -> Response:
     return request(
         "DELETE",
index 9d704b33e95d9b915103f519326e13039129b8f7..4a2fb88ed3fddc6795b100872a219104fb7e1968 100644 (file)
@@ -65,7 +65,7 @@ class BaseClient:
         app: typing.Callable = None,
         raise_app_exceptions: bool = True,
         backend: ConcurrencyBackend = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ):
         if backend is None:
             backend = AsyncioBackend()
@@ -106,7 +106,7 @@ class BaseClient:
         self.max_redirects = max_redirects
         self.dispatch = async_dispatch
         self.concurrency_backend = backend
-        self.trust_env = trust_env
+        self.trust_env = True if trust_env is None else trust_env
 
     def merge_url(self, url: URLTypes) -> URL:
         url = self.base_url.join(relative_url=url)
@@ -142,7 +142,7 @@ class BaseClient:
         verify: VerifyTypes = None,
         cert: CertTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         if auth is None:
             auth = self.auth
@@ -155,7 +155,7 @@ class BaseClient:
         if auth is None:
             if url.username or url.password:
                 auth = HTTPBasicAuth(username=url.username, password=url.password)
-            elif trust_env:
+            elif self.trust_env if trust_env is None else trust_env:
                 netrc_login = get_netrc_login(url.authority)
                 if netrc_login:
                     netrc_username, _, netrc_password = netrc_login
@@ -342,7 +342,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "GET",
@@ -372,7 +372,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "OPTIONS",
@@ -402,7 +402,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "HEAD",
@@ -435,7 +435,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "POST",
@@ -471,7 +471,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "PUT",
@@ -507,7 +507,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "PATCH",
@@ -543,7 +543,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         return await self.request(
             "DELETE",
@@ -580,7 +580,7 @@ class AsyncClient(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> AsyncResponse:
         url = self.merge_url(url)
         headers = self.merge_headers(headers)
@@ -664,7 +664,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         url = self.merge_url(url)
         headers = self.merge_headers(headers)
@@ -733,7 +733,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "GET",
@@ -763,7 +763,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "OPTIONS",
@@ -793,7 +793,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "HEAD",
@@ -826,7 +826,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "POST",
@@ -862,7 +862,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "PUT",
@@ -898,7 +898,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "PATCH",
@@ -934,7 +934,7 @@ class Client(BaseClient):
         cert: CertTypes = None,
         verify: VerifyTypes = None,
         timeout: TimeoutTypes = None,
-        trust_env: bool = True,
+        trust_env: bool = None,
     ) -> Response:
         return self.request(
             "DELETE",
index 9127df869edd096cc738f4c208ceb1c5dd232580..6cc64a7ea1de601115fb9274a9a0614bb854ebf5 100644 (file)
@@ -92,3 +92,11 @@ def test_trust_env_auth():
 
     assert response.status_code == 200
     assert response.json() == {"auth": None}
+
+    with Client(dispatch=MockDispatch(), trust_env=False) as client:
+        response = client.get(url, trust_env=True)
+
+    assert response.status_code == 200
+    assert response.json() == {
+        "auth": "Basic ZXhhbXBsZS11c2VybmFtZTpleGFtcGxlLXBhc3N3b3Jk"
+    }