prod-wag-backend-automate-s.../ApiControllers/middlewares/token_middleware.py

26 lines
717 B
Python

from fastapi import Request, status
from fastapi.responses import JSONResponse
from ApiDefaults.config import api_config
from Endpoints.routes import get_safe_endpoint_urls
async def token_middleware(request: Request, call_next):
base_url = request.url.path
safe_endpoints = [_[0] for _ in get_safe_endpoint_urls()]
if base_url in safe_endpoints:
return await call_next(request)
token = request.headers.get(api_config.ACCESS_TOKEN_TAG, None)
if not token:
return JSONResponse(
content={
"error": "EYS_0002",
},
status_code=status.HTTP_401_UNAUTHORIZED,
)
response = await call_next(request)
return response