"""HTTP handler to shut down the Jupyter server.""" | |
from tornado import ioloop, web | |
from jupyter_server.auth.decorator import authorized | |
from jupyter_server.base.handlers import JupyterHandler | |
AUTH_RESOURCE = "server" | |
class ShutdownHandler(JupyterHandler): | |
"""A shutdown API handler.""" | |
auth_resource = AUTH_RESOURCE | |
async def post(self): | |
"""Shut down the server.""" | |
self.log.info("Shutting down on /api/shutdown request.") | |
if self.serverapp: | |
await self.serverapp._cleanup() | |
ioloop.IOLoop.current().stop() | |
default_handlers = [ | |
(r"/api/shutdown", ShutdownHandler), | |
] | |