if (response.status === 200) { return response.json() } else { context.logger().warn("HTTP status code: " + response.statusCode) context.transition('failure') done() } }) .then((data) => { context.logger().info("Successful conversion") if (data.success) { var _conversionArray = [] for (let property in data.rates) { if (property.toUpperCase() != baseCurrency.toUpperCase()) { let _conversionRate = data.rates[property] / data.rates[baseCurrency.toUpperCase()] let obj = {} obj.symbol = property obj.conversionRate = _conversionRate obj.amount = _conversionRate * amount context.logger().info(baseCurrency.toUpperCase() + " to " + property + "") _conversionArray.push(obj) } } context.logger().info("converted currencies: " + _conversionArray.toString()) let result = {} result.date = data.date result.base = {} result.base.symbol = baseCurrency result.base.amount = amount result.conversion = _conversionArray context.setVariable(variable, result) context.transition('success') context.keepTurn(true) } else { if (data.hasOwnProperty("error")) { context.logger().warn("Error type: " + data.error.type) context.logger().warn("Error message: " + data.error.info) } context.transition('failure') } done()