UNPKG

puppeteer-interceptor

Version:

Makes intercepting and modifying traffic from Puppeteer easier

49 lines (48 loc) 1.99 kB
import Protocol from 'devtools-protocol'; import { Page } from 'puppeteer/lib/cjs/puppeteer/common/Page'; import { CDPSession } from 'puppeteer/lib/cjs/puppeteer/common/Connection'; export * from './types'; export * from './request-patterns'; export declare namespace Interceptor { interface OnResponseReceivedEvent { request: Protocol.Network.Request; response: InterceptedResponse; } interface OnInterceptionEvent extends Protocol.Fetch.RequestPausedEvent { } interface EventHandlers { onResponseReceived?: (event: OnResponseReceivedEvent) => Promise<InterceptedResponse | void> | InterceptedResponse | void; onInterception?: (event: OnInterceptionEvent, control: ControlCallbacks) => Promise<void> | void; } interface ResponseOptions { responseHeaders?: Protocol.Fetch.HeaderEntry[]; binaryResponseHeaders?: string; body?: string; responsePhrase?: string; encodedBody?: string; } interface ControlCallbacks { abort: (msg: Protocol.Network.ErrorReason) => void; fulfill: (responseCode: number, responseOptions?: ResponseOptions) => void; } interface InterceptedResponse { body: string; headers: Protocol.Fetch.HeaderEntry[] | undefined; errorReason?: Protocol.Network.ErrorReason; statusCode: number; base64Body?: string; statusMessage?: string; } } export declare class InterceptionHandler { page: Page; patterns: Protocol.Fetch.RequestPattern[]; eventHandlers: Interceptor.EventHandlers; client?: CDPSession; disabled: boolean; constructor(page: Page, patterns?: Protocol.Fetch.RequestPattern[], eventHandlers?: Interceptor.EventHandlers); disable(): void; enable(): void; initialize(): Promise<void>; } export declare function intercept(page: Page, patterns?: Protocol.Fetch.RequestPattern[], eventHandlers?: Interceptor.EventHandlers): Promise<InterceptionHandler>;