File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change
1
+ import re
2
+
1
3
from fastapi import HTTPException
2
4
from starlette .middleware .base import BaseHTTPMiddleware , RequestResponseEndpoint
3
5
from starlette .requests import Request
4
6
from starlette .responses import JSONResponse , Response
5
7
6
8
from src .services .auth import AuthService
7
9
10
+ NEED_AUTH_REGEX_URL = [
11
+ r"^/users/me$" ,
12
+ r"^/users/me/profile_image$" ,
13
+ r"^/users/me/reviews$" ,
14
+ r"^/reviews$" ,
15
+ r"^/reviews/\d+$" ,
16
+ r"^/reviews/\d+/is_liked$" ,
17
+ r"^/likes/reviews/\d+/like$" ,
18
+ r"^/likes/reviews/\d+/unlike$" ,
19
+ ]
20
+
8
21
9
22
class AuthMiddleware (BaseHTTPMiddleware ):
10
23
async def dispatch (self , request : Request , call_next : RequestResponseEndpoint ) -> Response :
11
24
try :
12
- if request . url . path . startswith ( "/users" ) :
13
- if request .url .path not in [ "/users/login" , "/users" , "/users/search" ] :
25
+ for url in NEED_AUTH_REGEX_URL :
26
+ if re . match ( url , request .url .path ) :
14
27
request = await AuthService ().get_current_user (request )
28
+ break
15
29
response : Response = await call_next (request )
16
30
return response
17
31
except HTTPException as e :
You can’t perform that action at this time.
0 commit comments