Skip to content

Commit b4513be

Browse files
committed
- src/middleware/auth.py
- add NEED_AUTH_REGEX_URL - refactor AuthMiddleware
1 parent de8f711 commit b4513be

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/middleware/auth.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,31 @@
1+
import re
2+
13
from fastapi import HTTPException
24
from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint
35
from starlette.requests import Request
46
from starlette.responses import JSONResponse, Response
57

68
from src.services.auth import AuthService
79

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+
821

922
class AuthMiddleware(BaseHTTPMiddleware):
1023
async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response:
1124
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):
1427
request = await AuthService().get_current_user(request)
28+
break
1529
response: Response = await call_next(request)
1630
return response
1731
except HTTPException as e:

0 commit comments

Comments
 (0)