Fix: correctly handle dict data with webhook (#9674)

This commit is contained in:
shamoon
2025-04-16 00:07:08 -07:00
committed by GitHub
parent 67a97ffc4d
commit df5af5c8ad
2 changed files with 37 additions and 13 deletions

View File

@@ -622,20 +622,30 @@ def send_webhook(
as_json: bool = False,
):
try:
post_args = {
"url": url,
"headers": headers,
"files": files,
}
if as_json:
httpx.post(
url,
json=data,
files=files,
headers=headers,
).raise_for_status()
post_args["json"] = data
elif isinstance(data, dict):
post_args["data"] = data
else:
httpx.post(
url,
content=data,
files=files,
headers=headers,
).raise_for_status()
post_args["content"] = data
httpx.post(
**post_args,
).raise_for_status()
logger.info(
f"Webhook sent to {url}",
)
except Exception as e:
logger.error(
f"Failed attempt sending webhook to {url}: {e}",
)
raise e
logger.info(
f"Webhook sent to {url}",
)