node-network-devtools
Version:
Inspecting Node.js's Network with Chrome DevTools
156 lines • 4.58 kB
TypeScript
export interface CDPCallFrame {
columnNumber: number;
functionName: string;
lineNumber: number;
url: string;
scriptId?: string;
}
export declare class RequestDetail {
id: string;
constructor(req?: RequestDetail);
loadCallFrames(_stack?: string): void;
isHiden(): boolean;
isWebSocket(): boolean;
url?: string;
method?: string;
cookies: any;
requestHeaders: any;
requestData: any;
responseData: any;
responseStatusCode?: number;
responseHeaders: any;
responseInfo: Partial<{
encodedDataLength: number;
dataLength: number;
}>;
requestStartTime?: number;
requestEndTime?: number;
initiator?: {
type: string;
stack: {
callFrames: CDPCallFrame[];
};
};
}
export declare const PORT: number;
export declare const SERVER_PORT: number;
export declare const REMOTE_DEBUGGER_PORT: number;
export declare const IS_DEV_MODE: boolean;
export declare const READY_MESSAGE = "ready";
export declare const __filename: string;
export declare const __dirname: string;
export interface RegisterOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
/**
* @description CDP Server Port, used for Devtool
* @link devtools://devtools/bundled/inspector.html?ws=127.0.0.1:${serverPort}
* @default 5271
*/
serverPort?: number;
/**
* @description Whether to automatically open Devtool
* @default true
*/
autoOpenDevtool?: boolean;
/**
* @description Options for intercepting different types of requests.
* If a property is set to `false`, that specific type of request will not be intercepted.
* By default, all are intercepted if not explicitly set.
*/
intercept?: {
/**
* @description Whether to intercept `fetch` requests.
* @default true
*/
fetch?: boolean;
/**
* @description Whether to intercept `http/https` requests.
* @default true
*/
normal?: boolean;
/**
* @description Options for intercepting `undici` requests.
* Set to `false` to disable all undici interception.
* Otherwise, configure specific undici interception options.
* @default false
*/
undici?: false | {
/**
* @description Whether to intercept `undici`'s `fetch` requests.
* @default false
*/
fetch?: false | {};
/**
* @description Whether to intercept `undici`'s normal requests.
* @default false
*/
normal?: false | {};
};
};
}
export declare const NETWORK_CONTEXT_KEY = "x-network-context";
export declare const WS_PROTOCOL = "ws";
export declare const CONTEXT_KEY_PORT = "x-network-context-port";
export declare const CONTEXT_KEY_SERVER_PORT = "x-network-context-server-port";
export declare const CONTEXT_KEY_AUTO_OPEN_DEVTOOL = "x-network-context-auto-open-devtools";
export declare const CONTEXT_KEY_INTERCEPT_NORMAL = "x-network-context-intercept-normal";
export declare const CONTEXT_KEY_INTERCEPT_FETCH = "x-network-context-intercept-fetch";
export declare const CONTEXT_KEY_INTERCEPT_UNDICI_FETCH = "x-network-context-intercept-undici-fetch";
export declare const CONTEXT_KEY_HASH = "x-network-context-hash";
export interface ConnectOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
}
export interface UnregisterOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
}
export interface SendMessageOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
}
export type RequestPipe = (req: RequestDetail) => RequestDetail | null;
export interface SetRequestInterceptorOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
request?: RequestPipe;
}
export interface SetResponseInterceptorOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
response?: RequestPipe;
}
export interface RemoveRequestInterceptorOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
}
export interface RemoveResponseInterceptorOptions {
/**
* @description Main Process Port
* @default 5270
*/
port?: number;
}
//# sourceMappingURL=common.d.ts.map