deviceprofiler
Version:
Identify a device based on user-agent, patterns learn based on
45 lines (40 loc) • 1.36 kB
JavaScript
var express = require('express');
var log4js = require('log4js');
log4js.configure({ // configure to use all types in different files.
appenders: {
out:{ type: "console"},
app:{ type: 'file', filename: 'logs/site.log' }
},
categories: {
default: { appenders: [ 'out', 'app' ], level: 'debug' }
},
replaceConsole: true
});
var logger = log4js.getLogger('Device Profiler');
var Server = function(_app){
var deviceProfiler = require('./deviceProfiling');
if (_app && ('number' == typeof _app)){
app = express();
app.listen(_app, function () {
var host = this.address().address;
var port = this.address().port;
logger.info('Server listening at http://%s:%s', host, port);
});
}
if (typeof _app == "function" ) app = _app;
app.use( function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept');
next();
});
app.get('/checkDevice', function(req, res) {
var result = deviceProfiler.checkDevice(req.query.agent,logger);
res.send(result);
});
app.get('/learn', function(req, res) {
var result = deviceProfiler.learn(req.query.agent,req.query.device);
res.send({"learn":true});
});
}
exports.listen = Server;