fix(core): update
This commit is contained in:
		| @@ -7,10 +7,10 @@ | |||||||
|     "projectType": "npm", |     "projectType": "npm", | ||||||
|     "module": { |     "module": { | ||||||
|       "githost": "gitlab.com", |       "githost": "gitlab.com", | ||||||
|       "gitscope": "pushrocks", |       "gitscope": "push.rocks", | ||||||
|       "gitrepo": "webrequest", |       "gitrepo": "webrequest", | ||||||
|       "description": "securely request from browsers", |       "description": "securely request from browsers", | ||||||
|       "npmPackagename": "@pushrocks/webrequest", |       "npmPackagename": "@push.rocks/webrequest", | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|   "name": "@pushrocks/webrequest", |   "name": "@push.rocks/webrequest", | ||||||
|   "version": "3.0.28", |   "version": "3.0.28", | ||||||
|   "private": false, |   "private": false, | ||||||
|   "description": "securely request from browsers", |   "description": "securely request from browsers", | ||||||
| @@ -45,4 +45,4 @@ | |||||||
|   "browserslist": [ |   "browserslist": [ | ||||||
|     "last 1 chrome versions" |     "last 1 chrome versions" | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
| @@ -2,7 +2,7 @@ | |||||||
|  * autocreated commitinfo by @pushrocks/commitinfo |  * autocreated commitinfo by @pushrocks/commitinfo | ||||||
|  */ |  */ | ||||||
| export const commitinfo = { | export const commitinfo = { | ||||||
|   name: '@pushrocks/webrequest', |   name: '@push.rocks/webrequest', | ||||||
|   version: '3.0.28', |   version: '3.0.29', | ||||||
|   description: 'securely request from browsers' |   description: 'securely request from browsers' | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -8,42 +8,6 @@ export interface IWebrequestContructorOptions { | |||||||
|  * web request |  * web request | ||||||
|  */ |  */ | ||||||
| export class WebRequest { | 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({ |   public cacheStore = new plugins.webstore.WebStore({ | ||||||
|     dbName: 'webrequest', |     dbName: 'webrequest', | ||||||
| @@ -57,11 +21,9 @@ export class WebRequest { | |||||||
|       logging: true, |       logging: true, | ||||||
|       ...optionsArg, |       ...optionsArg, | ||||||
|     }; |     }; | ||||||
|     WebRequest.loadNeededPolyfills(); |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public async getJson(urlArg: string, useCacheArg: boolean = false) { |   public async getJson(urlArg: string, useCacheArg: boolean = false) { | ||||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; |  | ||||||
|     const response: Response = await this.request(urlArg, { |     const response: Response = await this.request(urlArg, { | ||||||
|       method: 'GET', |       method: 'GET', | ||||||
|       useCache: useCacheArg, |       useCache: useCacheArg, | ||||||
| @@ -75,7 +37,6 @@ export class WebRequest { | |||||||
|    * postJson |    * postJson | ||||||
|    */ |    */ | ||||||
|   public async postJson(urlArg: string, requestBody?: any, useCacheArg: boolean = false) { |   public async postJson(urlArg: string, requestBody?: any, useCacheArg: boolean = false) { | ||||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; |  | ||||||
|     const response: Response = await this.request(urlArg, { |     const response: Response = await this.request(urlArg, { | ||||||
|       method: 'POST', |       method: 'POST', | ||||||
|       headers: { |       headers: { | ||||||
| @@ -93,7 +54,6 @@ export class WebRequest { | |||||||
|    * put js |    * put js | ||||||
|    */ |    */ | ||||||
|   public async putJson(urlArg: string, requestBody?: any, useStoreAsFallback: boolean = false) { |   public async putJson(urlArg: string, requestBody?: any, useStoreAsFallback: boolean = false) { | ||||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; |  | ||||||
|     const response: Response = await this.request(urlArg, { |     const response: Response = await this.request(urlArg, { | ||||||
|       method: 'PUT', |       method: 'PUT', | ||||||
|       headers: { |       headers: { | ||||||
| @@ -110,7 +70,6 @@ export class WebRequest { | |||||||
|    * put js |    * put js | ||||||
|    */ |    */ | ||||||
|   public async deleteJson(urlArg: string, useStoreAsFallback: boolean = false) { |   public async deleteJson(urlArg: string, useStoreAsFallback: boolean = false) { | ||||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; |  | ||||||
|     const response: Response = await this.request(urlArg, { |     const response: Response = await this.request(urlArg, { | ||||||
|       headers: { |       headers: { | ||||||
|         'Content-Type': 'application/json', |         'Content-Type': 'application/json', | ||||||
| @@ -138,20 +97,10 @@ export class WebRequest { | |||||||
|       ...optionsArg, |       ...optionsArg, | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|     const fetchObject = await WebRequest.neededPolyfillsLoadedDeferred.promise; |     let controller = new AbortController(); | ||||||
|     let controller: AbortController; |     plugins.smartdelay.delayFor(optionsArg.timeoutMs).then(() => { | ||||||
|     if (optionsArg.timeoutMs) { |       controller.abort(); | ||||||
|       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 cachedResponseDeferred = plugins.smartpromise.defer<Response>(); |     let cachedResponseDeferred = plugins.smartpromise.defer<Response>(); | ||||||
|     let cacheUsed = false; |     let cacheUsed = false; | ||||||
|     if (optionsArg.useCache && (await this.cacheStore.check(urlArg))) { |     if (optionsArg.useCache && (await this.cacheStore.check(urlArg))) { | ||||||
| @@ -160,9 +109,8 @@ export class WebRequest { | |||||||
|     } else { |     } else { | ||||||
|       cachedResponseDeferred.resolve(null); |       cachedResponseDeferred.resolve(null); | ||||||
|     } |     } | ||||||
|     let response: Response = await fetchObject |     let response: Response = await fetch(urlArg, { | ||||||
|       .fetch(urlArg, { |         signal: controller.signal, | ||||||
|         signal: controller ? controller.signal : null, |  | ||||||
|         method: optionsArg.method, |         method: optionsArg.method, | ||||||
|         headers: { |         headers: { | ||||||
|           ...(optionsArg.headers || {}), |           ...(optionsArg.headers || {}), | ||||||
| @@ -201,7 +149,7 @@ export class WebRequest { | |||||||
|       headers?: HeadersInit; |       headers?: HeadersInit; | ||||||
|     } |     } | ||||||
|   ): Promise<Response> { |   ): Promise<Response> { | ||||||
|     await WebRequest.neededPolyfillsLoadedDeferred.promise; |      | ||||||
|     let allUrls: string[]; |     let allUrls: string[]; | ||||||
|     let usedUrlIndex = 0; |     let usedUrlIndex = 0; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user