mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-15 14:03:02 +00:00
simplify handler setup with default_handlers in modules
like IPython's, but a bit simpler since we don't have so many services to deal with.
This commit is contained in:
@@ -1 +1,7 @@
|
|||||||
from .auth import *
|
from . import auth, users
|
||||||
|
from .auth import *
|
||||||
|
from .users import *
|
||||||
|
|
||||||
|
default_handlers = []
|
||||||
|
for mod in (auth, users):
|
||||||
|
default_handlers.extend(mod.default_handlers)
|
||||||
|
@@ -20,3 +20,7 @@ class AuthorizationsAPIHandler(BaseHandler):
|
|||||||
self.write(json.dumps({
|
self.write(json.dumps({
|
||||||
'user' : orm_token.user.name,
|
'user' : orm_token.user.name,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
default_handlers = [
|
||||||
|
(r"/api/authorizations/([^/]+)", AuthorizationsAPIHandler),
|
||||||
|
]
|
||||||
|
@@ -14,29 +14,19 @@ from jinja2 import Environment, FileSystemLoader
|
|||||||
import tornado.httpserver
|
import tornado.httpserver
|
||||||
import tornado.options
|
import tornado.options
|
||||||
from tornado.ioloop import IOLoop
|
from tornado.ioloop import IOLoop
|
||||||
from tornado.log import LogFormatter, app_log
|
from tornado.log import LogFormatter
|
||||||
from tornado import gen, web
|
from tornado import gen, web
|
||||||
|
|
||||||
from IPython.utils.traitlets import (
|
from IPython.utils.traitlets import (
|
||||||
Unicode, Integer, Dict, TraitError, List, Instance, Bool, Bytes, Any,
|
Unicode, Integer, Dict, TraitError, List, Bool, Bytes, Any,
|
||||||
DottedObjectName,
|
DottedObjectName, Set,
|
||||||
)
|
)
|
||||||
from IPython.config import Application, catch_config_error
|
from IPython.config import Application, catch_config_error
|
||||||
from IPython.utils.importstring import import_item
|
from IPython.utils.importstring import import_item
|
||||||
|
|
||||||
here = os.path.dirname(__file__)
|
here = os.path.dirname(__file__)
|
||||||
|
|
||||||
from .handlers import (
|
from . import handlers, apihandlers
|
||||||
Template404,
|
|
||||||
RootHandler,
|
|
||||||
LoginHandler,
|
|
||||||
LogoutHandler,
|
|
||||||
UserHandler,
|
|
||||||
)
|
|
||||||
|
|
||||||
from .apihandlers import (
|
|
||||||
AuthorizationsAPIHandler,
|
|
||||||
)
|
|
||||||
|
|
||||||
from . import orm
|
from . import orm
|
||||||
from ._data import DATA_FILES_PATH
|
from ._data import DATA_FILES_PATH
|
||||||
@@ -220,19 +210,19 @@ class JupyterHubApp(Application):
|
|||||||
return handlers
|
return handlers
|
||||||
|
|
||||||
def init_handlers(self):
|
def init_handlers(self):
|
||||||
handlers = [
|
h = []
|
||||||
(r"/", RootHandler),
|
h.extend(handlers.default_handlers)
|
||||||
(r"/login", LoginHandler),
|
h.extend(apihandlers.default_handlers)
|
||||||
(r"/logout", LogoutHandler),
|
|
||||||
(r"/api/authorizations/([^/]+)", AuthorizationsAPIHandler),
|
self.handlers = self.add_url_prefix(self.hub_prefix, h)
|
||||||
]
|
|
||||||
self.handlers = self.add_url_prefix(self.hub_prefix, handlers)
|
# some extra handlers, outside hub_prefix
|
||||||
self.handlers.extend([
|
self.handlers.extend([
|
||||||
(r"/user/([^/]+)/?.*", UserHandler),
|
(r"/user/([^/]+)/?.*", handlers.UserHandler),
|
||||||
(r"/?", web.RedirectHandler, {"url" : self.hub_prefix, "permanent": False}),
|
(r"/?", web.RedirectHandler, {"url" : self.hub_prefix, "permanent": False}),
|
||||||
])
|
])
|
||||||
self.handlers.append(
|
self.handlers.append(
|
||||||
(r'(.*)', Template404)
|
(r'(.*)', handlers.Template404)
|
||||||
)
|
)
|
||||||
|
|
||||||
def init_db(self):
|
def init_db(self):
|
||||||
|
@@ -1,2 +1,8 @@
|
|||||||
from .base import *
|
from .base import *
|
||||||
from .login import *
|
from .login import *
|
||||||
|
|
||||||
|
from . import base, login
|
||||||
|
|
||||||
|
default_handlers = []
|
||||||
|
for mod in (base, login):
|
||||||
|
default_handlers.extend(mod.default_handlers)
|
||||||
|
@@ -294,3 +294,7 @@ class UserHandler(BaseHandler):
|
|||||||
self.redirect(url_concat(self.settings['login_url'], {
|
self.redirect(url_concat(self.settings['login_url'], {
|
||||||
'next' : self.request.path,
|
'next' : self.request.path,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
default_handlers = [
|
||||||
|
(r"/", RootHandler),
|
||||||
|
]
|
||||||
|
@@ -56,3 +56,8 @@ class LoginHandler(BaseHandler):
|
|||||||
username=username,
|
username=username,
|
||||||
)
|
)
|
||||||
self.finish(html)
|
self.finish(html)
|
||||||
|
|
||||||
|
default_handlers = [
|
||||||
|
(r"/login", LoginHandler),
|
||||||
|
(r"/logout", LogoutHandler),
|
||||||
|
]
|
||||||
|
Reference in New Issue
Block a user