crafty-4/app/classes/web/static_handler.py

28 lines
937 B
Python
Raw Normal View History

from typing import Optional
2022-03-08 04:40:44 +00:00
try:
import tornado.web
except ModuleNotFoundError as e:
from app.classes.shared.helpers import helper
2022-03-08 04:40:44 +00:00
helper.auto_installer_fix(e)
2021-04-17 15:12:23 +00:00
2021-04-17 15:12:23 +00:00
class CustomStaticHandler(tornado.web.StaticFileHandler):
def validate_absolute_path(self, root: str, absolute_path: str) -> Optional[str]:
2023-03-06 03:00:09 +00:00
# This is for the mobile app service worker
if self.request.path.find("service-worker.js") != -1:
self.set_header("Service-Worker-Allowed", "/")
2021-04-17 15:12:23 +00:00
try:
return super().validate_absolute_path(root, absolute_path)
except tornado.web.HTTPError as error:
if "HTTP 404: Not Found" in str(error):
2021-04-17 15:12:23 +00:00
self.set_status(404)
self.finish(
{
"error": "NOT_FOUND",
"info": "The requested resource was not found on the server",
}
)