diff --git a/aiohttp/client_reqrep.py b/aiohttp/client_reqrep.py index fe723cec6c8..b053f39aafa 100644 --- a/aiohttp/client_reqrep.py +++ b/aiohttp/client_reqrep.py @@ -112,6 +112,9 @@ def update_host(self, url): # get host/port host = url_parsed.hostname + if not host: + raise ValueError('Host could not be detected.') + try: port = url_parsed.port except ValueError: diff --git a/tests/test_client_request.py b/tests/test_client_request.py index 912d9563647..155b23a5e3b 100644 --- a/tests/test_client_request.py +++ b/tests/test_client_request.py @@ -96,6 +96,11 @@ def test_host_port_err(self): ValueError, ClientRequest, 'get', 'http://python.org:123e/', loop=self.loop) + def test_hostname_err(self): + self.assertRaises( + ValueError, ClientRequest, 'get', 'http://:8080/', + loop=self.loop) + def test_host_header(self): req = ClientRequest('get', 'http://python.org/', loop=self.loop) self.assertEqual(req.headers['HOST'], 'python.org')