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:
parent
e7eecf0346
commit
5c402e5b63
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user