fix(qualys): extrait responseCode/errorMessage/errorResolution du XML Qualys dans le message d erreur (au lieu de tronquer 200 chars du XML brut)

This commit is contained in:
Pierre & Lumière 2026-05-05 16:46:16 +02:00
parent e7eecf0346
commit 5c402e5b63

View File

@ -70,9 +70,17 @@ def search_assets_api(db, query, field="name", operator="CONTAINS", force_refres
return {"ok": False, "msg": f"Erreur API: {e}", "assets": []}
if r.status_code != 200 or "SUCCESS" not in r.text:
# Inclure le début du body pour faciliter le diagnostic
# Inclure le détail Qualys (errorMessage / errorResolution sont dans le XML)
import re as _re
err_msg = ""
m = _re.search(r"<errorMessage>([^<]+)</errorMessage>", r.text or "")
if m: err_msg += " | errorMessage: " + m.group(1).strip()
m = _re.search(r"<errorResolution>([^<]+)</errorResolution>", r.text or "")
if m: err_msg += " | errorResolution: " + m.group(1).strip()
m = _re.search(r"<responseCode>([^<]+)</responseCode>", r.text or "")
if m: err_msg = " [" + m.group(1).strip() + "]" + err_msg
return {"ok": False,
"msg": f"API HTTP {r.status_code}{r.text[:200]}",
"msg": f"API HTTP {r.status_code}{err_msg}",
"assets": []}
assets = _parse_assets_full(r.text)