Added typing definitions for mitm <https://www.npmjs.com/package/mitm>

This commit is contained in:
Alejandro Sánchez
2016-08-29 12:14:13 -06:00
parent 0807adc9cd
commit cecb45f810
2 changed files with 62 additions and 0 deletions

18
mitm/mitm-tests.ts Normal file
View 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
View 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;
}