File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff 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 = ["*/*" ]))
Original file line number Diff line number Diff 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
6269async def test_body_generator_bytes () -> None :
You can’t perform that action at this time.
0 commit comments