{"id":17061575,"url":"https://github.com/paxa/waithook-ruby","last_synced_at":"2026-02-25T16:04:03.018Z","repository":{"id":56897726,"uuid":"74883025","full_name":"Paxa/waithook-ruby","owner":"Paxa","description":"Ruby client for waithook.com","archived":false,"fork":false,"pushed_at":"2025-04-05T16:40:14.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-01T11:58:47.643Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://waithook.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Paxa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-11-27T11:19:28.000Z","updated_at":"2025-04-05T16:40:17.000Z","dependencies_parsed_at":"2024-11-30T03:23:51.123Z","dependency_job_id":"1d45e89c-21b5-480c-a466-6c7fa7a676d2","html_url":"https://github.com/Paxa/waithook-ruby","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"9a7abec53dcceb938037e43d5d890873e6f71208"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Paxa/waithook-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxa%2Fwaithook-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxa%2Fwaithook-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxa%2Fwaithook-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxa%2Fwaithook-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Paxa","download_url":"https://codeload.github.com/Paxa/waithook-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxa%2Fwaithook-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270850277,"owners_count":24656474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T10:47:31.744Z","updated_at":"2026-02-25T16:04:02.978Z","avatar_url":"https://github.com/Paxa.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Waithook ruby client\n\nA ruby client [Waithook](http://waithook.com).\nWiathook is a service to transmit HTTP requests over websocket connection.\nIt'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).\n\n\nTo 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`.\n\n### Command line usage\n\nInstall:\n```sh\ngem install waithook\n```\n\nSubscribe and print incoming requests:\n```sh\nwaithook waithook.com/my_path\n```\n\nSubscribe and forvard to other web server:\n```sh\nwaithook waithook.com/my_path --forward http://localhost:3000/notify\n```\n\n### Ruby API\n\n```ruby\nWaithook.default_path = 'my-notification-endpoint' # or using \":path\" option in Waithook.subscribe \nwaithook = Waithook.subscribe(timeout: 60, raise_on_timeout: true) do |webhook|\n  webhook.json_body['order_id'] == order_id\nend\n\nwaithook.send_to(\"http://localhost:3000/notify\")\n```\n\n### When it can be used?\n\n* Testing integration with payment gateway\n* Testing github webhooks\n* Testing incoming email processing\n* Testing slack bots\n* Testing facebook webhooks\n\nWaithook 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.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaxa%2Fwaithook-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaxa%2Fwaithook-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaxa%2Fwaithook-ruby/lists"}