promessas e módulo http c / conectar servidor estático

função de fábrica simples para criar um servidor estático básico.


var http = require('http')
, Promise = Promise || require('es6-promise').Promise
, conn = require('connect')
;

function createServer (pub, port) {
var app, server
;

return new Promise(function(resolve, reject){
app
= conn()
.use(conn.errorHandler({dumpExceptions: true, showStack: true}))
.use(conn.static(pub))
//.use(someAwesomeMiddleware())



var server = http.createServer(app)
.on('error', reject)
.on('listening', function(){
resolve
(server)
})
.listen(port)
})
}

module
.exports = createServer

E use assim.


function errorHandler (err) {
throw err
}

createServer
('./public', 8181).then(function(server){
// do stuff with server here.
console
.log('serving on port:', server.address().port)

}).catch(errorHandler)