node package manager

resource-http

provides an HTTP API

http

a resource for creating and configuring express http servers

  • Easily configurable through simple options hash
  • Based on latest Express 4.x.x
  • Static File Support
  • Session Support
  • Custom Web Domain support
  • HTTPS / SSL / Enforce SSL / Only SSL options
  • Websockets
  • OAuth Single Sign On through Passport
  • View Support through View module
  • Body Parser / File Uploads
  • Auto-port detection
  • i18n support through 18n-2
  • Has ability to white-label multiple Views and domains onto single site

see: ./examples/server.js

var http = require('resource-http');
 
// all options are optional and will default to a reasonable value if left unset 
http.listen({
 port: 8888,
 wss: true, // enables websocket server 
 host: 'localhost',
 root: __dirname + "/public",
 view: __dirname + "/view",
 cacheView: true, // caches all local view templates and presenters into memory 
 uploads: false,
 https: false, // enables https / ssl, requires key, cert, ca 
 autoport: true, // will auto-increment port if port unavailable 
 bodyParser: true, // parse incoming body data automatically, disable for streaming 
 sslRequired: false, // redirects all http traffic to https 
 onlySSL: false, // will only start https server, no http services 
 nodeinfo: false, // makes /_info route available for node information 
 nodeadmin: false, // makes /_iadmin route available for node administration 
 key: fs.readFileSync(__dirname + "/ssl/server.key").toString(),
 cert: fs.readFileSync(__dirname + "/ssl/cert.crt").toString(),
 ca: fs.readFileSync(__dirname + "/ssl/ca.crt").toString(),
 secret: "supersecret", // session password 
 redis: { // optional redis store for sessions, requires `connect-redis` package 
   host: "0.0.0.0",
   port: 6379,
   password: "foobar"
 }
}, function(errapp){
 console.log(app.server.address())
 // from here, app is a regular Express.js server 
 app.get('/foo', function (reqres){
   res.end('got /foo');
 });
});

The nodeinfo and nodeadmin boolean options should not be set to true on unsecured servers, as they may expose sensitive systems information.