75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
// Generated by CoffeeScript 1.8.0
|
|
var dumpResponse, dumpingHandler, enhance, utils, _;
|
|
|
|
_ = require('underscore');
|
|
|
|
utils = require('./utils');
|
|
|
|
dumpingHandler = function(request, response, uri) {
|
|
var element, originalSend, _i, _len, _ref, _results;
|
|
originalSend = response.send;
|
|
response.send = function(body) {
|
|
return dumpResponse(originalSend, body, request, response, uri);
|
|
};
|
|
if (request.method !== 'POST') {
|
|
return;
|
|
}
|
|
utils.logVerbose('--------------------------------------------------');
|
|
utils.logVerbose("" + request.method + " " + uri + " [request]");
|
|
if (_.isArray(request.body)) {
|
|
_ref = request.body;
|
|
_results = [];
|
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
|
element = _ref[_i];
|
|
_results.push(utils.logVerbose(" " + (enhance(JSON.parse(element)))));
|
|
}
|
|
return _results;
|
|
} else {
|
|
return utils.logVerbose(" " + (enhance(request.body)));
|
|
}
|
|
};
|
|
|
|
dumpResponse = function(originalSend, body, request, response, uri) {
|
|
var e, element, _i, _len, _ref, _results;
|
|
originalSend.call(response, body);
|
|
if ((_ref = request.method) !== 'GET' && _ref !== 'POST') {
|
|
return;
|
|
}
|
|
try {
|
|
body = JSON.parse(body);
|
|
} catch (_error) {
|
|
e = _error;
|
|
return;
|
|
}
|
|
if (_.isArray(body) && (body.length === 0)) {
|
|
return;
|
|
}
|
|
utils.logVerbose('--------------------------------------------------');
|
|
utils.logVerbose("" + request.method + " " + uri + " " + response.statusCode + " [response]");
|
|
if (_.isArray(body)) {
|
|
_results = [];
|
|
for (_i = 0, _len = body.length; _i < _len; _i++) {
|
|
element = body[_i];
|
|
_results.push(utils.logVerbose(" " + (enhance(JSON.parse(element)))));
|
|
}
|
|
return _results;
|
|
} else {
|
|
return utils.logVerbose(" " + (enhance(body)));
|
|
}
|
|
};
|
|
|
|
enhance = function(object) {
|
|
var args, signature;
|
|
if (!object["interface"] || !object.method || !object.args) {
|
|
return JSON.stringify(object);
|
|
}
|
|
signature = "" + object["interface"] + "." + object.method;
|
|
args = JSON.stringify(object.args);
|
|
if (args.length > 500) {
|
|
args = "" + (args.substr(0, 50)) + "...";
|
|
}
|
|
return "" + signature + "(" + args + ")";
|
|
};
|
|
|
|
module.exports = dumpingHandler;
|