diff --git a/packages/core/src/shared/resourcefetcher/httpResourceFetcher.ts b/packages/core/src/shared/resourcefetcher/httpResourceFetcher.ts index b54d46e67fc..e942e0ec2d0 100644 --- a/packages/core/src/shared/resourcefetcher/httpResourceFetcher.ts +++ b/packages/core/src/shared/resourcefetcher/httpResourceFetcher.ts @@ -39,9 +39,7 @@ export class HttpResourceFetcher implements ResourceFetcher { */ public get(): Promise { this.logger.verbose(`downloading: ${this.logText()}`) - return withRetries(() => this.downloadRequest(), { - maxRetries: this.params.retries ?? 1, - }) + return this.downloadRequest() } /** @@ -99,16 +97,23 @@ export class HttpResourceFetcher implements ResourceFetcher { } private async getResponseFromGetRequest(timeout?: Timeout, headers?: RequestHeaders): Promise { - const req = request.fetch('GET', this.url, { - headers: this.buildRequestHeaders(headers), - }) - - const cancelListener = timeout?.token.onCancellationRequested((event) => { - this.logCancellation(event) - req.cancel() - }) - - return req.response.finally(() => cancelListener?.dispose()) + return withRetries( + () => { + const req = request.fetch('GET', this.url, { + headers: this.buildRequestHeaders(headers), + }) + + const cancelListener = timeout?.token.onCancellationRequested((event) => { + this.logCancellation(event) + req.cancel() + }) + + return req.response.finally(() => cancelListener?.dispose()) + }, + { + maxRetries: this.params.retries ?? 1, + } + ) } private buildRequestHeaders(requestHeaders?: RequestHeaders): Headers {