Module: Hooksmith::Idempotency::Extractors
- Defined in:
- lib/hooksmith/idempotency.rb
Overview
Common idempotency key extractors for popular webhook providers.
Constant Summary collapse
- STRIPE =
Stripe uses the event ID as the idempotency key.
->(payload) { payload['id'] || payload[:id] }
- GITHUB =
GitHub uses the delivery ID header (must be passed in payload).
->(payload) { payload['delivery_id'] || payload[:delivery_id] }
- GENERIC =
Generic extractor that looks for common ID fields.
lambda do |payload| payload['id'] || payload[:id] || payload['event_id'] || payload[:event_id] || payload['webhook_id'] || payload[:webhook_id] end