Files
bruno/packages/bruno-requests/src/scripting/send-request.ts
lohit f03047a2f9 feat: bru.sendRequest api (#4867)
* 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>
2025-06-14 22:18:31 +05:30

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;