mongo-web-handler
Version:
This a helper for creating ExpressJS Web Handler for MongoDB querying.
68 lines (53 loc) • 1.66 kB
JavaScript
// Node requires
var log4js = require('log4js');
var express = require('express');
var bodyParser = require('body-parser');
var mongojs = require('mongojs');
// Local requires
var config = require('./config');
var MONGOWH = require('./mongo-web-handler');
// Init Logger
var _Logger = function (){
log4js.configure({
appenders: [
{ type: 'console' },
{ type: 'file',
filename: config.log.logFile,
category: 'rest-server'
}
]
});
var aLogger = log4js.getLogger( 'rest-server');
aLogger.setLevel( config.log.level );
return aLogger;
}();
_Logger.info("Server Init.");
// Init mongo connection
var db = mongojs( config.mongo.url, config.mongo.collections );
_Logger.info("MongoDB : Init connection...");
var items = db.collection('items');
_Logger.info("MongoDB : Done.");
// Init Web Server
var web = express();
web.use(express.static('public'));
web.use(bodyParser.json());
/*
=============================================================
Routes Installations
============================================================
*/
web.route( config.http.routing.ITEMS_LIST_ENDPOINT )
.get( MONGOWH.createMongoWebHandler( _Logger, "ItemsListQuery",
function( req, res, resultsCallbackFunc ){
items.find( {}, resultsCallbackFunc );
})
);
/*
=====================================================
SERVER LISTENING
=====================================================
*/
var server = web.listen( config.http.port, config.http.backlog, function(){
var port = server.address().port;
_Logger.info("Start listening on port %s...", port);
});