Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    vfs-http-adapterpublic

    HTTP Adapter

    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);

    HEAD /any/path

    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.

    GET /path/to/file

    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.

    PUT /path/to/file

    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 /path/to/file

    Delete a file.

    DELETE /directory/path/with/slash/

    Delete a directory (not recursive)

    POST /path/to/target

    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:

    • {"renameFrom": from} - rename a file from from to target.
    • {"copyFrom": from} - copy a file from from to target.
    • {"linkTo": data} - create a symlink at target containing data.

    Keywords

    none

    install

    npm i vfs-http-adapter

    Downloadsweekly downloads

    9

    version

    0.2.3

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar