crabbly commited on
Commit
62d0284
·
1 Parent(s): 6790d17

Add OOD testing

Browse files
Files changed (1) hide show
  1. main.py +37 -0
main.py CHANGED
@@ -117,6 +117,43 @@ async def proxy_process(request: Request, file: UploadFile = File(...), password
117
  return {"success": False, "message": f"Proxy Error (Internal): {str(e)}"}
118
 
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  @app.post("/proxy_batch_stage")
121
  async def proxy_batch_stage(payload: dict = Body(...)):
122
  username = str(payload.get("username", ""))
 
117
  return {"success": False, "message": f"Proxy Error (Internal): {str(e)}"}
118
 
119
 
120
+ @app.post("/proxy_compatibility")
121
+ async def proxy_compatibility(request: Request, password: str = Form(""), username: str = Form("")):
122
+ base_url = DEV_URL if username.strip().lower() == "devtest" else PROD_URL
123
+ target_url = f"{base_url}/compatibility_check"
124
+ headers = {"Authorization": f"Bearer {HF_TOKEN}"}
125
+
126
+ form = await request.form()
127
+ files = []
128
+ data = {}
129
+ for key, value in form.multi_items():
130
+ if hasattr(value, "filename"):
131
+ files.append(("files", (value.filename, await value.read(), value.content_type)))
132
+ else:
133
+ data[key] = str(value)
134
+ data.setdefault("password", password)
135
+ data.setdefault("username", username)
136
+
137
+ def make_post():
138
+ return request_with_429_backoff(
139
+ requests.post,
140
+ target_url,
141
+ headers=headers,
142
+ files=files,
143
+ data=data,
144
+ timeout=120,
145
+ )
146
+
147
+ try:
148
+ response = await run_in_threadpool(make_post)
149
+ response.raise_for_status()
150
+ return response.json()
151
+ except requests.exceptions.RequestException as e:
152
+ return {"success": False, "message": f"Proxy Error (Hugging Face): {hf_error_message(e)}", "results": []}
153
+ except Exception as e:
154
+ return {"success": False, "message": f"Proxy Error (Internal): {str(e)}", "results": []}
155
+
156
+
157
  @app.post("/proxy_batch_stage")
158
  async def proxy_batch_stage(payload: dict = Body(...)):
159
  username = str(payload.get("username", ""))