Skip to content

Commit ee59054

Browse files
committed
Updates based on PR feedback
1 parent cff2cec commit ee59054

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

packages/smithy-http/src/smithy_http/aio/crt.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,10 +272,9 @@ def _marshal_request(
272272
:py:class:`smithy_http.aio.HTTPRequest`"""
273273
headers_list: list[tuple[str, str]] = []
274274
if "host" not in request.fields:
275-
host_header = request.destination.host
276-
if port := request.destination.port:
277-
host_header += f":{port}"
278-
request.fields.set_field(Field(name="host", values=[host_header]))
275+
request.fields.set_field(
276+
Field(name="host", values=[request.destination.netloc])
277+
)
279278

280279
if "accept" not in request.fields:
281280
request.fields.set_field(Field(name="accept", values=["*/*"]))

packages/smithy-http/tests/unit/aio/test_crt.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,25 @@ def test_client_marshal_request() -> None:
4545
assert crt_request.path == "/path?key1=value1&key2=value2"
4646

4747

48-
async def test_port_included_in_host_header() -> None:
48+
@pytest.mark.parametrize(
49+
"host,expected",
50+
[
51+
("example.com", "example.com:8443"),
52+
("2001:db8::1", "[2001:db8::1]:8443"),
53+
],
54+
)
55+
async def test_port_included_in_host_header(host: str, expected: str) -> None:
4956
client = AWSCRTHTTPClient()
5057
request = HTTPRequest(
5158
method="GET",
5259
destination=URI(
53-
host="example.com", path="/path", query="key1=value1&key2=value2", port=8443
60+
host=host, path="/path", query="key1=value1&key2=value2", port=8443
5461
),
5562
body=BytesIO(),
5663
fields=Fields(),
5764
)
5865
crt_request, _ = await client._marshal_request(request) # type: ignore
59-
assert crt_request.headers.get("host") == "example.com:8443" # type: ignore
66+
assert crt_request.headers.get("host") == expected # type: ignore
6067

6168

6269
async def test_body_generator_bytes() -> None:

0 commit comments

Comments
 (0)