55from jupyter_server_proxy .handlers import AddSlashHandler
66
77from .handlers import DesktopHandler
8-
8+ import os
99HERE = Path (__file__ ).parent
1010
1111
@@ -15,18 +15,21 @@ def load_jupyter_server_extension(server_app):
1515 """
1616 base_url = server_app .web_app .settings ["base_url" ]
1717
18- server_app .web_app .add_handlers (
19- ".*" ,
20- [
21- # Serve our own static files
22- (
23- url_path_join (base_url , "/desktop/static/(.*)" ),
24- AuthenticatedFileHandler ,
25- {"path" : (str (HERE / "static" ))},
26- ),
27- # To simplify URL mapping, we make sure that /desktop/ always
28- # has a trailing slash
29- (url_path_join (base_url , "/desktop" ), AddSlashHandler ),
30- (url_path_join (base_url , "/desktop/" ), DesktopHandler ),
31- ],
32- )
18+ jupyter_remote_desktop_endpoints = os .getenv ('JUPYTER_REMOTE_DESKTOP_ENDPOINTS' , 'desktopvnc' )
19+ endpoints = jupyter_remote_desktop_endpoints .split (',' )
20+ for endpoint in endpoints :
21+ server_app .web_app .add_handlers (
22+ ".*" ,
23+ [
24+ # Serve our own static files
25+ (
26+ url_path_join (base_url , f"/{ endpoint } /static/(.*)" ),
27+ AuthenticatedFileHandler ,
28+ {"path" : (str (HERE / "static" ))},
29+ ),
30+ # To simplify URL mapping, we make sure that /desktop/ always
31+ # has a trailing slash
32+ (url_path_join (base_url , f"/{ endpoint } " ), AddSlashHandler ),
33+ (url_path_join (base_url , f"/{ endpoint } /" ), DesktopHandler ),
34+ ],
35+ )
0 commit comments