int, typing.List[typing.Tuple[bytes, bytes]], typing.AsyncIterable[bytes], dict
]:
with map_httpcore_exceptions():
- status_code, headers, byte_stream, extenstions = await self._pool.arequest(
+ status_code, headers, byte_stream, extensions = await self._pool.arequest(
method=method,
url=url,
headers=headers,
response = await client.get("https://www.example.com")
assert response.status_code == 200
assert response.text == "Hello, world!"
+
+
+@pytest.mark.usefixtures("async_environment")
+async def test_server_extensions(server):
+ url = server.url
+ async with httpx.AsyncClient(http2=True) as client:
+ response = await client.get(url)
+ assert response.status_code == 200
+ assert response.extensions["http_version"] == b"HTTP/1.1"
response = client.get("https://www.example.com")
assert response.status_code == 200
assert response.json() == {"app": "mounted"}
+
+
+def test_server_extensions(server):
+ url = server.url.copy_with(path="/http_version_2")
+ with httpx.Client(http2=True) as client:
+ response = client.get(url)
+ assert response.status_code == 200
+ assert response.extensions["http_version"] == b"HTTP/1.1"