svc-fbr
File Browser Service
This module can be used in different ways:
-
As a standalone service: running the module's server in the background allows different processes to use this service through a REST API. This allows user to traverse an accessible network file system (NFS). The terminal interface is useful in controlling the service on the host. Note: you can import the module in your Node.js applications to abstract the REST api.
-
As an imported module: you can simply
require
the module in Node.js applications thus using the module API. This should be used by application accessing file systems attached to the system.
⇒ npm install svc-fbr --global
Module API:
const fbr = ;
fbr.start([options [, callback]])
Start the service.
options
(service options)callback
(Function):- signature:
callback(err)
- signature:
fbr.ping([options [, callback]])
Ping the service.
options
(service options)callback
(Function):- signature:
callback(err, response)
response
(Object): passed on successresponse.running
(Boolean)
- signature:
fbr.stop([options [, callback]])
Stop the service.
options
(service options)callback
(Function):- signature:
callback(err)
- signature:
fbr.query(params, callback)
Query service.
options
(service options + Parameters)callback
(Function):- signature:
callback(err, res)
- signature:
service options
An Object
of options as configurations of the service.
Properties:
ip
(String): ip of serverport
(Number): port of the serverhome
: (String) path to home directory. This is default path used ifpath
parameter is not passed.
Prescedence (from Left-To-Right):
ip
:arguments
,${FBRS_IP}
,"127.0.0.1"
port
:arguments
,${FBRS_PORT}
,9432
home
:arguments
,${FBRS_HOME}
,process.env.HOME
parameters
An Object
of query parameters.
Properties:
path
(String): path to look upignoreDotFiles
(Boolean=false
): ignore files with names starting with a.
(dot).ignoreCurDir
(Boolean=false
): ignore the current directory,.
, from results.ignoreUpDir
(Boolean=false
): ignore the upper directory,..
, from results.statEach
(Boolean=true
): stat each of the contained files ifpath
is a directory.
REST API:
Available endpoints once the service is started.
traversal of file-system:
GET /
The parameters should be sent as query string.
Success response:
- status:
200 OK
- body:
where <content>
would be:
String[]
: array of fs.Stats, if path points to directoryString
: file content, if path points to file and<type>
would be the name of a fs.Stats function e.g. "isDirectory", that returnstrue
.
ping service:
GET /ping
Success response:
- status:
200 OK
stopping service:
GET /stop
Success response:
- status:
200 OK
terminal usage:
⇒ svc-fbr helpsvc-fbr: file browser service ?, status check status of service H, help show this help information V, version show version information s, start start service x, stop stop service See https://github.com/forfutureLLC/svc-fbr
tips:
To start the service as daemon, use forever:
$ forever start svc-fbr start # note the TWO <start>s
license:
The MIT License (MIT)
Copyright (c) 2015 Forfuture LLC we@forfuture.co.ke