From 4a0f2288ca6e220dce9703784558d8bc7169aac7 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Mon, 10 Jul 2023 22:31:55 +0200 Subject: [PATCH] fix(core): update --- npmextra.json | 4 +-- package.json | 4 +-- ts/00_commitinfo_data.ts | 4 +-- ts/index.ts | 66 +++++----------------------------------- 4 files changed, 13 insertions(+), 65 deletions(-) diff --git a/npmextra.json b/npmextra.json index 027b60c..c2eaca0 100644 --- a/npmextra.json +++ b/npmextra.json @@ -7,10 +7,10 @@ "projectType": "npm", "module": { "githost": "gitlab.com", - "gitscope": "pushrocks", + "gitscope": "push.rocks", "gitrepo": "webrequest", "description": "securely request from browsers", - "npmPackagename": "@pushrocks/webrequest", + "npmPackagename": "@push.rocks/webrequest", "license": "MIT" } } diff --git a/package.json b/package.json index 4971297..6b723fb 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@pushrocks/webrequest", + "name": "@push.rocks/webrequest", "version": "3.0.28", "private": false, "description": "securely request from browsers", @@ -45,4 +45,4 @@ "browserslist": [ "last 1 chrome versions" ] -} +} \ No newline at end of file diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index e3789cb..68a6fb1 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -2,7 +2,7 @@ * autocreated commitinfo by @pushrocks/commitinfo */ export const commitinfo = { - name: '@pushrocks/webrequest', - version: '3.0.28', + name: '@push.rocks/webrequest', + version: '3.0.29', description: 'securely request from browsers' } diff --git a/ts/index.ts b/ts/index.ts index d4de254..6c49dd7 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -8,42 +8,6 @@ export interface IWebrequestContructorOptions { * web request */ export class WebRequest { - private static polyfillStatusEvaluated = false; - private static neededPolyfillsLoadedDeferred = plugins.smartpromise.defer<{ - fetch: typeof fetch; - Response: typeof Response; - AbortController?: typeof AbortController; - helixTimeout?: any; - }>(); - - /** - * loads the needed polyfill - * @returns - */ - public static async loadNeededPolyfills() { - if (this.polyfillStatusEvaluated) { - return this.neededPolyfillsLoadedDeferred.promise; - } - this.polyfillStatusEvaluated = true; - const smartenv = new plugins.smartenv.Smartenv(); - if (!smartenv.isBrowser) { - this.polyfillStatusEvaluated = true; - const fetchMod = await smartenv.getSafeNodeModule('@adobe/fetch'); - this.neededPolyfillsLoadedDeferred.resolve({ - fetch: fetchMod.fetch, - Response: fetchMod.Response, - helixTimeout: fetchMod.timeoutSignal, - }); - } else { - this.neededPolyfillsLoadedDeferred.resolve({ - fetch: (...args) => { - return fetch(...args); - }, - Response: globalThis.Response, - AbortController: globalThis.AbortController, - }); - } - } public cacheStore = new plugins.webstore.WebStore({ dbName: 'webrequest', @@ -57,11 +21,9 @@ export class WebRequest { logging: true, ...optionsArg, }; - WebRequest.loadNeededPolyfills(); } public async getJson(urlArg: string, useCacheArg: boolean = false) { - await WebRequest.neededPolyfillsLoadedDeferred.promise; const response: Response = await this.request(urlArg, { method: 'GET', useCache: useCacheArg, @@ -75,7 +37,6 @@ export class WebRequest { * postJson */ public async postJson(urlArg: string, requestBody?: any, useCacheArg: boolean = false) { - await WebRequest.neededPolyfillsLoadedDeferred.promise; const response: Response = await this.request(urlArg, { method: 'POST', headers: { @@ -93,7 +54,6 @@ export class WebRequest { * put js */ public async putJson(urlArg: string, requestBody?: any, useStoreAsFallback: boolean = false) { - await WebRequest.neededPolyfillsLoadedDeferred.promise; const response: Response = await this.request(urlArg, { method: 'PUT', headers: { @@ -110,7 +70,6 @@ export class WebRequest { * put js */ public async deleteJson(urlArg: string, useStoreAsFallback: boolean = false) { - await WebRequest.neededPolyfillsLoadedDeferred.promise; const response: Response = await this.request(urlArg, { headers: { 'Content-Type': 'application/json', @@ -138,20 +97,10 @@ export class WebRequest { ...optionsArg, }; - const fetchObject = await WebRequest.neededPolyfillsLoadedDeferred.promise; - let controller: AbortController; - if (optionsArg.timeoutMs) { - if (fetchObject.AbortController) { - controller = new fetchObject.AbortController(); - plugins.smartdelay.delayFor(optionsArg.timeoutMs).then(() => { - controller.abort(); - }); - } else { - controller = { - signal: fetchObject.helixTimeout(optionsArg.timeoutMs), - } as any; - } - } + let controller = new AbortController(); + plugins.smartdelay.delayFor(optionsArg.timeoutMs).then(() => { + controller.abort(); + }); let cachedResponseDeferred = plugins.smartpromise.defer(); let cacheUsed = false; if (optionsArg.useCache && (await this.cacheStore.check(urlArg))) { @@ -160,9 +109,8 @@ export class WebRequest { } else { cachedResponseDeferred.resolve(null); } - let response: Response = await fetchObject - .fetch(urlArg, { - signal: controller ? controller.signal : null, + let response: Response = await fetch(urlArg, { + signal: controller.signal, method: optionsArg.method, headers: { ...(optionsArg.headers || {}), @@ -201,7 +149,7 @@ export class WebRequest { headers?: HeadersInit; } ): Promise { - await WebRequest.neededPolyfillsLoadedDeferred.promise; + let allUrls: string[]; let usedUrlIndex = 0;