2022-09-11 10:34:18 +00:00
|
|
|
from fastapi.middleware import Middleware
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
2022-10-04 10:19:26 +00:00
|
|
|
from starlette.middleware.base import BaseHTTPMiddleware
|
|
|
|
|
|
|
|
from core.log import logger
|
|
|
|
|
|
|
|
|
|
|
|
class CustomRequestLogMiddleware(BaseHTTPMiddleware):
|
|
|
|
async def dispatch(self, request, call_next):
|
|
|
|
logger.info(
|
|
|
|
f"Client: {request.client} Method: {request.method} "
|
|
|
|
f"Path: {request.url} Headers: {request.headers}"
|
|
|
|
)
|
|
|
|
# python-multipart == await request.form()
|
|
|
|
response = await call_next(request)
|
|
|
|
return response
|
|
|
|
|
2022-09-11 10:34:18 +00:00
|
|
|
|
|
|
|
middlewares = [
|
2022-10-04 10:19:26 +00:00
|
|
|
Middleware(CustomRequestLogMiddleware),
|
2022-09-11 10:34:18 +00:00
|
|
|
Middleware(
|
|
|
|
CORSMiddleware,
|
|
|
|
allow_origins=["*"],
|
|
|
|
allow_credentials=True,
|
|
|
|
allow_methods=["*"],
|
|
|
|
allow_headers=["*"],
|
2022-10-04 10:19:26 +00:00
|
|
|
),
|
2022-09-11 10:34:18 +00:00
|
|
|
]
|