UNPKG

@nurbxfit/cloudflare-r2

Version:

Simple nodejs client SDK for cloudflare r2

23 lines (22 loc) 1.56 kB
import { IHTTPClient } from "../types/IHTTPClient"; import { CreateBucketBody } from "../types/rawRequestParams"; import { CreateBucketResponse, DeleteBucketResponse, DeleteObjectResponse, GetBucketCustomDomainResponse, GetBucketObjectResponse, GetBucketObjectsResponse, GetBucketResponse, ListBucketResponse, UploadObjectResponse } from "../types/rawResponse"; export default class CloudflareR2Client { private httpClient; private endpoint; private accountId; private token; constructor(httpClient: IHTTPClient, endpoint: string, accountId: string, token: string); private getHeaders; getBucketAsync(bucketName: string): Promise<GetBucketResponse>; listBucketsAsync(): Promise<ListBucketResponse>; createBucketAsync(bucketOptions: CreateBucketBody): Promise<CreateBucketResponse>; deleteBucketAsync(bucketName: string): Promise<DeleteBucketResponse>; getBucketCustomDomains(bucketName: string): Promise<GetBucketCustomDomainResponse>; getBucketObjects(bucketName: string): Promise<GetBucketObjectsResponse>; searchBucketObjects(bucketName: string, objectKey: string): Promise<GetBucketObjectsResponse>; getBucketObject(bucketName: string, objectKey: string): Promise<GetBucketObjectResponse>; putBucketObject(bucketName: string, objectKey: string, objectBin: BinaryData, contentType?: string): Promise<UploadObjectResponse>; deleteBucketObject(bucketName: string, objectKey: string): Promise<DeleteObjectResponse>; deleteBucketObjects(bucketName: string, objectKeys: string[]): Promise<any>; }