From de360e200cc051be1e8d58b6bd043eb0b6b8efe6 Mon Sep 17 00:00:00 2001 From: Yarmo Mackenbach Date: Fri, 17 Jul 2020 14:22:54 +0200 Subject: [PATCH] Handle CORS errors during WKD lookup (#1125) Also, throw an error instead of returning null when the server returned an error status. --- src/wkd.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/wkd.js b/src/wkd.js index 7a956c16..39a90ea1 100644 --- a/src/wkd.js +++ b/src/wkd.js @@ -60,11 +60,17 @@ WKD.prototype.lookup = async function(options) { const urlAdvanced = `https://openpgpkey.${domain}/.well-known/openpgpkey/${domain}/hu/${localEncoded}`; const urlDirect = `https://${domain}/.well-known/openpgpkey/hu/${localEncoded}`; - let response = await fetch(urlAdvanced); - if (response.status !== 200) { + let response; + try { + response = await fetch(urlAdvanced); + if (response.status !== 200) { + throw new Error('Advanced WKD lookup failed: ' + response.statusText); + } + } catch (err) { + util.print_debug_error(err); response = await fetch(urlDirect); if (response.status !== 200) { - return; + throw new Error('Direct WKD lookup failed: ' + response.statusText); } }