@tyrads.com/tyrads-sdk-iframe
Version:
Official TyrAds SDK for NodeJS
40 lines (39 loc) • 1.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getHttpClient = void 0;
const axios_1 = __importDefault(require("axios"));
const getHttpClient = (config) => {
const instance = axios_1.default.create({
baseURL: `${config.sdkApiBaseUrl}/${config.sdkApiVersion}`,
headers: {
"Content-Type": "application/json",
"X-API-Key": config.apiKey,
"X-API-Secret": config.apiSecret,
"X-SDK-Version": config.sdkApiVersion,
"X-SDK-Platform": config.sdkPlatform,
},
params: {
"lang": config.language,
},
});
// Add a response interceptor to handle errors globally
instance.interceptors.response.use(response => response, error => {
var _a;
if (error.response) {
if (error.response.status < 200 || error.response.status >= 300) {
const message = ((_a = error.response.data) === null || _a === void 0 ? void 0 : _a.message) || "Unknown error";
throw new Error(message);
}
}
else if (error.request) {
// The request was made but no response was received
throw new Error("No response received from the server");
}
return Promise.reject(error);
});
return instance;
};
exports.getHttpClient = getHttpClient;