diff --git a/jupyterhub/spawner.py b/jupyterhub/spawner.py index 5d74c1f2..07e3b91e 100644 --- a/jupyterhub/spawner.py +++ b/jupyterhub/spawner.py @@ -703,7 +703,7 @@ class Spawner(LoggingConfigurable): @default("hub_connect_url") def _hub_connect_url(self): - return self.hub.api_url + return self.hub.connect_url def load_state(self, state): """Restore state of spawner from database. @@ -783,9 +783,10 @@ class Spawner(LoggingConfigurable): # Info previously passed on args env['JUPYTERHUB_USER'] = self.user.name env['JUPYTERHUB_SERVER_NAME'] = self.name - env['JUPYTERHUB_API_URL'] = self.hub_connect_url + hub_api_url = url_path_join(self.hub_connect_url, 'hub', 'api') + env['JUPYTERHUB_API_URL'] = hub_api_url env['JUPYTERHUB_ACTIVITY_URL'] = url_path_join( - self.hub_connect_url, + hub_api_url, 'users', # tolerate mocks defining only user.name getattr(self.user, 'escaped_name', self.user.name), diff --git a/jupyterhub/tests/test_spawner.py b/jupyterhub/tests/test_spawner.py index 463e9766..a453d760 100644 --- a/jupyterhub/tests/test_spawner.py +++ b/jupyterhub/tests/test_spawner.py @@ -418,7 +418,7 @@ async def test_spawner_env(db): async def test_hub_connect_url(db): - spawner = new_spawner(db, hub_connect_url="https://example.com/hub/api") + spawner = new_spawner(db, hub_connect_url="https://example.com/") name = spawner.user.name env = spawner.get_env() assert env["JUPYTERHUB_API_URL"] == "https://example.com/hub/api"