mirror of
https://github.com/usebruno/bruno.git
synced 2026-06-24 05:05:39 +00:00
* feat: bru.sendRequest api * updated the postman-translations logic to handle `pm.sendRequest` to `bru.sendRequest` translations, and added unit tests * ~ removed `maxRedirects` and `proxy` values for sendRequest axios-instance ~ fixed the imports for the `send-request-transformer` function ~ `sendRequest` and `runRequest` will return same response object in both safe and developer mode ~ sendRequest function optimization * revert sendRequest to async function, added a testcase for sendRequest with url string * sendRequest callback errors handling * updated tests and added await for the callbacks --------- Co-authored-by: lohit <lohit@usebruno.com>
31 lines
721 B
TypeScript
31 lines
721 B
TypeScript
import { AxiosRequestConfig } from 'axios';
|
|
import { makeAxiosInstance } from '../network';
|
|
|
|
type T_SendRequestCallback = (error: any, response: any) => void;
|
|
|
|
const sendRequest = async (requestConfig: AxiosRequestConfig, callback: T_SendRequestCallback) => {
|
|
const axiosInstance = makeAxiosInstance();
|
|
if (!callback) {
|
|
return await axiosInstance(requestConfig);
|
|
}
|
|
try {
|
|
const response = await axiosInstance(requestConfig);
|
|
try {
|
|
await callback(null, response);
|
|
}
|
|
catch(error) {
|
|
return Promise.reject(error);
|
|
}
|
|
}
|
|
catch (error) {
|
|
try {
|
|
await callback(error, null);
|
|
}
|
|
catch(err) {
|
|
return Promise.reject(err);
|
|
}
|
|
}
|
|
};
|
|
|
|
export default sendRequest;
|