From c4321f7addb2be9c0ca6a7fe64308f13f931a1c8 Mon Sep 17 00:00:00 2001 From: Pawan Kumar Date: Tue, 26 Nov 2024 17:03:23 +0530 Subject: [PATCH] refactor interceptor --- .../api/interceptors/request/addVersionHeader.ts | 13 +++++++++++++ .../interceptors/request/apiRequestInterceptor.ts | 7 ++++--- .../interceptors/response/failureHandlers/index.ts | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 app/client/src/api/interceptors/request/addVersionHeader.ts diff --git a/app/client/src/api/interceptors/request/addVersionHeader.ts b/app/client/src/api/interceptors/request/addVersionHeader.ts new file mode 100644 index 000000000000..bc4c20b32ab7 --- /dev/null +++ b/app/client/src/api/interceptors/request/addVersionHeader.ts @@ -0,0 +1,13 @@ +import type { InternalAxiosRequestConfig } from "axios"; + +export const addVersionHeader = ( + config: InternalAxiosRequestConfig, + options: { version: string }, +) => { + const { version } = options; + + config.headers = config.headers || {}; + config.headers["X-Appsmith-Version"] = version; + + return config; +}; diff --git a/app/client/src/api/interceptors/request/apiRequestInterceptor.ts b/app/client/src/api/interceptors/request/apiRequestInterceptor.ts index b39e9f8a70ff..5371cbbcf23c 100644 --- a/app/client/src/api/interceptors/request/apiRequestInterceptor.ts +++ b/app/client/src/api/interceptors/request/apiRequestInterceptor.ts @@ -9,6 +9,7 @@ import getQueryParamsObject from "utils/getQueryParamsObject"; import { addRequestedByHeader } from "./addRequestedByHeader"; import { increaseGitApiTimeout } from "./increaseGitApiTimeout"; import { getCurrentGitBranch } from "selectors/gitSyncSelectors"; +import { addVersionHeader as _addVersionHeader } from "./addVersionHeader"; import { getCurrentEnvironmentId } from "ee/selectors/environmentSelectors"; import { addGitBranchHeader as _addGitBranchHeader } from "./addGitBranchHeader"; import { addPerformanceMonitoringHeaders } from "./addPerformanceMonitoringHeaders"; @@ -50,10 +51,10 @@ const addAnonymousUserIdHeader = (config: InternalAxiosRequestConfig) => { }; const addVersionHeader = (config: InternalAxiosRequestConfig) => { - config.headers = config.headers || {}; - config.headers["X-Appsmith-Version"] = getAppsmithConfigs().appVersion.id; + const appsmithConfig = getAppsmithConfigs(); + const version = appsmithConfig.appVersion.id; - return config; + return _addVersionHeader(config, { version }); }; export const apiRequestInterceptor = (config: InternalAxiosRequestConfig) => { diff --git a/app/client/src/api/interceptors/response/failureHandlers/index.ts b/app/client/src/api/interceptors/response/failureHandlers/index.ts index 1b3bcfce8d38..bf0fe01621e8 100644 --- a/app/client/src/api/interceptors/response/failureHandlers/index.ts +++ b/app/client/src/api/interceptors/response/failureHandlers/index.ts @@ -1,10 +1,10 @@ export { handle413Error } from "./handle413Error"; -export { handleBadRequestError } from "./handleBadRequestError"; export { handleServerError } from "./handleServerError"; export { handleCancelError } from "./handleCancelError"; export { handleOfflineError } from "./handleOfflineError"; export { handleTimeoutError } from "./handleTimeoutError"; export { handleNotFoundError } from "./handleNotFoundError"; +export { handleBadRequestError } from "./handleBadRequestError"; export { handleUnauthorizedError } from "./handleUnauthorizedError"; export { handleExecuteActionError } from "./handleExecuteActionError"; export { handleMissingResponseMeta } from "./handleMissingResponseMeta";