UNPKG

node-hue-api

Version:
55 lines (54 loc) 1.55 kB
/// <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 {};