This commit is contained in:
focp212@naver.com
2025-10-22 14:21:14 +09:00
parent 1e7f13d5cc
commit 556b3f2a6a
27 changed files with 178 additions and 397 deletions

View File

@@ -3,7 +3,7 @@ import axios, { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'ax
import { WHITE_LIST_URLS } from '@/shared/api/urls';
import { StorageKeys } from '@/shared/constants/local-storage';
import { checkIsAxiosError, getLocalStorage, setLocalStorage } from '@/shared/lib';
import { finalizeConfig, extractAccessToken, extractRequestId } from './utils';
import { finalizeConfig } from './utils';
import { HEADER_USER_AGENT } from '@/shared/constants/url';
import { appBridge } from '@/utils/appBridge';
import { useAppBridge } from '@/hooks';
@@ -30,22 +30,10 @@ const onRequestFulfilled = (config: InternalAxiosRequestConfig) => {
};
const onRequestRejected = (error: any) => {
const { method, url, params, data, headers } = error.config;
/*
Sentry.setContext('API Request Detail', {
method,
url,
params,
data,
headers,
});
*/
return Promise.reject(error);
};
const onResponseFulfilled = (response: AxiosResponse) => {
extractAccessToken(response);
extractRequestId(response);
return {
...response,
data: response.data.data || response.data,
@@ -73,22 +61,13 @@ const onResponseRejected = (error: AxiosError) => {
});
}
/*
else if (error?.response) {
const { data, status } = error.response;
extractRequestId(error?.response);
Sentry.setContext('API Response Detail', {
status,
data,
});
}
*/
return new Promise((_resolve, reject) => {
if (checkIsAxiosError(error)) {
if(checkIsAxiosError(error)){
// iOS의 경우 window에서 unload event가 일어날때 네트워크 에러가 발생하곤 해서 이런 케이스를 방지하기 위해 지연시킴
// location.href, location.reload 등으로 unload event가 일어나면 자바스크립트 런타임이 초기화되므로 settimeout으로 인한 네트워크 에러가 트리거 x
setTimeout(() => reject(error), 300);
} else {
}
else{
reject(error);
}
});