@cloudbase/app
Version:
cloudbase javascript sdk core
43 lines (42 loc) • 2 kB
TypeScript
import { IRequestOptions, ResponseObject, IUploadRequestOptions, IFetchOptions } from '@cloudbase/adapter-interface';
import { EndPointKey, KV } from '@cloudbase/types';
import { IGetAccessTokenResult, ICloudbaseRequestConfig } from '@cloudbase/types/request';
export interface ICloudbaseRequest {
post: (options: IRequestOptions) => Promise<ResponseObject>;
upload: (options: IUploadRequestOptions) => Promise<ResponseObject>;
download: (options: IRequestOptions) => Promise<ResponseObject>;
request: (action: string, params: KV<any>, options?: KV<any>) => Promise<ResponseObject>;
send: (action: string, data: KV<any>) => Promise<any>;
fetch: (options: IFetchOptions) => Promise<ResponseObject>;
}
export declare class CloudbaseRequest implements ICloudbaseRequest {
config: ICloudbaseRequestConfig;
private reqClass;
private throwWhenRequestFail;
private localCache;
constructor(config: ICloudbaseRequestConfig & {
throw?: boolean;
});
getDefaultHeaders(): {
[x: string]: import("@cloudbase/types").LANGS;
};
post(options: IRequestOptions): Promise<ResponseObject>;
upload(options: IUploadRequestOptions): Promise<ResponseObject>;
download(options: IRequestOptions): Promise<ResponseObject>;
getBaseEndPoint(endPointKey?: EndPointKey): string;
getOauthAccessTokenV2(oauthClient: any): Promise<IGetAccessTokenResult>;
request(action: string, params: KV<any>, options?: {
onUploadProgress?: Function;
pathname?: string;
parse?: boolean;
inQuery?: KV<any>;
search?: string;
defaultQuery?: KV<any>;
}): Promise<ResponseObject>;
fetch(options: IFetchOptions & {
token?: string;
}): Promise<ResponseObject>;
send(action: string, data?: KV<any>, options?: KV<any>): Promise<any>;
}
export declare function initRequest(config: ICloudbaseRequestConfig): void;
export declare function getRequestByEnvId(env: string): CloudbaseRequest;