mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-25 13:45:52 +00:00
39 lines
985 B
JavaScript
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);
|
|
}
|
|
};
|