rapnc
Version:
Node client for RAP 1.0
58 lines (52 loc) • 1.44 kB
JavaScript
var helper = require('../helpers');
var CONSTS = require('../constants');
var REAL_KEY = CONSTS.REAL_DATA_KEY;
var SEPERATOR = CONSTS.SEPERATOR;
function handle(req, res, app) {
var pid = req.params.pid;
var pathname = req.params[0];
var url = req.url;
var splited = url.split('/check/' + pid + '/');
if (!splited) {
res.json({
code: 500,
msg: 'missing params'
})
return;
}
if (splited[1].indexOf(SEPERATOR) != -1) {
splited[1] = splited[1].split(SEPERATOR)[0].slice(0, -1);
}
url = helper.cleanUrl(splited[1]);
var query = req.query;
var params = {};
for(var prop in query) {
if (prop == REAL_KEY || prop == SEPERATOR) {
continue;
}
params[prop] = query[prop];
}
var responseData = query[REAL_KEY];
if (responseData) {
responseData = JSON.parse(query[REAL_KEY]);
}
helper.doCheck(pid, url, pathname, params, responseData, function(status, msg) {
if (status == -1) {
res.json({
_RAPNC_STATUS_: -1,
status: status,
msg: msg
})
return;
}
res.json({
status: status,
msg: msg
})
})
}
module.exports = function(prefix, app) {
app.all(prefix + '/check/:pid/*', function(req, res) {
handle(req, res, app);
});
}