Add trust_env property to BaseClient (#187)

This commit is contained in:
Can Sarıgöl 2019-08-17 18:09:49 +03:00 committed by Seth Michael Larson
parent 23f11aaa8d
commit 04d5ffb01b
3 changed files with 36 additions and 28 deletions

View 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",

View 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",

View 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"
}