import { AxiosAdapter, AxiosResponse } from 'axios';
import { is, Platforms } from '@providers/platform';
import bridgeAdapter from './adapters/bytedance.adapter';
import get from 'lodash/get';
export function getDefaultAdapter(): AxiosAdapter {
if ([Platforms.liveStream, Platforms.aweme, Platforms.newsArticle, Platforms.newsArticleLite].some(is)) {
return bridgeAdapter;
}
if (typeof XMLHttpRequest !== 'undefined') {
return require('axios/lib/adapters/xhr');
}
return require('axios/lib/adapters/http');
}
export function checkResponse<T>(response: AxiosResponse<T>) {
if (get(response, 'data.st')) {
throw response;
}
return response;
}