15815213711
2024-08-26 67b8b6731811983447e053d4396b3708c14dfe3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// <reference types="node" />
import { BlockMapDataHolder, HttpExecutor } from "builder-util-runtime";
import { BlockMap } from "builder-util-runtime/out/blockMapApi";
import { OutgoingHttpHeaders, RequestOptions } from "http";
import { ProgressInfo, CancellationToken } from "builder-util-runtime";
import { Logger } from "../main";
import { URL } from "url";
export interface DifferentialDownloaderOptions {
    readonly oldFile: string;
    readonly newUrl: URL;
    readonly logger: Logger;
    readonly newFile: string;
    readonly requestHeaders: OutgoingHttpHeaders | null;
    readonly isUseMultipleRangeRequest?: boolean;
    readonly cancellationToken: CancellationToken;
    onProgress?: (progress: ProgressInfo) => void;
}
export declare abstract class DifferentialDownloader {
    protected readonly blockAwareFileInfo: BlockMapDataHolder;
    readonly httpExecutor: HttpExecutor<any>;
    readonly options: DifferentialDownloaderOptions;
    fileMetadataBuffer: Buffer | null;
    private readonly logger;
    constructor(blockAwareFileInfo: BlockMapDataHolder, httpExecutor: HttpExecutor<any>, options: DifferentialDownloaderOptions);
    createRequestOptions(): RequestOptions;
    protected doDownload(oldBlockMap: BlockMap, newBlockMap: BlockMap): Promise<any>;
    private downloadFile;
    private doDownloadFile;
    protected readRemoteBytes(start: number, endInclusive: number): Promise<Buffer>;
    private request;
}