UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

50 lines 2.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clientWithoutCaseConverter = exports.isInOcm = exports.ocmClient = exports.client = exports.setAuthInterceptor = void 0; const tslib_1 = require("tslib"); const axios_1 = tslib_1.__importDefault(require("axios")); const axios_case_converter_1 = tslib_1.__importDefault(require("axios-case-converter")); const camel_case_1 = require("camel-case"); const withAssistedInstallerBasePath = (client) => { // Conforms with basePath in swagger.json const basePath = '/api/assisted-install'; client.interceptors.request.use((cfg) => { if (cfg.url) { try { const url = new URL(cfg.url); cfg.url = `${url.origin}${basePath}${url.pathname}${url.search}`; } catch (_a) { // This usually happens when the request is issued to a localhost endpoint. cfg.url = `${basePath}${cfg.url}`; } } return cfg; }); return client; }; let isInOcm = false; exports.isInOcm = isInOcm; let ocmClient; exports.ocmClient = ocmClient; let client = (0, axios_case_converter_1.default)(withAssistedInstallerBasePath(axios_1.default.create()), // Prevents the axios-case-converter from changing object keys from '4.7-fc2' to '4_7Fc2' { caseFunctions: { camel: (input) => (0, camel_case_1.camelCase)(input, { stripRegexp: /[^A-Z0-9.-]+/gi, }), }, }); exports.client = client; let clientWithoutCaseConverter = withAssistedInstallerBasePath(axios_1.default.create()); exports.clientWithoutCaseConverter = clientWithoutCaseConverter; const setAuthInterceptor = (authInterceptor) => { exports.isInOcm = isInOcm = true; exports.ocmClient = ocmClient = authInterceptor(axios_1.default.create()); // Instances of Axios with URL intercepted using Assisted-installer's base-path exports.client = client = authInterceptor(client); exports.clientWithoutCaseConverter = clientWithoutCaseConverter = authInterceptor(clientWithoutCaseConverter); }; exports.setAuthInterceptor = setAuthInterceptor; //# sourceMappingURL=axiosClient.js.map