{"version":3,"file":"corsProxyService.mjs","sources":["../../lib/services/corsProxyService.ts"],"sourcesContent":["// @ts-nocheck\n/**\n * Vue plugin that exposes a http client based on Axios,\n * which proxies client requests to a given CORS proxy service\n */\n\nimport axios from 'axios';\n\nconst CorsProxyService = {\n  install(app, corsproxyUrl = '') {\n    // Create a modified axios instance such that its API\n    // works just as if requests are called without proxy\n    const corsproxyService = axios.create();\n\n    // If corsproxyUrl is not given, just provide unmodified axios client\n    // to pass requests as-is\n    if (corsproxyUrl) {\n      const hasTrailingSlash = corsproxyUrl.endsWith('/') || !corsproxyUrl;\n      const normalizedCorsproxyUrl = hasTrailingSlash\n        ? corsproxyUrl\n        : `${corsproxyUrl}/`;\n\n      corsproxyService.interceptors.request.use((config) => {\n        const requestedUri = axios.getUri({\n          url: config.url,\n          params: {\n            ...config.params,\n          },\n        });\n\n        const modifiedConfig = { ...config };\n        modifiedConfig.url = normalizedCorsproxyUrl;\n        modifiedConfig.params = {\n          uri: requestedUri,\n        };\n        return modifiedConfig;\n      });\n    }\n\n    app.config.globalProperties.$corsproxyService = corsproxyService; // eslint-disable-line\n  },\n};\n\nexport default CorsProxyService;\n"],"names":["CorsProxyService","app","corsproxyUrl","corsproxyService","axios","normalizedCorsproxyUrl","config","requestedUri","modifiedConfig"],"mappings":";AAQA,MAAMA,IAAmB;AAAA,EACvB,QAAQC,GAAKC,IAAe,IAAI;AAGxB,UAAAC,IAAmBC,EAAM;AAI/B,QAAIF,GAAc;AAEhB,YAAMG,IADmBH,EAAa,SAAS,GAAG,KAAK,CAACA,IAEpDA,IACA,GAAGA,CAAY;AAEnB,MAAAC,EAAiB,aAAa,QAAQ,IAAI,CAACG,MAAW;AAC9C,cAAAC,IAAeH,EAAM,OAAO;AAAA,UAChC,KAAKE,EAAO;AAAA,UACZ,QAAQ;AAAA,YACN,GAAGA,EAAO;AAAA,UACZ;AAAA,QAAA,CACD,GAEKE,IAAiB,EAAE,GAAGF;AAC5B,eAAAE,EAAe,MAAMH,GACrBG,EAAe,SAAS;AAAA,UACtB,KAAKD;AAAA,QAAA,GAEAC;AAAA,MAAA,CACR;AAAA,IACH;AAEI,IAAAP,EAAA,OAAO,iBAAiB,oBAAoBE;AAAA,EAClD;AACF;"}