Files
bruno/packages/bruno-app/src/utils/network/browser.js
2022-10-20 15:09:30 +05:30

39 lines
985 B
JavaScript

const axios = require('axios');
import { saveCancelToken, deleteCancelToken } from 'utils/network/cancelTokens';
export const sendHttpRequestInBrowser = async (request, options) => {
try {
if (options && options.cancelTokenUid) {
const cancelToken = axios.CancelToken.source();
request.cancelToken = cancelToken.token;
saveCancelToken(options.cancelTokenUid, cancelToken);
}
const result = await axios(request);
if (options && options.cancelTokenUid) {
deleteCancelToken(options.cancelTokenUid);
}
return {
status: result.status,
headers: result.headers,
data: result.data
};
} catch (error) {
if (options && options.cancelTokenUid) {
deleteCancelToken(options.cancelTokenUid);
}
if (error.response) {
return {
status: error.response.status,
headers: error.response.headers,
data: error.response.data
};
}
return Promise.reject(error);
}
};