From 5919a9627491c62ee683a32e23c191146324a359 Mon Sep 17 00:00:00 2001 From: rrr523 Date: Wed, 29 Nov 2023 11:27:44 +0800 Subject: [PATCH] fix(spApi): Compatibility with 429 code --- .changeset/old-flowers-brake.md | 5 +++++ packages/js-sdk/src/clients/spclient/spClient.ts | 9 +++++++++ packages/js-sdk/src/constants/http.ts | 7 ++++++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 .changeset/old-flowers-brake.md diff --git a/.changeset/old-flowers-brake.md b/.changeset/old-flowers-brake.md new file mode 100644 index 00000000..b323a867 --- /dev/null +++ b/.changeset/old-flowers-brake.md @@ -0,0 +1,5 @@ +--- +'@bnb-chain/greenfield-js-sdk': patch +--- + +fix(spApi): Compatibility with 429 code diff --git a/packages/js-sdk/src/clients/spclient/spClient.ts b/packages/js-sdk/src/clients/spclient/spClient.ts index 706364c8..05db7865 100644 --- a/packages/js-sdk/src/clients/spclient/spClient.ts +++ b/packages/js-sdk/src/clients/spclient/spClient.ts @@ -6,6 +6,7 @@ import { newRequestHeadersByMeta, } from '@/clients/spclient/auth'; import { parseError } from '@/clients/spclient/spApis/parseError'; +import { SP_NOT_AVAILABLE_ERROR_CODE, SP_NOT_AVAILABLE_ERROR_MSG } from '@/constants/http'; import { ReqMeta } from '@/types/auth'; import { injectable } from 'tsyringe'; import { getGetObjectMetaInfo } from './spApis/getObject'; @@ -80,6 +81,14 @@ export class SpClient implements ISpClient { const { status } = response; + if (status === SP_NOT_AVAILABLE_ERROR_CODE) { + throw { + code: SP_NOT_AVAILABLE_ERROR_CODE, + message: SP_NOT_AVAILABLE_ERROR_MSG, + statusCode: status, + }; + } + if (!response.ok) { const xmlError = await response.text(); const { code, message } = await parseError(xmlError); diff --git a/packages/js-sdk/src/constants/http.ts b/packages/js-sdk/src/constants/http.ts index 1b6a9e93..3f27d882 100644 --- a/packages/js-sdk/src/constants/http.ts +++ b/packages/js-sdk/src/constants/http.ts @@ -1,7 +1,12 @@ export const EMPTY_STRING_SHA256 = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'; -export const MOCK_SIGNATURE = '1234567812345678123456781234567812345678123456781234567812345678'; export const NORMAL_ERROR_CODE = 404; export const METHOD_GET = 'GET'; export const METHOD_POST = 'POST'; export const METHOD_PUT = 'PUT'; + +// SPECIAL ERROR CODE +export const SP_NOT_AVAILABLE_ERROR_CODE = 429; + +// SPECIAL ERROR MESSAGE +export const SP_NOT_AVAILABLE_ERROR_MSG = 'SP not available';