Skip to content

Commit

Permalink
Fix stream unsetting auth (#1312)
Browse files Browse the repository at this point in the history
* Fix ASGITransport path escaping

* Add failing test case for auth with streaming

* Fix .stream setting auth=None
  • Loading branch information
tomchristie committed Sep 23, 2020
1 parent 257b8fa commit d25f2bf
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 2 additions & 2 deletions httpx/_client.py
Expand Up @@ -234,7 +234,7 @@ def stream(
params: QueryParamTypes = None,
headers: HeaderTypes = None,
cookies: CookieTypes = None,
auth: AuthTypes = None,
auth: typing.Union[AuthTypes, UnsetType] = UNSET,
allow_redirects: bool = True,
timeout: typing.Union[TimeoutTypes, UnsetType] = UNSET,
) -> "StreamContextManager":
Expand Down Expand Up @@ -1786,7 +1786,7 @@ def __init__(
client: BaseClient,
request: Request,
*,
auth: AuthTypes = None,
auth: typing.Union[AuthTypes, UnsetType] = UNSET,
allow_redirects: bool = True,
timeout: typing.Union[TimeoutTypes, UnsetType] = UNSET,
close_client: bool = False,
Expand Down
17 changes: 17 additions & 0 deletions tests/client/test_auth.py
Expand Up @@ -162,6 +162,23 @@ async def test_basic_auth() -> None:
assert response.json() == {"auth": "Basic dG9tY2hyaXN0aWU6cGFzc3dvcmQxMjM="}


@pytest.mark.asyncio
async def test_basic_auth_with_stream() -> None:
"""
See: https://github.com/encode/httpx/pull/1312
"""
url = "https://example.org/"
auth = ("tomchristie", "password123")
app = App()

async with httpx.AsyncClient(transport=MockTransport(app), auth=auth) as client:
async with client.stream("GET", url) as response:
response.read()

assert response.status_code == 200
assert response.json() == {"auth": "Basic dG9tY2hyaXN0aWU6cGFzc3dvcmQxMjM="}


@pytest.mark.asyncio
async def test_basic_auth_in_url() -> None:
url = "https://tomchristie:password123@example.org/"
Expand Down

0 comments on commit d25f2bf

Please sign in to comment.