@tokenizer/s3
Version:
Amazon S3 tokenizer
27 lines (26 loc) • 1 kB
TypeScript
import { type IRangeRequestClient, type IRangeRequestResponse } from '@tokenizer/range';
import { type S3Client, type GetObjectRequest, type GetObjectCommandOutput } from '@aws-sdk/client-s3';
type ByteRangeRequest = [number, number];
/**
* Use S3-client to execute actual HTTP-requests.
*/
export declare class S3Request implements IRangeRequestClient {
private s3;
private objRequest;
private readonly abortController;
constructor(s3: S3Client, objRequest: GetObjectRequest);
/**
* Concatenate given array of Uint8Arrays
* @param arrays Array of Uint8Arrays
*/
private static mergeUint8Arrays;
buildArrayBuffer(response: GetObjectCommandOutput): Promise<Uint8Array>;
getResponse(method: string | undefined, range: ByteRangeRequest): Promise<IRangeRequestResponse>;
/**
* Do a ranged request
* @param range Range request
*/
getRangedRequest(range: ByteRangeRequest): Promise<GetObjectCommandOutput>;
abort(): void;
}
export {};