From cfe63fa274e77a52549222135862f5461fcfa407 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 3 Nov 2016 14:43:10 +0000 Subject: [PATCH] Better support no-config when loading from file We should still error if given a 5xx with an empty body. --- src/vector/index.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/vector/index.js b/src/vector/index.js index c8093a8d..9c9d48fa 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -179,12 +179,15 @@ function getConfig() { if (err || response.status < 200 || response.status >= 300) { // Lack of a config isn't an error, we should // just use the defaults. - // Also treat a blank config as no config because - // we don't get 404s from file: URIs so this is the - // only way we can not fail if the file doesn't exist - // when loading from a file:// URI. - if (( response && response.status == 404) || body == '') { - deferred.resolve({}); + // Also treat a blank config as no config, assuming + // the status code is 0, because we don't get 404s + // from file: URIs so this is the only way we can + // not fail if the file doesn't exist when loading + // from a file:// URI. + if (response) { + if (response.status == 404 || (response.status == 0 && body == '')) { + deferred.resolve({}); + } } deferred.reject({err: err, response: response}); return;