UNPKG

request-filtering-agent

Version:

An http(s).Agent implementation that block request Private IP address.

40 lines (39 loc) 1.64 kB
/// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import { TcpNetConnectOpts } from "net"; import * as http from "http"; import * as https from "https"; import { Socket } from "net"; export interface RequestFilteringAgentOptions { allowPrivateIPAddress?: boolean; allowMetaIPAddress?: boolean; allowIPAddressList?: string[]; denyIPAddressList?: string[]; } export declare const DefaultRequestFilteringAgentOptions: Required<RequestFilteringAgentOptions>; /** * A subclass of http.Agent with request filtering */ export declare class RequestFilteringHttpAgent extends http.Agent { private requestFilterOptions; constructor(options?: http.AgentOptions & RequestFilteringAgentOptions); createConnection(options: TcpNetConnectOpts, connectionListener?: (error: Error | null, socket: Socket) => void): any; } /** * A subclass of https.Agent with request filtering */ export declare class RequestFilteringHttpsAgent extends https.Agent { private requestFilterOptions; constructor(options?: https.AgentOptions & RequestFilteringAgentOptions); createConnection(options: TcpNetConnectOpts, connectionListener?: (error: Error | null, socket: Socket) => void): any; } export declare const globalHttpAgent: RequestFilteringHttpAgent; export declare const globalHttpsAgent: RequestFilteringHttpsAgent; /** * Get an agent for the url * return http or https agent * @param url * @param options */ export declare const useAgent: (url: string, options?: https.AgentOptions & RequestFilteringAgentOptions) => RequestFilteringHttpAgent | RequestFilteringHttpsAgent;