diff --git a/lib/common/util.js b/lib/common/util.js index 0f69dd61bd95..f4b5775b6315 100644 --- a/lib/common/util.js +++ b/lib/common/util.js @@ -142,8 +142,8 @@ function handleResp(err, resp, body, callback) { var parsedResp = extend( true, { err: err || null }, - util.parseHttpRespMessage(resp), - util.parseHttpRespBody(body) + resp && util.parseHttpRespMessage(resp), + body && util.parseHttpRespBody(body) ); callback(parsedResp.err, parsedResp.body, parsedResp.resp); diff --git a/test/common/util.js b/test/common/util.js index a99a3645b8a3..f63b144a8db3 100644 --- a/test/common/util.js +++ b/test/common/util.js @@ -230,6 +230,22 @@ describe('common/util', function() { done(); }); }); + + it('should not parse undefined response', function(done) { + util.parseHttpRespMessage = function() { + done(); // Will throw. + }; + + util.handleResp(null, null, null, done); + }); + + it('should not parse undefined body', function(done) { + util.parseHttpRespBody = function() { + done(); // Will throw. + }; + + util.handleResp(null, null, null, done); + }); }); describe('parseHttpRespMessage', function() {