From 3c5180439a21c9cea35c41e25efc6d317a457e08 Mon Sep 17 00:00:00 2001 From: Oliver Papst Date: Tue, 4 Jan 2022 11:08:14 +0100 Subject: [PATCH] Print IPv6 url as hostname or enclosed in brackets * Display hostname instead of :: * Enclose literal IPv6 addresses in square brackets, e.g. [::1], to separate from port number --- jupyter_server/serverapp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jupyter_server/serverapp.py b/jupyter_server/serverapp.py index 6624d043ef..51ebd23f3e 100644 --- a/jupyter_server/serverapp.py +++ b/jupyter_server/serverapp.py @@ -1900,10 +1900,10 @@ def _get_urlparts(self, path=None, include_token=False): netloc = urlencode_unix_socket_path(self.sock) else: # Handle nonexplicit hostname. - if self.ip in ("", "0.0.0.0"): + if self.ip in ("", "0.0.0.0", "::"): ip = "%s" % socket.gethostname() else: - ip = self.ip + ip = "[{}]".format(self.ip) if ":" in self.ip else self.ip netloc = "{ip}:{port}".format(ip=ip, port=self.port) if self.certfile: scheme = "https"