TP-62646 | RN Quote | API unification (POST + GET) (#10942)

This commit is contained in:
Kshitij Pramod Ghongadi
2024-05-23 23:00:56 +05:30
committed by GitHub
parent eb0c48c6c5
commit c3ec7e8548
11 changed files with 137 additions and 34 deletions

View File

@@ -1,7 +1,7 @@
import axios, { AxiosHeaders, AxiosResponse } from "axios";
import { BASE_URL } from "./NetworkConstant";
import axios, { AxiosRequestConfig, AxiosResponse } from "axios";
import { NetworkConnectorModule } from "../App/common/native-module/NativeModules";
import { AxiosRequestConfig } from "axios";
import { BASE_URL } from "./NetworkConstant";
export const getDefaultHeaderData = async () => {
try {
@@ -23,6 +23,15 @@ export const getXTargetHeaderInfo = (
};
};
export const getAcceptHeaderInfo = (acceptType: string): AxiosRequestConfig => {
return {
decompress: true,
headers: {
"Accept-Encoding": acceptType,
},
};
};
export const ApiClient = axios.create({
baseURL: BASE_URL,
timeout: 10000,

View File

@@ -3,3 +3,4 @@ export const APPLICATION_ID_PATH = "/arc-warden/api/v2/application";
export const FILL_APPLICATION_PATH =
"/arc-warden/api/v2/application/:applicationId/fill";
export const BUNDLE_VERSION = "x-rn-bundle-version";
export const GZIP = "gzip";

View File

@@ -1,7 +1,11 @@
import {
AxiosInstance,
AxiosRequestConfig,
RawAxiosRequestHeaders,
} from "axios";
import { getStringPreference } from "../App/common/utilities/SharedPreferenceUtils";
import packageJson from "../package.json";
import { BUNDLE_VERSION } from "./NetworkConstant";
import { AxiosInstance } from "axios";
const getSessionToken = async () => {
return await getStringPreference("SESSION_TOKEN", "string");
@@ -18,4 +22,19 @@ const addBundleVersionToHeader = (axiosInstance: AxiosInstance) => {
});
};
export { getSessionToken, getDeviceId, addBundleVersionToHeader };
const mergeHeaders = ({
configs,
}: {
configs: AxiosRequestConfig[];
}): AxiosRequestConfig => {
const mergedHeaders = configs.reduce((acc, config) => {
const headers = config.headers as RawAxiosRequestHeaders;
return { ...acc, ...headers };
}, {} as RawAxiosRequestHeaders);
return {
headers: mergedHeaders,
};
};
export { addBundleVersionToHeader, getDeviceId, getSessionToken, mergeHeaders };