From a2adbb19bdf04fdc2f56f660628f84053c6761ba Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Fri, 11 Sep 2015 12:48:22 +0200 Subject: [PATCH] Avoid crashes on failed VM exports. --- src/api/vm.coffee | 9 ++++----- src/xapi.js | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api/vm.coffee b/src/api/vm.coffee index ad889cf57..ba8cca06f 100644 --- a/src/api/vm.coffee +++ b/src/api/vm.coffee @@ -658,7 +658,9 @@ exports.revert = revert #--------------------------------------------------------------------- -handleExport = (req, res, {stream, response: upstream}) -> +handleExport = (req, res, { stream }) -> + upstream = stream.response + res.writeHead( upstream.statusCode, upstream.statusMessage ? '', @@ -675,10 +677,7 @@ export_ = $coroutine ({vm, compress, onlyMetadata}) -> }) return { - $getFrom: yield @registerHttpRequest(handleExport, { - stream, - response: yield stream.response - }) + $getFrom: yield @registerHttpRequest(handleExport, { stream }) } export_.params = { diff --git a/src/xapi.js b/src/xapi.js index 6319a2fd2..aa3524abc 100644 --- a/src/xapi.js +++ b/src/xapi.js @@ -632,7 +632,8 @@ export default class Xapi extends XapiBase { use_compression: compress ? 'true' : 'false' } }) - stream.response = eventToPromise(stream, 'response') + + stream.response = await eventToPromise(stream, 'response') return stream }