Waithook ruby client
A ruby client Waithook. Wiathook is a service to transmit HTTP requests over websocket connection. It's kinda Pub/Sub system for HTTP notifications, built for recieving webhook notifications behind proxy or when public IP is unknown (such as cloud CI server).
To recieve notifications you should add http://waithook.com/some_random_string
as notification URL and start listening websocket messages at wss://waithook.com/some_random_string
.
Command line usage
Install:
gem install waithook
Subscribe and print incoming requests:
waithook waithook.com/my_path
Subscribe and forvard to other web server:
waithook waithook.com/my_path --forward http://localhost:3000/notify
Ruby API
Waithook.default_path = 'my-notification-endpoint' # or using ":path" option in Waithook.subscribe
waithook = Waithook.subscribe(timeout: 60, raise_on_timeout: true) do |webhook|
webhook.json_body['order_id'] == order_id
end
waithook.send_to("http://localhost:3000/notify")
When it can be used?
- Testing integration with payment gateway
- Testing github webhooks
- Testing incoming email processing
- Testing slack bots
- Testing facebook webhooks
Waithook service just help to deliver webhook to your application when public IP is unknown or not available. It can help when multiple developers testing integration with other service on localhost or your automated tests running in CI.