Skip to content

Commit 33a383d

Browse files
authored
Align handling of JupyterHub with JupyterLab (#6918)
1 parent 4b1cf32 commit 33a383d

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

notebook/app.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,6 @@ def get_page_config(self):
5858
"exposeAppInBrowser": app.expose_app_in_browser,
5959
}
6060

61-
if "hub_prefix" in app.serverapp.tornado_settings:
62-
tornado_settings = app.serverapp.tornado_settings
63-
hub_prefix = tornado_settings["hub_prefix"]
64-
page_config["hubPrefix"] = hub_prefix
65-
page_config["hubHost"] = tornado_settings["hub_host"]
66-
page_config["hubUser"] = tornado_settings["user"]
67-
page_config["shareUrl"] = ujoin(hub_prefix, "user-redirect")
68-
# Assume the server_name property indicates running JupyterHub 1.0.
69-
if hasattr(app.serverapp, "server_name"):
70-
page_config["hubServerName"] = app.serverapp.server_name
71-
api_token = os.getenv("JUPYTERHUB_API_TOKEN", "")
72-
page_config["token"] = api_token
73-
7461
server_root = self.settings.get("server_root_dir", "")
7562
server_root = server_root.replace(os.sep, "/")
7663
server_root = os.path.normpath(os.path.expanduser(server_root))
@@ -325,6 +312,23 @@ def initialize_handlers(self):
325312
nbclassic_enabled = self.server_extension_is_enabled("nbclassic")
326313
page_config["nbclassic_enabled"] = nbclassic_enabled
327314

315+
# If running under JupyterHub, add more metadata.
316+
if "hub_prefix" in self.serverapp.tornado_settings:
317+
tornado_settings = self.serverapp.tornado_settings
318+
hub_prefix = tornado_settings["hub_prefix"]
319+
page_config["hubPrefix"] = hub_prefix
320+
page_config["hubHost"] = tornado_settings["hub_host"]
321+
page_config["hubUser"] = tornado_settings["user"]
322+
page_config["shareUrl"] = ujoin(hub_prefix, "user-redirect")
323+
# Assume the server_name property indicates running JupyterHub 1.0.
324+
if hasattr(self.serverapp, "server_name"):
325+
page_config["hubServerName"] = self.serverapp.server_name
326+
# avoid setting API token in page config
327+
# $JUPYTERHUB_API_TOKEN identifies the server, not the client
328+
# but at least make sure we don't use the token
329+
# if the serverapp set one
330+
page_config["token"] = ""
331+
328332
self.handlers.append(
329333
(
330334
rf"/{self.file_url_prefix}/((?!.*\.ipynb($|\?)).*)",

0 commit comments

Comments
 (0)