diff --git a/video-gen-api/app/middleware/request_encrypt.py b/video-gen-api/app/middleware/request_encrypt.py index 0d4113ed..cf021bf4 100644 --- a/video-gen-api/app/middleware/request_encrypt.py +++ b/video-gen-api/app/middleware/request_encrypt.py @@ -3,7 +3,7 @@ import json import logging from cryptography.hazmat.primitives.ciphers.aead import AESGCM -from fastapi import Request, Response +from fastapi import HTTPException, Request, Response from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint from app.config import settings @@ -98,6 +98,9 @@ class RequestEncryptMiddleware(BaseHTTPMiddleware): status_code=response.status_code, headers={"X-Encrypted": "true", "Content-Type": "application/json"}, ) + except HTTPException: + # 让 HTTPException(如 409 订单占用)正常传播,不被加密中间件拦截 + raise except Exception: logger.exception("Request decryption failed") return Response(