docs: feature-focused README + fix ListWebhookLogs filtering - #9
Merged
Conversation
Rewrite the README to demonstrate the main Webhook Relay capabilities from Go: internal (behind-firewall) webhooks, WebSocket streaming, polling, durable delivery and throttling, plus a features overview and client options. Every snippet is type-checked against the SDK. Also fix ListWebhookLogs, which built a query string but never attached it to the request — so the required `bucket` parameter was never sent and the call always failed with 400. It now applies the filter/pagination options and validates that BucketID is set. Add unit tests and a live smoke check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rewrites the README to demonstrate the main Webhook Relay features from Go, and fixes a real bug in
ListWebhookLogsfound while writing the polling example.README
Feature-focused sections, each with a copy-pasteable snippet:
relayagent (Output.Internal)Bucket.Stream+wss://…/v1/socket, responding viaUpdateWebhookLogListWebhookLogsloop over a bucketOutput.DurabilityOutput.Throttle(rate + concurrency)Every snippet was type-checked against the SDK before committing.
Bug fix —
ListWebhookLogsIt built a query string via
getQuery()but never attached it to the request, so:bucketparameter was never sent → the call always failed with400 "bucket ID is required";Status/From/To/Limit/Offsetfilters were silently ignored.Now it applies the query and validates
BucketID. Covered byTestListWebhookLogsAppliesQuery/TestListWebhookLogsRequiresBucketand a live smoke check in the integration test.Also
Updated the repo description and topics.
Verification
go build/go vetclean; full suite green (live tests skip without creds; run against the live API in CI).🤖 Generated with Claude Code
Note
Medium Risk
The
ListWebhookLogsfix changes runtime behavior (previously broken API calls; emptyBucketIDnow fails client-side), which could break callers that omittedBucketIDeven though the API already required it.Overview
README is expanded into a feature-oriented guide: quickstart, internal/
relayforwarding, WebSocket streaming, polling viaListWebhookLogs, durable delivery, throttling, plus a broader API overview and client options (badges/links updated).ListWebhookLogsnow appendsgetQuery()to the GET path sobucketand filters (status, time range,limit/offset) reach the API, and returns a client error whenBucketIDis missing. Docs on the method match that contract.Tests: httptest regression for query params and empty-bucket validation; integration lifecycle calls
ListWebhookLogson a fresh bucket.Reviewed by Cursor Bugbot for commit fb802f5. Bugbot is set up for automated code reviews on this repo. Configure here.