@@ -511,8 +511,14 @@ def _get_kernelspecs_endpoint_url(self, kernel_name=None):
511
511
512
512
return self .base_endpoint
513
513
514
+ def _get_endpoint_for_user_filter (self , default_endpoint ):
515
+ kernel_user = os .environ .get ('KERNEL_USERNAME' )
516
+ if kernel_user :
517
+ return '?user=' .join ([default_endpoint , kernel_user ])
518
+ return default_endpoint
519
+
514
520
async def get_all_specs (self ):
515
- fetched_kspecs = await self .list_kernel_specs ()
521
+ fetched_kspecs = yield self .list_kernel_specs ()
516
522
517
523
# get the default kernel name and compare to that of this server.
518
524
# If different log a warning and reset the default. However, the
@@ -533,6 +539,9 @@ async def get_all_specs(self):
533
539
async def list_kernel_specs (self ):
534
540
"""Get a list of kernel specs."""
535
541
kernel_spec_url = self ._get_kernelspecs_endpoint_url ()
542
+
543
+ kernel_spec_url = self ._get_endpoint_for_user_filter (kernel_spec_url )
544
+
536
545
self .log .debug ("Request list kernel specs at: %s" , kernel_spec_url )
537
546
response = await gateway_request (kernel_spec_url , method = 'GET' )
538
547
kernel_specs = json_decode (response .body )
@@ -547,6 +556,9 @@ async def get_kernel_spec(self, kernel_name, **kwargs):
547
556
The name of the kernel.
548
557
"""
549
558
kernel_spec_url = self ._get_kernelspecs_endpoint_url (kernel_name = str (kernel_name ))
559
+
560
+ kernel_spec_url = self ._get_endpoint_for_user_filter (kernel_spec_url )
561
+
550
562
self .log .debug ("Request kernel spec at: %s" % kernel_spec_url )
551
563
try :
552
564
response = await gateway_request (kernel_spec_url , method = 'GET' )
@@ -576,6 +588,7 @@ async def get_kernel_spec_resource(self, kernel_name, path):
576
588
The name of the desired resource
577
589
"""
578
590
kernel_spec_resource_url = url_path_join (self .base_resource_endpoint , str (kernel_name ), str (path ))
591
+ kernel_spec_resource_url = self ._get_endpoint_for_user_filter (kernel_spec_resource_url )
579
592
self .log .debug ("Request kernel spec resource '{}' at: {}" .format (path , kernel_spec_resource_url ))
580
593
try :
581
594
response = await gateway_request (kernel_spec_resource_url , method = 'GET' )
0 commit comments