Skip to content

Commit

Permalink
Fixed infinite recursive loop in message.toString()
Browse files Browse the repository at this point in the history
  • Loading branch information
grs committed Feb 3, 2017
1 parent 6b761e8 commit f25101c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
13 changes: 6 additions & 7 deletions lib/message.js
Original file line number Diff line number Diff line change
Expand Up @@ -213,18 +213,17 @@ function Message(o) {

Message.prototype.toJSON = function () {
var o = {};
for (var i in section_names) {
var key = section_names[i];
for (var key in this) {
if (typeof this[key] === 'function') continue;
var fields = special_sections[key];
if (fields) {
for (var j in fields) {
if (this[fields[j]] !== undefined) {
if (o[key] === undefined) o[key] = {};
o[key][fields[j]] = this[fields[j]];
for (var i in fields) {
var field = fields[i];
if (this[key][field] !== undefined && this[key][field] !== null) {
o[field] = this[key][field];
}
}
} else if (this[key]) {
} else {
o[key] = this[key];
}
}
Expand Down
4 changes: 3 additions & 1 deletion test/messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,9 @@ describe('message content', function() {
assert.equal(message.first_acquirer, undefined);
assert.equal(message.delivery_count, undefined);
}));

it('message has a toString', transfer_test({message_id:'my-id', body:'hello world!'}, function(message) {
assert.equal(message.toString(), '{"message_id":"my-id","body":"hello world!"}');
}));
});

describe('acknowledgement', function() {
Expand Down

0 comments on commit f25101c

Please sign in to comment.