https://github.com/esadek/hungry-hippo
Consume webhooks on your local machine
https://github.com/esadek/hungry-hippo
Last synced: about 1 month ago
JSON representation
Consume webhooks on your local machine
- Host: GitHub
- URL: https://github.com/esadek/hungry-hippo
- Owner: esadek
- License: mit
- Created: 2023-11-10T02:09:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-25T22:02:25.000Z (almost 2 years ago)
- Last Synced: 2026-03-25T19:49:21.788Z (4 months ago)
- Language: TypeScript
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hungry Hippo
[](https://github.com/esadek/hungry-hippo/actions/workflows/ci.yaml)
[](https://github.com/esadek/hungry-hippo/blob/main/main.ts)
[](https://github.com/esadek/hungry-hippo/blob/main/LICENSE)
Hungry Hippo is a [Deno](https://deno.com/) HTTP server that accepts JSON
payloads via POST, PUT and PATCH requests and appends the received JSON to a
[JSON Lines](https://jsonlines.org/) file. [ngrok](https://ngrok.com/) is used
to expose the server to the internet. Hungry Hippo was created to be used with
the
[RudderStack webhooks destination](https://www.rudderstack.com/docs/destinations/webhooks/),
but can be used to consume webhooks from other providers.

## Prerequisite
Install Deno on your machine.
Mac and Linux:
```bash
curl -fsSL https://deno.land/install.sh | sh
```
Windows:
```bash
irm https://deno.land/install.ps1 | iex
```
## Usage
1. Run HTTP server and tunnel:
```bash
deno run -A https://raw.githubusercontent.com/esadek/hungry-hippo/main/main.ts
```
2. Send requests to ngrok URL:
```bash
curl --json '{"event": "test"}' https://abc-123.ngrok-free.app
```
3. View JSON objects in `data.jsonl`:
```bash
cat data.jsonl
```