1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-23 03:36:18 +02:00

currency - throw errors on failure

This commit is contained in:
kumavis 2018-10-19 04:58:19 -04:00
parent 65aa0a1d14
commit 2394881511

View File

@ -107,14 +107,28 @@ class CurrencyController {
let currentCurrency let currentCurrency
try { try {
currentCurrency = this.getCurrentCurrency() currentCurrency = this.getCurrentCurrency()
const response = await fetch(`https://api.infura.io/v1/ticker/eth${currentCurrency.toLowerCase()}`) let response
const parsedResponse = await response.json() try {
response = await fetch(`https://api.infura.io/v1/ticker/eth${currentCurrency.toLowerCase()}`)
} catch (err) {
throw new Error(`CurrencyController - Failed to request currency from Infura:\n${err.stack}`)
}
let rawResponse
let parsedResponse
try {
rawResponse = await response.text()
parsedResponse = JSON.parse(rawResponse)
} catch () {
throw new Error(`CurrencyController - Failed to parse response "${rawResponse}"`)
}
this.setConversionRate(Number(parsedResponse.bid)) this.setConversionRate(Number(parsedResponse.bid))
this.setConversionDate(Number(parsedResponse.timestamp)) this.setConversionDate(Number(parsedResponse.timestamp))
} catch (err) { } catch (err) {
log.warn(`MetaMask - Failed to query currency conversion:`, currentCurrency, err) // reset current conversion rate
this.setConversionRate(0) this.setConversionRate(0)
this.setConversionDate('N/A') this.setConversionDate('N/A')
// throw error
throw new Error(`CurrencyController - Failed to query rate for currency "${currentCurrency}":\n${err.stack}`)
} }
} }