Catch PK API network errors
This commit is contained in:
@@ -146,15 +146,20 @@ async function fetchMessage(messageID) {
|
|||||||
// Their backend is weird. Sometimes it says "message not found" (code 20006) on the first try, so we make multiple attempts.
|
// Their backend is weird. Sometimes it says "message not found" (code 20006) on the first try, so we make multiple attempts.
|
||||||
let attempts = 0
|
let attempts = 0
|
||||||
do {
|
do {
|
||||||
var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`)
|
try {
|
||||||
if (res.ok) return res.json()
|
var res = await fetch(`https://api.pluralkit.me/v2/messages/${messageID}`)
|
||||||
|
if (res.ok) return res.json()
|
||||||
|
var errorGetter = res.json
|
||||||
|
} catch (e) {
|
||||||
|
// Catch any network issues too.
|
||||||
|
errorGetter = e.toString
|
||||||
|
}
|
||||||
|
|
||||||
// I think the backend needs some time to update.
|
// I think the backend needs some time to update.
|
||||||
await new Promise(resolve => setTimeout(resolve, 2000))
|
await new Promise(resolve => setTimeout(resolve, 1500))
|
||||||
} while (++attempts < 3)
|
} while (++attempts < 3)
|
||||||
|
|
||||||
const errorMessage = await res.json()
|
throw new Error(`PK API returned an error after ${attempts} tries: ${JSON.stringify(await errorGetter())}`)
|
||||||
throw new Error(`PK API returned an error after ${attempts} tries: ${JSON.stringify(errorMessage)}`)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports._memberToStateContent = memberToStateContent
|
module.exports._memberToStateContent = memberToStateContent
|
||||||
|
Reference in New Issue
Block a user