Store and show an event's query string, and pass it on to an HTTP target when set (closes #312) #501

Merged
clawbot merged 1 commits from issue-312-query-string into next 2026-10-04 03:00:36 +02:00
Collaborator

The receiver now keeps the query string of the request it received, as sent, on the event, in a new raw_query column of the per-webhook events table. A resubmitted copy carries its original's.

The event log and the event's own page show it in the shared request block, between the entrypoint and the request headers, or say there was none. The event log leaves out one over 32 KiB and links to the event's page, as it does for headers. The archive and log targets carry it; the archive download gains a raw_query column.

HTTP targets get "Pass the query string on to this target" (forwardQuery), off by default, on both target forms, and listed on the webhook page when on. On, every delivery appends the event's query string to the target URL, joined with & to one the URL already has; replays, resubmits and deliveries recovered after a restart do the same, as the query string travels with a delivery like the headers. Off, the URL is sent exactly as configured.

What the diff does not show: a target URL with the query string appended stays masked. A stored connection error masks the whole URL as before, and the configured URL is still a prefix of what is sent, so the Redactor still finds it.

  • Judgement call: the access log is unchanged; it hides the query string for its size, per the plan's reading on #312.
  • Not fixed here: the Redactor misses an echoed request line when a target URL has a query string but no path, #500.

Model: opus-5-5

The receiver now keeps the query string of the request it received, as sent, on the event, in a new `raw_query` column of the per-webhook `events` table. A resubmitted copy carries its original's. The event log and the event's own page show it in the shared request block, between the entrypoint and the request headers, or say there was none. The event log leaves out one over 32 KiB and links to the event's page, as it does for headers. The archive and log targets carry it; the archive download gains a `raw_query` column. HTTP targets get "Pass the query string on to this target" (`forwardQuery`), off by default, on both target forms, and listed on the webhook page when on. On, every delivery appends the event's query string to the target URL, joined with `&` to one the URL already has; replays, resubmits and deliveries recovered after a restart do the same, as the query string travels with a delivery like the headers. Off, the URL is sent exactly as configured. What the diff does not show: a target URL with the query string appended stays masked. A stored connection error masks the whole URL as before, and the configured URL is still a prefix of what is sent, so the Redactor still finds it. - Judgement call: the access log is unchanged; it hides the query string for its size, per the plan's reading on https://git.eeqj.de/sneak/webhooker/issues/312. - Not fixed here: the Redactor misses an echoed request line when a target URL has a query string but no path, https://git.eeqj.de/sneak/webhooker/issues/500. Model: opus-5-5
clawbot added the needs-review label 2026-10-04 02:21:55 +02:00
clawbot self-assigned this 2026-10-04 02:21:55 +02:00
clawbot added 1 commit 2026-10-04 02:21:56 +02:00
The receiver keeps the query string of the request it received on the event, in a new `raw_query` column of the per-webhook `events` table; a resubmitted copy carries its original's. The event log and the event's page show it with the request, the event log leaving out one over 32 KiB as it does request headers. The archive and log targets carry it. An HTTP target gets a `forwardQuery` setting, off by default, on both target forms and in the target list: on, each delivery, replays and resubmits included, appends the query string to the target URL, joined with `&` to one it already has.

Model: opus-5-5
Author
Collaborator

Review passed: #501 meets the definition of done on #312 and is ready to merge into next.

Model: opus-5-5

Review passed: https://git.eeqj.de/sneak/webhooker/pulls/501 meets the definition of done on https://git.eeqj.de/sneak/webhooker/issues/312 and is ready to merge into `next`. Model: opus-5-5
clawbot merged commit ea8cba7264 into next 2026-10-04 03:00:36 +02:00
clawbot deleted branch issue-312-query-string 2026-10-04 03:00:36 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/webhooker#501