dc-management-sdk-js
Version:
Amplience Dynamic Content Management SDK
43 lines • 2.91 kB
JavaScript
import axios from 'axios';
import axiosRetry, { isNetworkOrIdempotentRequestError } from 'axios-retry';
const DEFAULT_RETRY_CONFIG = {
retries: 3,
retryDelay: axiosRetry.exponentialDelay,
retryCondition: (error) => isNetworkOrIdempotentRequestError(error) ||
(error && error.response && error.response.status === 429),
};
/**
* @hidden
*/
export class AxiosHttpClient {
constructor(config) {
this.config = config;
this.client = axios.create(config);
axiosRetry(this.client, DEFAULT_RETRY_CONFIG);
}
request(config) {
return this.client
.request({
data: config.data,
headers: config.headers,
method: config.method,
url: config.url,
})
.then((response) => {
return {
data: response.data,
status: response.status,
};
})
.catch((error) => {
if (error && error.response) {
return {
data: error.response.data,
status: error.response.status,
};
}
return error;
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXhpb3NIdHRwQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9odHRwL0F4aW9zSHR0cENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQXdELE1BQU0sT0FBTyxDQUFDO0FBQzdFLE9BQU8sVUFBVSxFQUFFLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNNUUsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO0lBQ3ZDLGNBQWMsRUFBRSxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUNwQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7Q0FDN0QsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFtQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNO2FBQ2YsT0FBTyxDQUFDO1lBQ1AsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1NBQ2hCLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQixPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbkIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO2FBQ3hCLENBQUM7UUFDSixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUIsT0FBTztvQkFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJO29CQUN6QixNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNO2lCQUM5QixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0YifQ==