Add OOD testing
Browse files
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", ""))
|