瀏覽代碼

fix: filter pipeline

Timothy J. Baek 10 月之前
父節點
當前提交
c6c0bc19d8
共有 1 個文件被更改,包括 11 次插入6 次删除
  1. 11 6
      backend/main.py

+ 11 - 6
backend/main.py

@@ -472,13 +472,10 @@ def filter_pipeline(payload, user):
             if r is not None:
                 try:
                     res = r.json()
-                    if "detail" in res:
-                        return JSONResponse(
-                            status_code=r.status_code,
-                            content=res,
-                        )
                 except:
                     pass
+                if "detail" in res:
+                    raise Exception(r.status_code, res["detail"])
 
             else:
                 pass
@@ -489,6 +486,7 @@ def filter_pipeline(payload, user):
 
         if "title" in payload:
             del payload["title"]
+
     return payload
 
 
@@ -510,7 +508,14 @@ class PipelineMiddleware(BaseHTTPMiddleware):
             user = get_current_user(
                 get_http_authorization_cred(request.headers.get("Authorization"))
             )
-            data = filter_pipeline(data, user)
+
+            try:
+                data = filter_pipeline(data, user)
+            except Exception as e:
+                return JSONResponse(
+                    status_code=e.args[0],
+                    content={"detail": e.args[1]},
+                )
 
             modified_body_bytes = json.dumps(data).encode("utf-8")
             # Replace the request body with the modified one