myria-core-sdk
Version:
Latest version SDK
27 lines • 2.23 kB
JavaScript
import axios from 'axios';
import _ from 'lodash';
import { AxiosServerError, AxiosError } from './error';
export class AxiosWrapper {
constructor(axiosInstance) {
this.axiosInstance = axiosInstance;
}
async makeRequest(options) {
try {
const response = await this.axiosInstance(options);
return response.data;
}
catch (error) {
if (axios.isAxiosError(error)) {
const Error = _.omit(error.toJSON(), 'config');
if (error.response) {
const smallerResponse = _.pick(error.response, ['data', 'status', 'statusText']);
throw new AxiosServerError(smallerResponse, Error);
}
// request error or timeout error
throw new AxiosError(`Axios: ${error.message}`, Error);
}
throw error;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9heGlvcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQTRDLE1BQU0sT0FBTyxDQUFDO0FBQ2pFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLEVBQW9CLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFZLGFBQTRCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQTJCO1FBQ2xELElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3RCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sS0FBSyxHQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDakUsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixNQUFNLGVBQWUsR0FBcUQsQ0FBQyxDQUFDLElBQUksQ0FDOUUsS0FBSyxDQUFDLFFBQVEsRUFDZCxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQ2pDLENBQUM7b0JBQ0YsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDcEQ7Z0JBQ0QsaUNBQWlDO2dCQUNqQyxNQUFNLElBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3hEO1lBQ0QsTUFBTSxLQUFLLENBQUM7U0FDYjtJQUNILENBQUM7Q0FDRiJ9