Skip to content

Instantly share code, notes, and snippets.

Created October 23, 2015 06:47
Show Gist options
  • Save anonymous/51f5594d4b73ff69bf92 to your computer and use it in GitHub Desktop.
Save anonymous/51f5594d4b73ff69bf92 to your computer and use it in GitHub Desktop.
Docs creation
=============
project$ npm run gen-docs
> expressed-boilerplate@1.0.0 gen-docs /home/sv/SWE/femo/usr/mktg-backend
> apidoc -i api/controllers/ -o docs/
warn: Please create an apidoc.json configuration file.
info: Done.
project$ ls docs
api_data.js api_project.js css index.html main.js vendor
api_data.json api_project.json img locales utils
server.js
=========
'use strict';
var express = require('express');
var morgan = require('morgan');
var compression = require('compression');
var methodOverride = require('method-override');
var bodyParser = require('body-parser');
var busboy = require('connect-busboy');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var passport = require('passport');
var dotenv = require('dotenv');
var server = express();
var util = require('util');
var mongoskin = require('mongoskin');
var cfg = require('config');
var __ = require('./api/utils/common');
dotenv.load();
var db = mongoskin.db(cfg.get('mongoUri'), {strict: true, safe: true});
server.use(morgan('dev'));
server.use(compression());
server.use(methodOverride());
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));
server.use(busboy());
server.use(cookieParser());
server.set('json spaces', 0);
server.use(session({
secret: process.env.SECRET,
cookie: {
maxAge: 1000*60*30
},
resave: false,
saveUninitialized: false
}));
server.use(passport.initialize());
server.use(passport.session());
server.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', req.headers.origin || '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
server.use(function (req, res, next) {
req._ = {db: db};
next();
});
server.use('/api/v1', require('./api'));
server.use('/doc', express.static(__dirname + '/docs', {maxAge: cfg.get('cacheMaxAge')}));
server.all('/*', function(req, res) {
res.json(__.getErr(404));
});
server.listen(cfg.get('listenPort'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment