Merge pull request #10886 from alejo90/add-typings-for-node-mitm

Added typing definitions for mitm <https://www.npmjs.com/package/mitm>
This commit is contained in:
Ryan Cavanaugh
2016-08-30 20:12:05 -07:00
committed by GitHub
2 changed files with 61 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
///<reference path="mitm.d.ts"/>
import Mitm = require('mitm');
const mitm = Mitm();
mitm.disable();
mitm.on('connect', (bypassableSocket, opts): void => {
bypassableSocket.bypass();
});
mitm.on('connection', (socket, opts): void => {
});
mitm.on('request', (request, response): void => {
});
+45
View File
@@ -0,0 +1,45 @@
// 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';
interface SocketOptions {
port: number;
host?: string;
localAddress?: string;
localPort?: string;
family?: number;
allowHalfOpen?: boolean;
}
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;
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;
}
function _(): Mitm;
export = _;
}