From c54794eb4ce828110f3d28637629500937552a61 Mon Sep 17 00:00:00 2001 From: David Kiania Date: Tue, 21 Apr 2026 12:04:55 +0300 Subject: [PATCH] diag: log raw push body + content-type at INFO level Temporary diagnostic to see what format Jimi actually sends on /pushalarm. New container is parsing to empty items (pushes arrive but no DB insert), so we need to see the real body shape. Remove once format is confirmed. Co-Authored-By: Claude Sonnet 4.6 --- webhook_receiver_rev.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/webhook_receiver_rev.py b/webhook_receiver_rev.py index 6649d9d..55122ba 100644 --- a/webhook_receiver_rev.py +++ b/webhook_receiver_rev.py @@ -112,8 +112,12 @@ async def _parse_request(request: Request) -> tuple[str, list[dict]]: content_type = request.headers.get("content-type", "") body = await request.body() + # TEMP DIAGNOSTIC: log every push so we can see what Jimi actually sends. + log.info("push %s: content-type=%r body=%.300s", + request.url.path, content_type, + body.decode("utf-8", errors="replace") if body else "") + if not body: - log.debug("push: empty request body") return "", [] # ── Try JSON body first (integration push format) ────────────────────────── @@ -128,11 +132,10 @@ async def _parse_request(request: Request) -> tuple[str, list[dict]]: items = _parse_data_list(raw_dl) else: items = [] - log.debug("push: parsed JSON body — %d items", len(items)) + log.info("push: parsed JSON body — %d items", len(items)) return token, items except (json.JSONDecodeError, TypeError): - log.warning("push: JSON body parse failed — body: %.200s", - body.decode("utf-8", errors="replace")) + log.warning("push: JSON body parse failed") # ── Fall back to form-encoded ─────────────────────────────────────────────── try: @@ -140,11 +143,10 @@ async def _parse_request(request: Request) -> tuple[str, list[dict]]: token = str(form.get("token", "")) raw_dl = str(form.get("data_list", "")) items = _parse_data_list(raw_dl) if raw_dl else [] - log.debug("push: parsed form body — %d items", len(items)) + log.info("push: parsed form body — %d items", len(items)) return token, items except Exception: - log.warning("push: form body parse failed — body: %.200s", - body.decode("utf-8", errors="replace"), exc_info=True) + log.warning("push: form body parse failed", exc_info=True) return "", []