Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rest-fs

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rest-fs

restful fileserver

  • 0.1.11
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
30
increased by15.38%
Maintainers
1
Weekly downloads
 
Created
Source

rest-fs

restful interface to a filesystem

usage

npm install rest-fs

to install

npm start

starts fileserver on port 3000

npm test

runs various file and folder test

npm start

starts server on port 3000 of your entire system

LOG=true for access log

DEBUG=* for debug info

app = require('express')();
restfs = require('rest-fs')
restfs(app);
app.listen(3000)

To use programmatically, pass in the app into restfs and it will add the routes. you can attach a function to modifyOut to manipulate file output. the function has one argument which is the full filepath and should return path to return

ETags

rest-fs supports ETags by default. Each api endpoint will return a strict ETag header that clients can utilize when making subsequent requests. Please see [http://en.wikipedia.org/wiki/HTTP_ETag](this article) for more information on using ETags.

API

GET /path/to/dir/

list contents of directory

optional
?recursive = list recursively default false

returns: list of full file or folder paths (trailing slash tells if dir)

res.body = [ { "fullDirPath" }, ... ]
File Stats

?stats = Return file stats for the directory instead of file listing.

res.body = {
  dev: 16777220,
  mode: 16877,
  nlink: 31,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 604862,
  size: 1054,
  blocks: 0,
  atime: Thu Mar 05 2015 11:38:47 GMT-0800 (PST),
  mtime: Thu Mar 05 2015 10:52:41 GMT-0800 (PST),
  ctime: Thu Mar 05 2015 10:52:41 GMT-0800 (PST)
}

GET /path/to/file

returns contents of file
if dir, redirect to dir path

optional
?encoding = default utf8

returns: res.body = { "file content" }

File Stats

?stats = Return file stats for the file instead of file's contents.

res.body = {
  dev: 16777220,
  mode: 16877,
  nlink: 31,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 604862,
  size: 1054,
  blocks: 0,
  atime: Thu Mar 05 2015 11:38:47 GMT-0800 (PST),
  mtime: Thu Mar 05 2015 10:52:41 GMT-0800 (PST),
  ctime: Thu Mar 05 2015 10:52:41 GMT-0800 (PST)
}

POST /path/to/file/or/dir

creates or overwrites file
creates dir if it does not exist.
renames or moves file if newPath exists

optional
body.newpath = if exist, move/rename file to this location.
body.clobber = if true will overwrite dest files (default false)
body.mkdirp = if true will create path to new location (default false)
body.mode = permissions of file (defaults: file 438(0666) dir 511(0777))
body.encoding = default utf8

optional for stream
query.clobber = overwrite if exist query.mode = permissions of file (defaults: file 438(0666) dir 511(0777))
query.encoding = default utf8

returns: modified resource. (trailing slash tells if dir)

req.body = { "fullFileOrDirPath" }

PUT /path/to/file

creates file

optional
body.mode = permissions of file (438 default 0666 octal)
body.encoding = default utf8

returns: modified resource (trailing slash tells if dir)

req.body = { "fullFilePath" }

DEL /path/to/dir/

deletes folder
if file returns error

returns:

req.body = {}

DEL /path/to/file

deletes file
if folder returns error

returns:

req.body = {}

Keywords

FAQs

Package last updated on 11 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc