From 1d6cb47d4598cd5d750cf3642993bb11233e181e Mon Sep 17 00:00:00 2001 From: Kir_Antipov <kp.antipov@gmail.com> Date: Fri, 5 Jan 2024 15:21:13 +0000 Subject: [PATCH] Added `fetch` to the generic uploader options This allows us to have better control over the behavior of a generic uploader. --- src/platforms/generic-platform-uploader.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/platforms/generic-platform-uploader.ts b/src/platforms/generic-platform-uploader.ts index e5ee383..7cfb838 100644 --- a/src/platforms/generic-platform-uploader.ts +++ b/src/platforms/generic-platform-uploader.ts @@ -6,6 +6,7 @@ import { JavaVersion } from "@/utils/java"; import { Logger, LoggingStopwatch, NULL_LOGGER } from "@/utils/logging"; import { SecureString } from "@/utils/security"; import { VersionType } from "@/utils/versioning"; +import { Fetch, fetch } from "@/utils/net"; import { CurseForgeUploaderOptions } from "./curseforge/curseforge-uploader"; import { GitHubUploaderOptions } from "./github/github-uploader"; import { ModrinthUploaderOptions } from "./modrinth/modrinth-uploader"; @@ -20,6 +21,11 @@ export interface GenericPlatformUploaderOptions { * An optional logger that can be used for recording log messages. */ logger?: Logger; + + /** + * The Fetch implementation used for making HTTP requests. + */ + fetch?: Fetch; } /** @@ -123,6 +129,11 @@ export abstract class GenericPlatformUploader<TOptions extends GenericPlatformUp */ protected readonly _logger: Logger; + /** + * The Fetch implementation used for making HTTP requests. + */ + protected readonly _fetch: Fetch; + /** * Constructs a new {@link PlatformUploader} instance. * @@ -130,6 +141,7 @@ export abstract class GenericPlatformUploader<TOptions extends GenericPlatformUp */ protected constructor(options?: TOptions) { this._logger = options?.logger || NULL_LOGGER; + this._fetch = options?.fetch || fetch; } /**