From 87749371dd6a8ca29d812d6f58cffa5feb6ec41c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 6 Sep 2020 18:32:05 +0530 Subject: convert axios error to taler error --- .../taler-wallet-core/src/headless/NodeHttpLib.ts | 34 +++++++++++++++------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/packages/taler-wallet-core/src/headless/NodeHttpLib.ts b/packages/taler-wallet-core/src/headless/NodeHttpLib.ts index 4fefb5aef..ed4e0e1eb 100644 --- a/packages/taler-wallet-core/src/headless/NodeHttpLib.ts +++ b/packages/taler-wallet-core/src/headless/NodeHttpLib.ts @@ -26,7 +26,7 @@ import { HttpResponse, } from "../util/http"; import { RequestThrottler } from "../util/RequestThrottler"; -import Axios from "axios"; +import Axios, { AxiosResponse } from "axios"; import { OperationFailedError, makeErrorDetails } from "../operations/errors"; import { TalerErrorCode } from "../TalerErrorCode"; import { URL } from "../util/url"; @@ -70,16 +70,28 @@ export class NodeHttpLib implements HttpRequestLibrary { if (typeof opt?.timeout?.d_ms === "number") { timeout = opt.timeout.d_ms; } - const resp = await Axios({ - method, - url: url, - responseType: "text", - headers: opt?.headers, - validateStatus: () => true, - transformResponse: (x) => x, - data: body, - timeout, - }); + let resp: AxiosResponse; + try { + resp = await Axios({ + method, + url: url, + responseType: "text", + headers: opt?.headers, + validateStatus: () => true, + transformResponse: (x) => x, + data: body, + timeout, + }); + } catch (e) { + throw OperationFailedError.fromCode( + TalerErrorCode.WALLET_NETWORK_ERROR, + `${e.message}`, + { + requestUrl: url, + requestMethod: method, + }, + ); + } const respText = resp.data; if (typeof respText !== "string") { -- cgit v1.2.3