@@ -519,6 +519,12 @@ def _get_kernelspecs_endpoint_url(self, kernel_name=None):
519519
520520 return self .base_endpoint
521521
522+ def _get_endpoint_for_user_filter (self , default_endpoint ):
523+ kernel_user = os .environ .get ('KERNEL_USERNAME' )
524+ if kernel_user :
525+ return '?user=' .join ([default_endpoint , kernel_user ])
526+ return default_endpoint
527+
522528 @gen .coroutine
523529 def get_all_specs (self ):
524530 fetched_kspecs = yield self .list_kernel_specs ()
@@ -543,6 +549,9 @@ def get_all_specs(self):
543549 def list_kernel_specs (self ):
544550 """Get a list of kernel specs."""
545551 kernel_spec_url = self ._get_kernelspecs_endpoint_url ()
552+
553+ kernel_spec_url = self ._get_endpoint_for_user_filter (kernel_spec_url )
554+
546555 self .log .debug ("Request list kernel specs at: %s" , kernel_spec_url )
547556 response = yield gateway_request (kernel_spec_url , method = 'GET' )
548557 kernel_specs = json_decode (response .body )
@@ -558,6 +567,9 @@ def get_kernel_spec(self, kernel_name, **kwargs):
558567 The name of the kernel.
559568 """
560569 kernel_spec_url = self ._get_kernelspecs_endpoint_url (kernel_name = str (kernel_name ))
570+
571+ kernel_spec_url = self ._get_endpoint_for_user_filter (kernel_spec_url )
572+
561573 self .log .debug ("Request kernel spec at: %s" % kernel_spec_url )
562574 try :
563575 response = yield gateway_request (kernel_spec_url , method = 'GET' )
@@ -586,6 +598,7 @@ def get_kernel_spec_resource(self, kernel_name, path):
586598 The name of the desired resource
587599 """
588600 kernel_spec_resource_url = url_path_join (self .base_resource_endpoint , str (kernel_name ), str (path ))
601+ kernel_spec_resource_url = self ._get_endpoint_for_user_filter (kernel_spec_resource_url )
589602 self .log .debug ("Request kernel spec resource '{}' at: {}" .format (path , kernel_spec_resource_url ))
590603 try :
591604 response = yield gateway_request (kernel_spec_resource_url , method = 'GET' )
0 commit comments