Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions backend/middleware/opera_log_middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from asyncio import Queue
from typing import Any

from asgiref.sync import sync_to_async
from fastapi import Response
from starlette.datastructures import UploadFile
from starlette.middleware.base import BaseHTTPMiddleware
Expand Down Expand Up @@ -163,12 +162,12 @@ async def get_request_args(self, request: Request) -> dict[str, Any] | None: #
# 查询参数
query_params = dict(request.query_params)
if query_params:
args['query_params'] = await self.desensitization(query_params)
args['query_params'] = self.desensitization(query_params)

# 路径参数
path_params = request.path_params
if path_params:
args['path_params'] = await self.desensitization(path_params)
args['path_params'] = self.desensitization(path_params)

# Tip: .body() 必须在 .form() 之前获取
# https://github.com/encode/starlette/discussions/1933
Expand All @@ -183,7 +182,7 @@ async def get_request_args(self, request: Request) -> dict[str, Any] | None: #
else:
json_data = await request.json()
if isinstance(json_data, dict):
args['json'] = await self.desensitization(json_data)
args['json'] = self.desensitization(json_data)
else:
args['data'] = str(json_data)

Expand All @@ -201,9 +200,9 @@ async def get_request_args(self, request: Request) -> dict[str, Any] | None: #
else:
serialized_form[k] = v
if 'multipart/form-data' not in content_type:
args['x-www-form-urlencoded'] = await self.desensitization(serialized_form)
args['x-www-form-urlencoded'] = self.desensitization(serialized_form)
else:
args['form-data'] = await self.desensitization(serialized_form)
args['form-data'] = self.desensitization(serialized_form)

if args:
args = self.truncate(args)
Expand Down Expand Up @@ -239,7 +238,6 @@ def truncate(args: dict[str, Any]) -> dict[str, Any]:
return args

@staticmethod
@sync_to_async
def desensitization(args: dict[str, Any]) -> dict[str, Any]:
"""
脱敏处理
Expand Down