Files
portabase/backend/middleware/db_connection.py
T

21 lines
578 B
Python
Raw Normal View History

2024-10-27 11:51:53 +01:00
from fastapi import Request, Response
from starlette.middleware.base import BaseHTTPMiddleware
from database import SessionLocal
class DatabaseSessionMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
response = Response("Internal server error", status_code=500)
try:
request.state.db = SessionLocal()
response = await call_next(request)
finally:
request.state.db.close()
return response
def get_db(request: Request):
print(request)
return request.state.db