mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from typing import Awaitable, Callable, Optional
|
|
from app.classes.web.base_handler import BaseHandler
|
|
|
|
|
|
class BaseApiHandler(BaseHandler):
|
|
# {{{ Disable XSRF protection on API routes
|
|
def check_xsrf_cookie(self) -> None:
|
|
pass
|
|
|
|
# }}}
|
|
|
|
# {{{ 405 Method Not Allowed as JSON
|
|
def _unimplemented_method(self, *_args: str, **_kwargs: str) -> None:
|
|
self.finish_json(405, {"status": "error", "error": "METHOD_NOT_ALLOWED"})
|
|
|
|
head = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
get = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
post = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
delete = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
patch = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
put = _unimplemented_method # type: Callable[..., Optional[Awaitable[None]]]
|
|
# }}}
|
|
|
|
def options(self, *_, **__):
|
|
"""
|
|
Fix CORS
|
|
"""
|
|
# no body
|
|
self.set_status(204)
|
|
self.finish()
|