Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 17 additions & 13 deletions notebook/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,19 +58,6 @@ def get_page_config(self):
"exposeAppInBrowser": app.expose_app_in_browser,
}

if "hub_prefix" in app.serverapp.tornado_settings:
tornado_settings = app.serverapp.tornado_settings
hub_prefix = tornado_settings["hub_prefix"]
page_config["hubPrefix"] = hub_prefix
page_config["hubHost"] = tornado_settings["hub_host"]
page_config["hubUser"] = tornado_settings["user"]
page_config["shareUrl"] = ujoin(hub_prefix, "user-redirect")
# Assume the server_name property indicates running JupyterHub 1.0.
if hasattr(app.serverapp, "server_name"):
page_config["hubServerName"] = app.serverapp.server_name
api_token = os.getenv("JUPYTERHUB_API_TOKEN", "")
page_config["token"] = api_token

server_root = self.settings.get("server_root_dir", "")
server_root = server_root.replace(os.sep, "/")
server_root = os.path.normpath(os.path.expanduser(server_root))
Expand Down Expand Up @@ -325,6 +312,23 @@ def initialize_handlers(self):
nbclassic_enabled = self.server_extension_is_enabled("nbclassic")
page_config["nbclassic_enabled"] = nbclassic_enabled

# If running under JupyterHub, add more metadata.
if "hub_prefix" in self.serverapp.tornado_settings:
tornado_settings = self.serverapp.tornado_settings
hub_prefix = tornado_settings["hub_prefix"]
page_config["hubPrefix"] = hub_prefix
page_config["hubHost"] = tornado_settings["hub_host"]
page_config["hubUser"] = tornado_settings["user"]
page_config["shareUrl"] = ujoin(hub_prefix, "user-redirect")
# Assume the server_name property indicates running JupyterHub 1.0.
if hasattr(self.serverapp, "server_name"):
page_config["hubServerName"] = self.serverapp.server_name
# avoid setting API token in page config
# $JUPYTERHUB_API_TOKEN identifies the server, not the client
# but at least make sure we don't use the token
# if the serverapp set one
page_config["token"] = ""

self.handlers.append(
(
rf"/{self.file_url_prefix}/((?!.*\.ipynb($|\?)).*)",
Expand Down