4.5.1 • Published 5 years ago

node-datahub v4.5.1

Weekly downloads
16
License
ISC
Repository
github
Last release
5 years ago

node-datahub

FlightStats data hub request-promise client.

installation

npm install node-datahub --save

usage

Create a Datahub instance and pass in an object with your data hub url.

For more information about the FlightStats data hub : https://github.com/flightstats/hub

var Datahub = require('node-datahub');

var datahub = new Datahub({
    url: <YOUR_DATAHUB_URL>
});

datahub.getChannels()
    .then(function (result) {
        // ...
    });

tests

Run the tests

npm test

HubWatcher & HubForwarder

You can use an Express server to easily interact with new hub items and to forward incoming requests to a hub channel. These classes require Express but extending them to support Koa or other servers wouldn't be too difficult.

Config

import { HubWatcher, HubForwarder } from 'node-datahub';
import express from 'express';

const expressApp = express();

const config = {
 hubHost: {
   production: 'http://hub.prod',
   staging: 'http://hub.staging',
   test: 'http://hub.dev',
   development: 'http://hub.dev',
 },
 appHost: {
   production: 'http://my-app.prod:3000',
   staging: 'http://my-app.staging:3000',
   test: 'http://localhost:3001',
   development: 'http://localhost:3000',
 },
 hubParallelCalls: 2,
 webhookName: 'my_webhook'
};

HubWatcher

Use the HubWatcher to receive process new hub channel items.

const watcher = new HubWatcher(expressApp, config);

const doSomething = (hubChannelItem, hubItemURI) => {
  console.log('New hub item', hubChannelItem, 'exists at', hubItemURI);
};

// Process each new hub channel item
watcher.watchChannel('some-channel', doSomething);

HubForwarder

Use the HubForwarder to receive an HTTP post to an Express route and then post the transformed request to a hub channel.

const forwarder = new HubForwarder(expressApp, config);

const xfm = (req) => {
  // See http://expressjs.com/en/api.html#req
  console.log('Transforming request to', req.originalUrl, 'Headers:', req.headers, 'Body:', req.body);
  return req.body;
};

// Forward post requests from a route to a channel running an optional transformer.
forwarder.forwardToChannel('/some/route', 'some-channel', xfm);
4.5.1

5 years ago

4.5.0

6 years ago

4.4.5

7 years ago

4.4.4-pre

7 years ago

4.4.3

7 years ago

4.4.2

7 years ago

4.4.1

7 years ago

4.4.0

7 years ago

4.3.10

7 years ago

4.3.9

7 years ago

4.3.8

7 years ago

4.3.7

7 years ago

4.3.6

7 years ago

4.3.5

7 years ago

4.3.4

7 years ago

4.3.3

7 years ago

4.3.2

7 years ago

4.3.1

7 years ago

4.3.0

7 years ago

4.2.1

8 years ago

4.2.0

8 years ago

4.1.0

8 years ago

4.0.0

8 years ago

3.5.1

8 years ago

3.5.0

8 years ago

3.4.5

8 years ago

3.4.4

8 years ago

3.4.3

8 years ago

3.4.2

8 years ago

3.4.1

9 years ago

3.4.0

9 years ago

3.3.0

9 years ago

3.2.6

9 years ago

3.2.5

9 years ago

3.2.4

9 years ago

3.2.3

9 years ago

3.2.2

9 years ago

3.2.1

9 years ago

3.2.0

9 years ago

3.1.2

9 years ago

3.1.1

10 years ago

3.1.0

10 years ago

3.0.1

10 years ago

3.0.0

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago