level-over-http

    0.0.4 • Public • Published

    level-over-http

    Serves and stores items to a level database over http. level-over-http can live stream a level database and accept the same options defined in the LevelDOWN API.

    Here is an example of serving 'test.db' over http://localhost:3000/test

    var level       = require('level');
    var http        = require('http');
    var levelHttp   = require('level-over-http');
     
    var db   = level('test.db');
    var server = http.createServer(levelHttp.serve('/test', db)).listen(3000);

    To push something to the leveldb, make a POST request.

        var options = {
            host : 'localhost',
            port : 3000,
            path : '/test',
            method : 'POST'
        }
     
        var req = http.request(options, function(res) {
         res.pipe(process.stdout);
        });
     
        req.on('error', function(e) {
            console.log('problem with request: ' + e.message);
        })
     
        req.end('{"value":"hello wisconsin"}\n');

    The following response is streamed to stdout.

    {"result":"success","key":"0001427765362253.000000000"}
    

    To live stream something from the leveldb, make a GET request.

        var options = {
            host : 'localhost',
            port : 3000,
            path : '/test',
            headers : { gte : '0001427765362253.000000000' }
        }
     
        var req = http.request(options, onResponse);
     
        req.end();

    Notice the headers object can contain the same options as defined in the LevelDOWN API.

    {"key":"0001427765362229.000000000","value":"hello wisconsin"}
    

    level-over-http uses lexicographic-timestamp for key generation.

    Install

    npm i level-over-http

    DownloadsWeekly Downloads

    1

    Version

    0.0.4

    License

    BSD3

    Last publish

    Collaborators

    • lakowske