libushang преди 2 дни
родител
ревизия
07071ee0a3
променени са 3 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 1 1
      main.py
  2. 1 1
      routers/api/gateway/__init__.py
  3. 5 2
      routers/api/gateway/skwhp_api.py

+ 1 - 1
main.py

@@ -37,7 +37,7 @@ async def process_authorization(request: Request, call_next):
     start_time = time.time()
     response = await call_next(request)
     process_time = (time.time() - start_time) * 1000  # 毫秒
-    logger.info(f"Request {request.method} {request.url} processed in {process_time:.2f}ms")
+    # logger.info(f"Request {request.method} {request.url} processed in {process_time:.2f}ms")
     response.headers["X-Process-Time"] = str(process_time)
     return response
     

+ 1 - 1
routers/api/gateway/__init__.py

@@ -12,4 +12,4 @@ router.include_router(v1.router, dependencies=[Depends(valid_access_token_role)]
 router.include_router(sign_api.router, dependencies=[Depends(valid_access_token_role)])
 
 # 数科代理,不用校验
-router.include_router(skwhp_api.router)
+router.include_router(skwhp_api.router, dependencies=[Depends(valid_access_token_role)])

+ 5 - 2
routers/api/gateway/skwhp_api.py

@@ -24,14 +24,17 @@ def sync_fetch(method, url, params=None, headers=None, data=None):
         return Response(
             content=response.content,
             status_code=response.status_code,
-            headers=dict(response.headers)
+            headers = { # 可以选择性透传部分 Header
+                key: value for key, value in response.headers.items()
+                if key.lower() not in ["transfer-encoding", "content-length"]
+            }
         )
     except Exception as e:
 
         traceback.print_exc()
         raise Exception(f"Requests error: {str(e)}")
 
-@router.api_route("/skwhp/{path:path}", methods=["GET", "POST", "PUT", "DELETE", "PATCH"])
+@router.api_route("/skwhp/{path:path}")
 async def proxy(request: Request, path: str):
     target_url = f"{TARGET_BASE_URL}/{path}"
     method = request.method.lower()