node-hue-api
Version:
Philips Hue API Library for Node.js
55 lines (54 loc) • 1.55 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { Agent as HttpsAgent } from 'https';
import { Agent as HttpAgent } from 'http';
export type HTTPHeaders = {
[key: string]: string;
};
type HttpClientFetchConfig = {
headers?: HTTPHeaders;
baseURL?: string;
httpAgent?: HttpAgent;
httpsAgent?: HttpsAgent;
timeout?: number;
};
type AgentConfig = {
agent?: HttpAgent | HttpsAgent;
httpAgent?: HttpAgent;
httpsAgent?: HttpsAgent;
};
export type RequestConfig = {
json?: boolean;
data?: object | string;
url: string;
headers?: HTTPHeaders;
method: string;
timeout?: number;
params?: {
[key: string]: string;
};
validateStatus?: Function;
} & AgentConfig;
export type FetchResult = {
status: number;
data?: any;
config?: {
[key: string]: any;
};
headers?: HTTPHeaders;
};
export declare class HttpClientFetch {
private _config;
constructor(config?: HttpClientFetchConfig);
get headers(): HTTPHeaders;
get baseURL(): string | undefined;
get hasBaseUrl(): boolean;
getTimeout(timeout: number | undefined): number;
refreshAuthorizationHeader(token: string): void;
getAgent(url: string, config: RequestConfig): HttpsAgent | HttpAgent | undefined;
getUrl(url: string): string;
request(req: RequestConfig): Promise<FetchResult>;
}
export declare function create(config?: HttpClientFetchConfig): HttpClientFetch;
export declare function request(req: RequestConfig): Promise<FetchResult>;
export {};