mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-18 15:33:02 +00:00
Added configurable default server name attribute to better match behavior described for user-redirect in urls.md in the docs
This commit is contained in:
@@ -911,6 +911,22 @@ class JupyterHub(Application):
|
|||||||
""",
|
""",
|
||||||
).tag(config=True)
|
).tag(config=True)
|
||||||
|
|
||||||
|
default_server_name = Unicode(
|
||||||
|
"",
|
||||||
|
help="If named servers are enabled, default name of server to spawn or open, e.g. by user-redirect.",
|
||||||
|
).tag(config=True)
|
||||||
|
# Ensure that default_server_name doesn't do anything if named servers aren't allowed
|
||||||
|
_default_server_name = Unicode(
|
||||||
|
help="Non-configurable version exposed to JupyterHub."
|
||||||
|
)
|
||||||
|
|
||||||
|
@default('_default_server_name')
|
||||||
|
def _set_default_server_name(self):
|
||||||
|
if self.allow_named_servers:
|
||||||
|
return self.default_server_name
|
||||||
|
else:
|
||||||
|
return ""
|
||||||
|
|
||||||
# class for spawning single-user servers
|
# class for spawning single-user servers
|
||||||
spawner_class = EntryPointType(
|
spawner_class = EntryPointType(
|
||||||
default_value=LocalProcessSpawner,
|
default_value=LocalProcessSpawner,
|
||||||
@@ -2060,6 +2076,7 @@ class JupyterHub(Application):
|
|||||||
domain=self.domain,
|
domain=self.domain,
|
||||||
statsd=self.statsd,
|
statsd=self.statsd,
|
||||||
allow_named_servers=self.allow_named_servers,
|
allow_named_servers=self.allow_named_servers,
|
||||||
|
default_server_name=self._default_server_name,
|
||||||
named_server_limit_per_user=self.named_server_limit_per_user,
|
named_server_limit_per_user=self.named_server_limit_per_user,
|
||||||
oauth_provider=self.oauth_provider,
|
oauth_provider=self.oauth_provider,
|
||||||
concurrent_spawn_limit=self.concurrent_spawn_limit,
|
concurrent_spawn_limit=self.concurrent_spawn_limit,
|
||||||
|
@@ -389,9 +389,14 @@ class User:
|
|||||||
Full name.domain/path if using subdomains, otherwise just my /base/url
|
Full name.domain/path if using subdomains, otherwise just my /base/url
|
||||||
"""
|
"""
|
||||||
if self.settings.get('subdomain_host'):
|
if self.settings.get('subdomain_host'):
|
||||||
return '{host}{path}'.format(host=self.host, path=self.base_url)
|
url = '{host}{path}'.format(host=self.host, path=self.base_url)
|
||||||
else:
|
else:
|
||||||
return self.base_url
|
url = self.base_url
|
||||||
|
|
||||||
|
if self.settings.get('default_server_name'):
|
||||||
|
return url_path_join(url, self.settings.get('default_server_name'))
|
||||||
|
else:
|
||||||
|
return url
|
||||||
|
|
||||||
def server_url(self, server_name=''):
|
def server_url(self, server_name=''):
|
||||||
"""Get the url for a server with a given name"""
|
"""Get the url for a server with a given name"""
|
||||||
|
Reference in New Issue
Block a user