Zero-configuration localhost webhooks. Do not use in production.
yarn add -D local-webhook express
Note: express
is a required peer dependency.
Setup and generate webhook as a Promise:
import LocalWebhook from 'local-webhook';
await LocalWebhook.startServer({ subdomain: "sushi" });
// Generate an awaitable webhook Promise.
const webhook = LocalWebhook.getPromise("wasabi");
// This URL can be shared with third-party services.
// Ex: "https://sushi.localhost.run/wasabi"
webhook.getWebhookUrl();
// Handle third-party service's webhook request once.
webhook.then(({ req, res }) => {
res.send("Hello from promise, wasabi");
});
// Awaitable if necessary.
await webhook;
Generate webhook as an Observable:
// Generate a webhook Observable.
const webhook = LocalWebhook.getObservable("ichiban");
// This URL can be shared with third-party services.
// Ex: "https://sushi.localhost.run/ichiban"
webhook.getWebhookUrl();
// Handle third-party service's webhook requests each time it's called.
webhook.subscribe(({ req, res }) => {
res.send("Hello from observable, ichiban");
});
Check the example and tests for much more options.
Let's start one together! After you ★ this project, follow me @Rygu on Twitter.
BSD 3-Clause license. Copyright © 2018, Rick Wong. All rights reserved.