summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/http-client/bank-core.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/http-client/bank-core.ts')
-rw-r--r--packages/taler-util/src/http-client/bank-core.ts159
1 files changed, 75 insertions, 84 deletions
diff --git a/packages/taler-util/src/http-client/bank-core.ts b/packages/taler-util/src/http-client/bank-core.ts
index 7a98b6281..3ef58b2f4 100644
--- a/packages/taler-util/src/http-client/bank-core.ts
+++ b/packages/taler-util/src/http-client/bank-core.ts
@@ -29,6 +29,7 @@ import {
import {
HttpRequestLibrary,
createPlatformHttpLib,
+ readTalerErrorResponse,
} from "@gnu-taler/taler-util/http";
import {
FailCasesByMethod,
@@ -127,7 +128,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Ok:
return opSuccessFromHttp(resp, codecForCoreBankConfig());
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -165,31 +166,30 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_REGISTER_USERNAME_REUSE:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_REGISTER_PAYTO_URI_REUSE:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_UNALLOWED_DEBIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_RESERVED_USERNAME_CONFLICT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_NON_ADMIN_PATCH_DEBT_LIMIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_NON_ADMIN_SET_TAN_CHANNEL:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_TAN_CHANNEL_NOT_SUPPORTED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_MISSING_TAN_INFO:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
/**
@@ -219,19 +219,18 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_RESERVED_USERNAME_CONFLICT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_ACCOUNT_BALANCE_NOT_ZERO:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -267,25 +266,24 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_NON_ADMIN_PATCH_LEGAL_NAME:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_NON_ADMIN_PATCH_CASHOUT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_NON_ADMIN_PATCH_DEBT_LIMIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_TAN_CHANNEL_NOT_SUPPORTED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_MISSING_TAN_INFO:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -321,19 +319,18 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_NON_ADMIN_PATCH_MISSING_OLD_PASSWORD:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_PATCH_BAD_OLD_PASSWORD:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -361,7 +358,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opFixedSuccess({ public_accounts: [] });
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -393,7 +390,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -417,7 +414,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -455,7 +452,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -482,7 +479,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -520,23 +517,22 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_ADMIN_CREDITOR:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_SAME_ACCOUNT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_UNKNOWN_CREDITOR:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_UNALLOWED_DEBIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -574,7 +570,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -609,21 +605,20 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_CONFIRM_ABORT_CONFLICT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_CONFIRM_INCOMPLETE:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_UNALLOWED_DEBIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -653,7 +648,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Conflict:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -687,7 +682,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -725,35 +720,33 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_TRANSFER_REQUEST_UID_REUSED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_BAD_CONVERSION:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_UNALLOWED_DEBIT:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_CONFIRM_INCOMPLETE:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
case HttpStatusCode.BadGateway: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_TAN_CHANNEL_SCRIPT_FAILED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
case HttpStatusCode.NotImplemented:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -780,7 +773,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotImplemented:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -805,7 +798,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotImplemented:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -830,7 +823,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotImplemented:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -861,17 +854,16 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.BadGateway: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_TAN_CHANNEL_SCRIPT_FAILED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -903,21 +895,20 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.NotFound:
return opKnownHttpFailure(resp.status, resp);
case HttpStatusCode.Conflict: {
- const body = await resp.json();
- const details = codecForTalerErrorDetail().decode(body);
+ const details = await readTalerErrorResponse(resp);
switch (details.code) {
case TalerErrorCode.BANK_TAN_CHALLENGE_EXPIRED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
case TalerErrorCode.BANK_TAN_CHALLENGE_FAILED:
- return opKnownTalerFailure(details.code, resp);
+ return opKnownTalerFailure(details.code, details);
default:
- return opUnknownFailure(resp, body);
+ return opUnknownFailure(resp, details);
}
}
case HttpStatusCode.TooManyRequests:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}
@@ -960,7 +951,7 @@ export class TalerCoreBankHttpClient {
case HttpStatusCode.Unauthorized:
return opKnownHttpFailure(resp.status, resp);
default:
- return opUnknownFailure(resp, await resp.text());
+ return opUnknownFailure(resp, await readTalerErrorResponse(resp));
}
}