This module is a connect/stack middleware module that wraps a vfs instance and serves it via a HTTP RESTful interface.
The module is a setup function that creates a middleware instance.
var root = "http://localhost:8080/rest/"; var vfs = require('vfs-local')({ root: process.cwd(), httpRoot: root, }); require('http').createServer(require('stack')( require('vfs-http-adapter')("/rest/", vfs) )).listen(8080); console.log("RESTful interface at " + root);
All HEAD requests are converted to GET requests internally and act identical, except there is an internal flag in the vfs layer telling it to not stream the body.
Serve a file to the client as a stream. Supports etags and range requests.
GET /directory/path/with/slash/
Serve a directory listing as a JSON document.
This is served as a streaming json document with a weak etag (since the order of the entries is not defined.) It supports conditional GET requests
See vfs.readdir
below for the format of the JSON.
Recieve a file from the client and save it to the vfs. The file body is streamed.
PUT /directory/path/with/slash/
Create a directory
Delete a file.
DELETE /directory/path/with/slash/
Delete a directory (not recursive)
POST is used for various adhoc commands that are useful but don't fit well into the RESTful paradigm. The client sends a JSON body containing the request information.
Currently this includes:
from
to target
.from
to target
.target
containing data
.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4