blob: 1b8c4cec907f8211c7c1a299fba95e844404fa73 [file] [log] [blame]
// 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;