make HubAuth a singleton

allows cache re-use in default case

otherwise, default behavior is to instantiate anew on each request, eliminating cache
This commit is contained in:
Min RK
2017-12-11 14:08:40 +01:00
parent ee004486bd
commit e9123f55e0

View File

@@ -29,7 +29,7 @@ from tornado.log import app_log
from tornado.httputil import url_concat from tornado.httputil import url_concat
from tornado.web import HTTPError, RequestHandler from tornado.web import HTTPError, RequestHandler
from traitlets.config import Configurable from traitlets.config import SingletonConfigurable
from traitlets import Unicode, Integer, Instance, default, observe, validate from traitlets import Unicode, Integer, Instance, default, observe, validate
from ..utils import url_path_join from ..utils import url_path_join
@@ -97,7 +97,7 @@ class _ExpiringDict(dict):
return default return default
class HubAuth(Configurable): class HubAuth(SingletonConfigurable):
"""A class for authenticating with JupyterHub """A class for authenticating with JupyterHub
This can be used by any application. This can be used by any application.
@@ -699,7 +699,7 @@ class HubAuthenticated(object):
@property @property
def hub_auth(self): def hub_auth(self):
if self._hub_auth is None: if self._hub_auth is None:
self._hub_auth = self.hub_auth_class() self._hub_auth = self.hub_auth_class.instance()
return self._hub_auth return self._hub_auth
@hub_auth.setter @hub_auth.setter