项目初次搭建
This commit is contained in:
23
app/application/logger_middleware.py
Normal file
23
app/application/logger_middleware.py
Normal file
@ -0,0 +1,23 @@
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
from urllib.request import Request
|
||||
|
||||
from app.common.jwt_check import check_token
|
||||
|
||||
from app.common.logger_config import logger_http
|
||||
|
||||
|
||||
class LoggerMiddleware(BaseHTTPMiddleware):
|
||||
def __init__(self, app):
|
||||
super().__init__(app)
|
||||
|
||||
async def dispatch(self, request: Request, call_next):
|
||||
method = request.method
|
||||
path = request.url.path
|
||||
token = request.headers.get("Authorization")
|
||||
user_id = None
|
||||
if token:
|
||||
decoded_payload = check_token(token)
|
||||
user_id = decoded_payload['user_id']
|
||||
logger_http.info(f"Path: {path},UserId: {user_id}, Method: {method}")
|
||||
response = await call_next(request)
|
||||
return response
|
Reference in New Issue
Block a user