alldata-server-http
Stability: 1 - Experimental
![NPM version](https://badge.fury.io/js/alldata-server-http.png)
Server HTTP module for AllData, a distributed master-less write-once immutable event store database implementing "All Data" part of Lambda Architecture.
Usage
var AllDataServer = require('alldata-server-http');
var allDataServer = new AllDataServer({
hostname: 'localhost',
port: 8080
});
allDataServer.on('put', function (event, callback) {
console.log('received request to put: ' + event);
callback();
});
allDataServer.listen(function () {
console.log('server listening...');
});
Test
npm test
Overview
AllDataServer will listen to HTTP POST
requests containing the event encoded as a JSON string in the POST body.
Documentation
AllDataServer
Public API
AllDataServer.listen(options, [callback])
options
: See new AllDataServer(options)
options
.callback
: See allDataServer.listen(callback)
callback
.- Return: Object An instance of AllDataServer with server running.
Creates new AllDataServer and starts the server.
new AllDataServer(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 AllDataServer instance.
allDataServer.close([callback])
callback
: Function (Default: undefined) function () {}
Optional callback to call once the server is stopped.
Stops the server from accepting new connections.
allDataServer.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 (event, callback) {}
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 client.
Signal error via callback(true)
and success via callback()
.
allDataServer.on('put', function (event, callback) {
console.log('received request to put: ' + event);
callback();
});