diff --git a/src/config/config.ts b/src/config/config.ts index 628f290..c657de6 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -24,6 +24,10 @@ const refreshApi = axios.create({ let isRefreshing = false let queue: any[] = [] +function shouldRedirectToSigninOnRefreshFailure(status?: number): boolean { + return status === 401 || status === 404 +} + const processQueue = (error?: any) => { queue.forEach((p) => { if (error) p.reject(error) @@ -121,7 +125,7 @@ async function performRefreshAndRetry(originalRequest: any): Promise { - const tokenId = `__UHM_GOONG_URL_TOKEN_${templateTokens.length}__`; - templateTokens.push(match); - return tokenId; - }); + const proxyTarget = sanitizedUrl + .trim() + .replace(/^https?:\/\//i, "") + .replace(/^\/+/, ""); - let encodedUrl = encodeURIComponent(tokenizedUrl); - templateTokens.forEach((token, index) => { - const encodedTokenId = encodeURIComponent(`__UHM_GOONG_URL_TOKEN_${index}__`); - encodedUrl = encodedUrl.replace(encodedTokenId, token); - }); - - return `${GOONG_PROXY_BASE_PATH}/${encodedUrl}`; + return `${GOONG_PROXY_BASE_PATH}/${proxyTarget}`; } export const GOONG_GLYPHS_PROXY_URL = buildGoongProxyUrl(GOONG_GLYPHS_UPSTREAM_URL);