// Modules - All of the modules that are loaded by default
const modern = require('./modern');
const modernOps = factory => (opts => modern(factory(opts)));
// ?TODO: something more solid. Maybe a thin wrapper per-module
// List mostly from http://expressjs.com/en/guide/migrating-4.html
// module.exports = [
// ctx => modern(require('body-parser').urlencoded(ctx.middle.bodyParser))(ctx)
// ];
module.exports = {
public: modernOps((path, self) => {
console.log(path, self);
throw self;
return self.express.static(path);
}),
bodyParser: modernOps(require('body-parser').urlencoded),
jsonParser: modernOps(require('body-parser').json),
dataParser: modernOps(require('express-data-parser')),
compress: modernOps(require('compression')),
cookieParser: modernOps(require('cookie-parser')),
session: modernOps(opt => opt && opt.secret ? require('express-session')(opt) : false),
favicon: modernOps(opt => opt ? require('serve-favicon')(opt) : false),
responseTime: modernOps(require('response-time')),
methodOverride: modernOps(require('method-override')),
// TODO: connectTimeout: require('connect-timeout'),
// TODO: vhost: require('vhost'),
// TODO: csurf: require('csurf'),
// ?TODO: serveIndex: (opt, all) => require('serve-index')(all.public)
};
|