File tree Expand file tree Collapse file tree 2 files changed +9
-7
lines changed Expand file tree Collapse file tree 2 files changed +9
-7
lines changed Original file line number Diff line number Diff line change 1
1
from fastapi import Request
2
2
from starlette .middleware .base import BaseHTTPMiddleware
3
- from genotype_api .database .database import close_session
3
+
4
+ from genotype_api .database .database import close_session , get_session
4
5
5
6
6
7
class DBSessionMiddleware (BaseHTTPMiddleware ):
@@ -10,6 +11,11 @@ def __init__(self, app):
10
11
async def dispatch (self , request : Request , call_next ):
11
12
try :
12
13
response = await call_next (request )
14
+ except Exception as e :
15
+ raise e
13
16
finally :
17
+ session = get_session ()
18
+ if session .is_active :
19
+ session .rollback ()
14
20
close_session ()
15
21
return response
Original file line number Diff line number Diff line change @@ -61,10 +61,6 @@ def get_tables() -> list[str]:
61
61
return inspector .get_table_names ()
62
62
63
63
64
- def close_session () -> None :
64
+ def close_session ():
65
65
"""Close the global database session of the genotype api."""
66
- if SESSION :
67
- session = SESSION ()
68
- if session .is_active :
69
- session .rollback ()
70
- SESSION .remove ()
66
+ SESSION .remove ()
You can’t perform that action at this time.
0 commit comments