Restructure
This commit is contained in:
@ -1,2 +0,0 @@
|
|||||||
from . import session
|
|
||||||
from . import auth
|
|
||||||
2
core/scripts/webpanel/middleware/__init__.py
Normal file
2
core/scripts/webpanel/middleware/__init__.py
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
from .auth import AuthMiddleware
|
||||||
|
from .request import AfterRequestMiddleware
|
||||||
@ -5,7 +5,7 @@ from starlette.types import ASGIApp
|
|||||||
from typing import Awaitable, Callable
|
from typing import Awaitable, Callable
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
from .session import SessionManager
|
from session import SessionManager
|
||||||
|
|
||||||
|
|
||||||
class AuthMiddleware(BaseHTTPMiddleware):
|
class AuthMiddleware(BaseHTTPMiddleware):
|
||||||
@ -43,13 +43,13 @@ class AuthMiddleware(BaseHTTPMiddleware):
|
|||||||
return RedirectResponse(url='/login', status_code=302)
|
return RedirectResponse(url='/login', status_code=302)
|
||||||
|
|
||||||
session_data = self.__session_manager.get_session(session_id)
|
session_data = self.__session_manager.get_session(session_id)
|
||||||
|
|
||||||
if not session_data:
|
if not session_data:
|
||||||
if is_api_request:
|
if is_api_request:
|
||||||
raise HTTPException(status_code=401, detail="The session is invalid.")
|
raise HTTPException(status_code=401, detail="The session is invalid.")
|
||||||
|
|
||||||
return RedirectResponse(url='/login', status_code=302)
|
return RedirectResponse(url='/login', status_code=302)
|
||||||
|
|
||||||
if session_data.expires_at < datetime.now(timezone.utc):
|
if session_data.expires_at < datetime.now(timezone.utc):
|
||||||
if is_api_request:
|
if is_api_request:
|
||||||
raise HTTPException(status_code=401, detail="The session has expired.")
|
raise HTTPException(status_code=401, detail="The session has expired.")
|
||||||
1
core/scripts/webpanel/session/__init__.py
Normal file
1
core/scripts/webpanel/session/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
from .session import SessionData, SessionStorage, SessionManager
|
||||||
Reference in New Issue
Block a user