mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-22 11:57:33 +08:00
Added typing definitions for mitm <https://www.npmjs.com/package/mitm>
This commit is contained in:
18
mitm/mitm-tests.ts
Normal file
18
mitm/mitm-tests.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
///<reference path="mitm.d.ts"/>
|
||||
|
||||
import Mitm, {BypassableSocket, SocketOptions} from 'mitm';
|
||||
import {Socket} from 'net';
|
||||
import {IncomingMessage, ServerResponse} from 'http';
|
||||
|
||||
const mitm = Mitm();
|
||||
mitm.disable();
|
||||
|
||||
mitm.on('connect', (socket: BypassableSocket, opts: SocketOptions): void => {
|
||||
socket.bypass();
|
||||
});
|
||||
|
||||
mitm.on('connection', (socket: Socket, opts: SocketOptions): void => {
|
||||
});
|
||||
|
||||
mitm.on('request', (request: IncomingMessage, response: ServerResponse): void => {
|
||||
});
|
||||
44
mitm/mitm.d.ts
vendored
Normal file
44
mitm/mitm.d.ts
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
// Type definitions for mitm v1.3.0
|
||||
// Project: https://github.com/moll/node-mitm
|
||||
// Definitions by: Alejandro Sánchez <https://github.com/alejo90>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
///<reference path="../node/node.d.ts"/>
|
||||
|
||||
declare module 'mitm' {
|
||||
import * as http from 'http';
|
||||
import * as net from 'net';
|
||||
|
||||
export interface SocketOptions {
|
||||
port: number;
|
||||
host?: string;
|
||||
localAddress?: string;
|
||||
localPort?: string;
|
||||
family?: number;
|
||||
allowHalfOpen?: boolean;
|
||||
}
|
||||
|
||||
export interface BypassableSocket extends net.Socket {
|
||||
bypass(): void
|
||||
}
|
||||
|
||||
type SocketConnectCallback = (socket: BypassableSocket, opts: SocketOptions) => void;
|
||||
|
||||
type SocketConnectionCallback = (socket: net.Socket, opts: SocketOptions) => void;
|
||||
|
||||
type HttpCallback = (request: http.IncomingMessage, response: http.ServerResponse) => void;
|
||||
|
||||
type Event = 'connect' | 'connection' | 'request';
|
||||
|
||||
type Callback = SocketConnectCallback | SocketConnectionCallback | HttpCallback;
|
||||
|
||||
export interface Mitm {
|
||||
disable(): void;
|
||||
on(event: Event, callback: Callback): void;
|
||||
on(event: 'connect', callback: SocketConnectCallback): void;
|
||||
on(event: 'connection', callback: SocketConnectionCallback): void;
|
||||
on(event: 'request', callback: HttpCallback): void;
|
||||
}
|
||||
|
||||
export default function (): Mitm;
|
||||
}
|
||||
Reference in New Issue
Block a user