mirror of
https://github.com/github/codeql-action.git
synced 2025-12-28 02:00:12 +08:00
49 lines
3.0 KiB
TypeScript
49 lines
3.0 KiB
TypeScript
import { ArtifactResponse, UploadResults } from './contracts';
|
|
import { UploadSpecification } from './upload-specification';
|
|
import { UploadOptions } from './upload-options';
|
|
export declare class UploadHttpClient {
|
|
private uploadHttpManager;
|
|
private statusReporter;
|
|
constructor();
|
|
/**
|
|
* Creates a file container for the new artifact in the remote blob storage/file service
|
|
* @param {string} artifactName Name of the artifact being created
|
|
* @returns The response from the Artifact Service if the file container was successfully created
|
|
*/
|
|
createArtifactInFileContainer(artifactName: string, options?: UploadOptions | undefined): Promise<ArtifactResponse>;
|
|
/**
|
|
* Concurrently upload all of the files in chunks
|
|
* @param {string} uploadUrl Base Url for the artifact that was created
|
|
* @param {SearchResult[]} filesToUpload A list of information about the files being uploaded
|
|
* @returns The size of all the files uploaded in bytes
|
|
*/
|
|
uploadArtifactToFileContainer(uploadUrl: string, filesToUpload: UploadSpecification[], options?: UploadOptions): Promise<UploadResults>;
|
|
/**
|
|
* Asynchronously uploads a file. The file is compressed and uploaded using GZip if it is determined to save space.
|
|
* If the upload file is bigger than the max chunk size it will be uploaded via multiple calls
|
|
* @param {number} httpClientIndex The index of the httpClient that is being used to make all of the calls
|
|
* @param {UploadFileParameters} parameters Information about the file that needs to be uploaded
|
|
* @returns The size of the file that was uploaded in bytes along with any failed uploads
|
|
*/
|
|
private uploadFileAsync;
|
|
/**
|
|
* Uploads a chunk of an individual file to the specified resourceUrl. If the upload fails and the status code
|
|
* indicates a retryable status, we try to upload the chunk as well
|
|
* @param {number} httpClientIndex The index of the httpClient being used to make all the necessary calls
|
|
* @param {string} resourceUrl Url of the resource that the chunk will be uploaded to
|
|
* @param {NodeJS.ReadableStream} openStream Stream of the file that will be uploaded
|
|
* @param {number} start Starting byte index of file that the chunk belongs to
|
|
* @param {number} end Ending byte index of file that the chunk belongs to
|
|
* @param {number} uploadFileSize Total size of the file in bytes that is being uploaded
|
|
* @param {boolean} isGzip Denotes if we are uploading a Gzip compressed stream
|
|
* @param {number} totalFileSize Original total size of the file that is being uploaded
|
|
* @returns if the chunk was successfully uploaded
|
|
*/
|
|
private uploadChunk;
|
|
/**
|
|
* Updates the size of the artifact from -1 which was initially set when the container was first created for the artifact.
|
|
* Updating the size indicates that we are done uploading all the contents of the artifact
|
|
*/
|
|
patchArtifactSize(size: number, artifactName: string): Promise<void>;
|
|
}
|