RickWong / local-webhook

๐Ÿ’• Zero-config webhooks

Home Page:http://localhost

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

local-webhook

Zero-configuration localhost webhooks. Do not use in production.

banner

Installation

yarn add -D local-webhook express

Note: express is a required peer dependency.

Usage

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.

Community

Let's start one together! After you โ˜… this project, follow me @Rygu on Twitter.

Thanks

License

BSD 3-Clause license. Copyright ยฉ 2018, Rick Wong. All rights reserved.

About

๐Ÿ’• Zero-config webhooks

http://localhost

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:JavaScript 100.0%