UNPKG

rapnc

Version:

Node client for RAP 1.0

58 lines (52 loc) 1.44 kB
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); }); }