UNPKG

afrimomo-sdk

Version:

A unified SDK for African payment providers

58 lines 2.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NetworkManager = void 0; const axios_1 = __importDefault(require("axios")); const constants_1 = require("@afrimomo-sdk/config/constants"); const logger_1 = require("@afrimomo-sdk/utils/logger"); class NetworkManager { axiosInstance; constructor(jwt, environment = "DEVELOPMENT") { const baseURL = environment === constants_1.ENVIRONMENTS.PRODUCTION ? constants_1.URLS.PRODUCTION : constants_1.URLS.SANDBOX; logger_1.logger.info("Initializing NetworkManager", { environment, baseURL, }); const headers = {}; if (jwt) { headers.Authorization = `Bearer ${jwt}`; } this.axiosInstance = axios_1.default.create({ baseURL, headers, }); this.setupInterceptors(); } getInstance() { return this.axiosInstance; } handleErrors(error) { logger_1.logger.error("Error occurred", error); let errorMessage = "An unknown error occurred"; let statusCode = 500; let errorObject = "{}"; if (axios_1.default.isAxiosError(error) && error.response) { statusCode = error.response.status; try { const data = error.response.data; errorMessage = data.message || data.error || errorMessage; errorObject = JSON.stringify(data); } catch { errorMessage = "Failed to parse error response"; } } return { errorMessage, statusCode, errorObject, }; } setupInterceptors() { this.axiosInstance.interceptors.response.use((response) => response, (error) => Promise.reject(error)); } } exports.NetworkManager = NetworkManager; //# sourceMappingURL=network.js.map