Skip to content

Commit

Permalink
fix: check kernel id before delete and upgrade ws
Browse files Browse the repository at this point in the history
  • Loading branch information
saf committed Mar 6, 2024
1 parent a1f9707 commit 13f94c4
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions enterprise_gateway/services/kernels/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import jupyter_server.services.kernels.handlers as jupyter_server_handlers
import tornado
from jupyter_client.jsonutil import date_default
from jupyter_server.auth.decorator import ws_authenticated
from jupyter_server.services.kernels.websocket import KernelWebsocketHandler
from tornado import web

from ...mixins import CORSMixin, JSONErrorsMixin, TokenAuthorizationMixin
Expand Down Expand Up @@ -146,6 +148,23 @@ def get(self, kernel_id: str):
model = km.kernel_model(kernel_id)
self.finish(json.dumps(model, default=date_default))

@web.authenticated
async def delete(self, kernel_id):
"""Remove a kernel."""
self.kernel_manager.check_kernel_id(kernel_id=kernel_id)
await super().delete(kernel_id=kernel_id)


class KernelWebsocketHandler(KernelWebsocketHandler):
"""Extends the kernel websocket handler."""

@ws_authenticated
async def get(self, kernel_id):
"""Handle a get request for a kernel."""
# Synchronize Kernel and check if it exists.
self.kernel_manager.check_kernel_id(kernel_id=kernel_id)
await super().get(kernel_id=kernel_id)


default_handlers: list[tuple] = []
for path, cls in jupyter_server_handlers.default_handlers:
Expand Down

0 comments on commit 13f94c4

Please sign in to comment.