multilevel-serve
Expose a level-serve instance over the
network by smuggling them into a db object, using multilevel as a transport
and the extracting them back again on the client.

Usage
This assumes that you're already using
multilevel. For help setting it
up, there's a section about using plugins in its README.
Host a multilevel server on port 3000 and the level-serve http server on port
8000.
var serve = require('level-serve');
var addServer = require('multilevel-serve');
var http = require('http');
var db =
var server = serve(db);
addServer(db, server);
http.createServer(function (req, res) {
server.handle(req, res);
}).listen(8000);
In the client, make the connection and then store a
cat picture in level-serve and get its
url.
var getServer = require('multilevel-server');
var fs = require('fs');
var db =
var server = getServer(db);
fs.createReadStream(__dirname + '/cat.png')
.pipe(server.createWriteStream('cat.png'))
.on('close', function () {
server.url('cat.png', function (err, url) {
console.log('open http://localhost:8000' + url);
});
});
API
Server
var addServer = require('multilevel-serve');
addServer(db, server)
Smuggle the server's methods into db.
Client
var getServer = require('multilevel-serve');
var server = getServer(db)
Get the server back from the db object.
var manifest = getServer.manifest
If you don't have access to a manifest, you can use this one.
Installation
With npm do
$ npm install multilevel-serve
License
(MIT)
Copyright (c) 2013 Wayla <data@wayla.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.