Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions httpx/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
40 changes: 20 additions & 20 deletions httpx/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def __init__(
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()
Expand Down Expand Up @@ -106,7 +106,7 @@ def __init__(
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)
Expand Down Expand Up @@ -142,7 +142,7 @@ async def send(
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
Expand All @@ -155,7 +155,7 @@ async def send(
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
Expand Down Expand Up @@ -342,7 +342,7 @@ async def get(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't want to get rid of trust_env here - we just want to change the behavior so that if trust_env == None then the client default is used, but if trust_env in (True, False) then the explicitly requested behaviour is used.

trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"GET",
Expand Down Expand Up @@ -372,7 +372,7 @@ async def options(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"OPTIONS",
Expand Down Expand Up @@ -402,7 +402,7 @@ async def head(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"HEAD",
Expand Down Expand Up @@ -435,7 +435,7 @@ async def post(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"POST",
Expand Down Expand Up @@ -471,7 +471,7 @@ async def put(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"PUT",
Expand Down Expand Up @@ -507,7 +507,7 @@ async def patch(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"PATCH",
Expand Down Expand Up @@ -543,7 +543,7 @@ async def delete(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> AsyncResponse:
return await self.request(
"DELETE",
Expand Down Expand Up @@ -580,7 +580,7 @@ async def request(
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)
Expand Down Expand Up @@ -664,7 +664,7 @@ def request(
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)
Expand Down Expand Up @@ -733,7 +733,7 @@ def get(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"GET",
Expand Down Expand Up @@ -763,7 +763,7 @@ def options(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"OPTIONS",
Expand Down Expand Up @@ -793,7 +793,7 @@ def head(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"HEAD",
Expand Down Expand Up @@ -826,7 +826,7 @@ def post(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"POST",
Expand Down Expand Up @@ -862,7 +862,7 @@ def put(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"PUT",
Expand Down Expand Up @@ -898,7 +898,7 @@ def patch(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"PATCH",
Expand Down Expand Up @@ -934,7 +934,7 @@ def delete(
cert: CertTypes = None,
verify: VerifyTypes = None,
timeout: TimeoutTypes = None,
trust_env: bool = True,
trust_env: bool = None,
) -> Response:
return self.request(
"DELETE",
Expand Down
8 changes: 8 additions & 0 deletions tests/client/test_auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}