alldata-peer-server-http

AllData Peer HTTP server module

npm install alldata-peer-server-http
5 downloads in the last month

alldata-peer-server-http

Stability: 1 - Experimental

NPM version

Peer Server HTTP module for AllData, a distributed master-less write-once immutable event store database implementing "All Data" part of Lambda Architecture.

Usage

var AllDataPeerServer = require('alldata-peer-server-http');
var allDataPeerServer = new AllDataPeerServer({
    hostname: 'localhost',
    port: 8080
});

allDataPeerServer.on('_put', function (key, event, callback) {
    console.log('received request to _put: ' + key + ' ' + event);
    // process the _put
    callback(); // indicate success
});

allDataPeerServer.listen(function () {
    console.log('server listening...'); 
});

Test

npm test

Overview

AllDataPeerServer will listen to HTTP POST requests containing the _put request key and event encoded as a JSON string in the POST body.

Documentation

AllDataServer

Public API

AllDataPeerServer.listen(options, [callback])

  • options: See new AllDataPeerServer(options) options.
  • callback: See allDataPeerServer.listen(callback) callback.
  • Return: Object An instance of AllDataPeerServer with server running.

Creates new AllDataPeerServer and starts the server.

new AllDataPeerServer(options)

  • options: Object
    • hostname: String (Default: undefined) Hostname for the server to listen on. If not specified, the server will accept connections directed to any IPv4 address (INADDR_ANY).
    • port: Integer (Default: 8080) Port number for the server to listen on.

Creates a new AllDataPeerServer instance.

allDataPeerServer.close([callback])

  • callback: Function (Default: undefined) function () {} Optional callback to call once the server is stopped.

Stops the server from accepting new connections.

allDataPeerServer.listen([callback])

  • callback: Function (Default: undefined) function () {} Optional callback to call once the server is up.

Starts the server to listen to new connections.

Event _put

  • function (key, event, callback) {}
    • key: String AllData key generated for the event.
    • event: Object JavaScript object representation of the event to _put.
    • callback: Function function (error) {} The callback to call with an error or success of the _put operation.

Emitted when the server receives a new _put request from a peer client.

Signal error via callback(true) and success via callback().

allDataPeerServer.on('_put', function (key, event, callback) {
    console.log('received request to put: ' + key + ' ' + event); 
    // ... process the put
    callback();
});
npm loves you