diff --git a/lib/client.js b/lib/client.js index b875461..89e60db 100644 --- a/lib/client.js +++ b/lib/client.js @@ -115,21 +115,22 @@ Client.prototype.methodCall = function methodCall(method, params, callback) { return err } - if (response.statusCode == 404) { - callback(__enrichError(new Error('Not Found'))) - } - else { - this.headersProcessors.parseResponse(response.headers) - - var deserializer = new Deserializer(options.responseEncoding) - - deserializer.deserializeMethodResponse(response, function(err, result) { - if (err) { - err = __enrichError(err) - } - callback(err, result) - }) - } + response.on('end', () => { + if (response.statusCode == 404) { + callback(__enrichError(new Error('Not Found'))) + } else { + this.headersProcessors.parseResponse(response.headers) + + var deserializer = new Deserializer(options.responseEncoding) + + deserializer.deserializeMethodResponse(response, function (err, result) { + if (err) { + err = __enrichError(err) + } + callback(err, result) + }) + } + }); }.bind(this)) request.on('error', callback)