UNPKG

flagpole

Version:

Simple and fast DOM integration, headless or headful browser, and REST API testing framework.

97 lines (96 loc) 3.03 kB
/// <reference types="node" /> import { KeyValue } from "./interfaces"; import { HttpResponse } from "."; import { LaunchOptions } from "puppeteer-core"; export declare type HttpRequestType = "generic" | "json" | "image"; export declare const HttpMethodVerbAllowedValues: string[]; export declare type HttpMethodVerb = "get" | "head" | "delete" | "patch" | "post" | "put" | "options"; export interface BrowserOptions extends LaunchOptions { width?: number; height?: number; recordConsole?: boolean; outputConsole?: boolean; } export declare type HttpAuth = { username: string; password: string; }; export declare type HttpTimeout = { read?: number; open?: number; response?: number; }; export declare type HttpProxy = { host: string; port: number; auth: HttpAuth; }; export declare type HttpData = Buffer | KeyValue | NodeJS.ReadableStream | string | null | undefined; export declare type HttpRequestOptions = { browserOptions?: BrowserOptions; auth?: HttpAuth; data?: HttpData; cookies?: KeyValue; headers?: KeyValue; maxRedirects?: number; method?: HttpMethodVerb; proxy?: HttpProxy; timeout?: HttpTimeout | number; type?: HttpRequestType; uri?: string | null; verifyCert?: boolean; }; export declare class HttpRequest { private _uri; private _method; private _headers; private _cookies; private _verifyCert; private _proxy; private _timeout; private _maxRedirects; private _auth; private _data; private _fetched; private _browser; private _type; get uri(): string | null; set uri(value: string | null); get method(): HttpMethodVerb; set method(value: HttpMethodVerb); get type(): HttpRequestType; set type(value: HttpRequestType); get headers(): KeyValue; set headers(value: KeyValue); get cookies(): KeyValue; set cookies(value: KeyValue); get auth(): HttpAuth | undefined; set auth(value: HttpAuth | undefined); get maxRedirects(): number; set maxRedirects(value: number); get timeout(): HttpTimeout; set timeout(value: HttpTimeout); get proxy(): HttpProxy | undefined; set proxy(value: HttpProxy | undefined); get verifyCert(): boolean; set verifyCert(value: boolean); get data(): HttpData; set data(value: HttpData); get browser(): BrowserOptions; set browser(value: BrowserOptions); private get proxyAgent(); get isImmutable(): boolean; get options(): HttpRequestOptions; private get needleOptions(); private get httpOptions(); private get gotOptions(); constructor(opts: HttpRequestOptions); setOptions(opts: HttpRequestOptions): HttpRequest; setCookie(key: string, value: any): void; getCookie(key: string): any; setHeader(key: string, value: any): void; getHeader(key: string): any; fetch(opts?: KeyValue): Promise<HttpResponse>; private _fetchHttp; protected _fetchImage(opts?: KeyValue): Promise<HttpResponse>; }