flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
97 lines (96 loc) • 3.03 kB
TypeScript
/// <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>;
}