@cloudbase/app
Version:
cloudbase javascript sdk core
59 lines (58 loc) • 2.54 kB
TypeScript
import { IRequestOptions, ResponseObject, IUploadRequestOptions, IFetchOptions } from '@cloudbase/adapter-interface';
import { EndPointKey, KV } from '@cloudbase/types';
import { ICustomReqOpts } from '@cloudbase/types/functions';
import { IGetAccessTokenResult, ICloudbaseRequestConfig } from '@cloudbase/types/request';
export interface IGateWayOptions {
name: string;
data?: any;
path: string;
method: string;
header?: {};
}
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;
});
getAccessToken(token?: any): Promise<any>;
getDefaultHeaders(): {
[x: string]: string;
'X-SDK-Version': string;
};
post(options: IRequestOptions, customReqOpts?: ICustomReqOpts): 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>;
}, customReqOpts?: ICustomReqOpts): Promise<ResponseObject>;
fetch(options: IFetchOptions & {
token?: string;
customReqOpts?: ICustomReqOpts;
}): Promise<ResponseObject>;
send(action: string, data?: KV<any>, options?: KV<any>, customReqOpts?: ICustomReqOpts): Promise<any>;
gateWay(options: IGateWayOptions, customReqOpts?: ICustomReqOpts): Promise<{
data: any;
statusCode?: number;
requestId: string;
}>;
}
export declare function initRequest(config: ICloudbaseRequestConfig): void;
export declare function getRequestByEnvId(env: string): CloudbaseRequest;