ws-engine-request

Connect express / restify server with engine over WebSocket connection.

Usage no npm install needed!

<script type="module">
  import wsEngineRequest from 'https://cdn.skypack.dev/ws-engine-request';
</script>

README

WebSocket Engine Request

When REST endpoint is hit connect to engine/worker server with a WebSocket connection.

CircleCI npm version

Install

npm install ws-engine-request --save

Development

npm run-script build

Examples

Single Task Server Example

#!/usr/bin/env node

'use strict';

var wer = require('ws-engine-request');

wer.server({
    port: 5000
}, (messageData, callback) => {
    let error = null;
    let data = {
        id: 1,
        title: 'A Random Title'
    };
    let message = null;
    callback(error, data, message);
});
kgilbert-mac:ws-engine-request kgilbert$ node example/engine/engineWithOneTask.js 
Thu Dec 01 2016 10:08:49 GMT-0600 (CST) - WebSocket connection closed
Thu Dec 01 2016 10:08:53 GMT-0600 (CST) - WebSocket connection closed
Thu Dec 01 2016 10:08:54 GMT-0600 (CST) - WebSocket connection closed

Restify Example

#!/usr/bin/env node

'use strict';

var restify = require('restify');
var wer = require('ws-engine-request');

let server = restify.createServer({name: 'Restify Example - WebSocket Engine Connection'});

server.use(restify.acceptParser(server.acceptable));
server.use(restify.queryParser());
server.use(restify.bodyParser());

server.get('/engine', wer.request('ws://localhost:5000', null, null), wer.format);

server.listen(8080, () => {
    console.log('%s listening at %s', server.name, server.url);
});
kgilbert-mac:ws-engine-request kgilbert$ node example/api/restify.js 
Restify Example - WebSocket Engine Connection listening at http://[::]:8080
Thu Dec 01 2016 10:08:49 GMT-0600 (CST) - WebSocket connection closed
Thu Dec 01 2016 10:08:53 GMT-0600 (CST) - WebSocket connection closed
Thu Dec 01 2016 10:08:54 GMT-0600 (CST) - WebSocket connection closed

Change Log

0.2.0
- Initial public release.

License

See LICENSE.md (MIT)