diff --git a/src/flask/app.py b/src/flask/app.py index 652b9bbf71..f32d44e142 100644 --- a/src/flask/app.py +++ b/src/flask/app.py @@ -721,7 +721,9 @@ def run( sn_host = sn_port = None if server_name: - sn_host, _, sn_port = server_name.partition(":") + sn_host, _, sn_port = server_name.rpartition(":") + if not _: + sn_host, sn_port = sn_port, None if not host: if sn_host: diff --git a/src/flask/testing.py b/src/flask/testing.py index 68b1ab48c6..89590e9d96 100644 --- a/src/flask/testing.py +++ b/src/flask/testing.py @@ -177,7 +177,7 @@ def session_transaction( app.session_interface.save_session(app, sess, resp) self._update_cookies_from_response( - ctx.request.host.partition(":")[0], + ctx.request.host.rpartition(":")[0] or ctx.request.host, ctx.request.path, resp.headers.getlist("Set-Cookie"), )