forked from fastapi-admin/fastapi-admin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexceptions.py
More file actions
62 lines (43 loc) · 1.65 KB
/
Copy pathexceptions.py
File metadata and controls
62 lines (43 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from fastapi import HTTPException
from starlette.requests import Request
from starlette.status import HTTP_500_INTERNAL_SERVER_ERROR
from fastapi_admin.template import templates
class ServerHTTPException(HTTPException):
def __init__(self, error: str = None):
super(ServerHTTPException, self).__init__(
status_code=HTTP_500_INTERNAL_SERVER_ERROR, detail=error
)
class InvalidResource(ServerHTTPException):
"""
raise when has invalid resource
"""
class NoSuchFieldFound(ServerHTTPException):
"""
raise when no such field for the given
"""
class FileMaxSizeLimit(ServerHTTPException):
"""
raise when the upload file exceeds the max size
"""
class FileExtNotAllowed(ServerHTTPException):
"""
raise when the upload file ext not allowed
"""
async def server_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/500.html",
status_code=HTTP_500_INTERNAL_SERVER_ERROR,
context={"request": request},
)
async def not_found_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/404.html", status_code=exc.status_code, context={"request": request}
)
async def forbidden_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/403.html", status_code=exc.status_code, context={"request": request}
)
async def unauthorized_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/401.html", status_code=exc.status_code, context={"request": request}
)