kws-sdk
Version:
58 lines (57 loc) • 1.52 kB
TypeScript
/// <reference types="request-promise" />
import request = require('request-promise');
declare namespace KWS {
interface headers {
[key: string]: string;
}
interface Query {
[key: string]: string;
}
interface AWSRequest {
host: string;
method: string;
headers: headers;
service: string;
region: string;
path: string;
body?: string;
signQuery?: boolean;
}
interface AWSCredentials {
accessKeyId: string;
secretAccessKey: string;
}
interface RequestARGS {
query?: Query;
body?: any;
}
interface ARGS {
ak: string;
sk: string;
uniqname: string;
app: string;
host?: string;
region?: string;
}
interface Api {
action: string;
service: string;
version: string;
}
}
declare class KWS implements KWS.ARGS {
ak: string;
sk: string;
host: string;
region: string;
uniqname: string;
app: string;
constructor(args: KWS.ARGS);
buildHost(service: string): string;
buildAWSRequest(method: string, service: string, query: KWS.Query, body: any): KWS.AWSRequest;
buildAWSCredentials(): KWS.AWSCredentials;
buildQuery(action: string, version: string, query: Object): KWS.Query;
sign(method: string, api: KWS.Api, data?: KWS.RequestARGS): any;
request(method: string, api: KWS.Api, data?: KWS.RequestARGS): request.RequestPromise;
}
export = KWS;