https://github.com/strongloop/strong-pubsub-bridge
https://github.com/strongloop/strong-pubsub-bridge
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/strongloop/strong-pubsub-bridge
- Owner: strongloop
- License: other
- Created: 2015-03-17T20:33:51.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2017-03-19T10:12:34.000Z (almost 9 years ago)
- Last Synced: 2025-04-07T01:05:39.379Z (10 months ago)
- Language: JavaScript
- Size: 21.5 KB
- Stars: 6
- Watchers: 21
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# strong-pubsub-bridge
**Create a bridge between a `Client` and a broker.**
## Installation
```
$ npm install strong-pubsub-bridge
```
## Use
Use `Bridge` for the following:
- Bridge connections to brokers
- Inject logic inbetween client actions (publish / subscribe / etc) and brokers
- Adapt a connection that speaks one protocol to a broker that requires another
**TCP**
Below is an example accepting a **tcp** connection, upgrading it to a
**strong-pubsub** `Connection`, and creating a bridge to an **MQTT** broker.
```js
// tcp server
tcpServer.on('connection', function(socket) {
var bridge = new Bridge(
// upgrade the tcp socket into a strong-pubsub-connection
new Connection(socket),
new Client({port: MOSQUITTO_PORT}, Adapter)
);
bridge.connect();
});
```
**Primus**
Here is an example that upgrades a **primus** `Spark` into a
**strong-pubsub** `Connection` and creating a bridge to an **MQTT** broker.
```js
// primus server
primus.on('connection', function(spark) {
var bridge = new Bridge(
new Connection(spark),
new Client({port: MOSQUITTO_PORT}, Adapter)
);
bridge.connect();
});
```
**Hooks**
Below is an example using a hook to inject a function to be invoked before an
action is performed by the bridge on behalf of a `Connection`.
```js
bridge.before(action, function(ctx, next) {
console.log('about to publish to');
console.log(ctx.topic); // => "my topic"
next();
});
```
## API
[See the API docs.](http://apidocs.strongloop.com/strong-pubsub-bridge)