aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend/middleware.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/backend/middleware.py b/backend/middleware.py
new file mode 100644
index 0000000..c1aa731
--- /dev/null
+++ b/backend/middleware.py
@@ -0,0 +1,17 @@
+from starlette.middleware.base import BaseHTTPMiddleware
+import pymongo
+import ssl
+
+from backend.constants import DATABASE_URL, MONGO_DATABASE
+
+
+class DatabaseMiddleware(BaseHTTPMiddleware):
+ async def dispatch(self, request, call_next):
+ client = pymongo.MongoClient(
+ DATABASE_URL,
+ ssl_cert_reqs=ssl.CERT_NONE
+ )
+ db = client[MONGO_DATABASE]
+ request.state.db = db
+ response = await call_next(request)
+ return response