proxy

Provides methods for intercepting network traffic via mitmproxy.

assertStatusCode

Assert whether HTTP response status code matches the specified value.

Parameters:

Name

Type

Description

url

String|RegExp

A request URL to match verbatim or a RegExp.

statusCode

Number

A response status code to match verbatim or a RegExp.

failureMessage

String

optional An optional failure message.

timeout

Number

optional Timeout. Default is 60 seconds.

Returns:

Object - Network request details if the network request was found.

assertUrl

Assert if network request matching the specified URL.

Parameters:

Name

Type

Description

url

String|RegExp

A request URL to match verbatim or a RegExp.

timeout

Number

optional Timeout. Default is 60 seconds.

Returns:

Object - Network request details if the network request was found.

dispose

Disposes this module.

getRequests

Return all the collected network requests so far.

Returns:

Array.<Object> - Array containing network requests.

init

Initializes proxy.

Launching mitmproxy manually:

mitmdump --anticache -s mitmproxy-node\scripts\proxy.py --ssl-insecure --set httpCommPort=8765

Parameters:

Name

Type

Description

proxyPort

Number

Proxy port.

proxyCommPort

Number

optional Port for internal proxy communication. If specified, then mitmproxy should be launched manually.Otherwise mitmpoxy will be launched automatically.

saveRequestBody

Boolean

optional Save request bodies.

saveResponseBody

Boolean

optional Save response bodies.

start

Begin collecting network requests.

Any previously collected requests will be discarded.

Usage example:

proxy.init(8080);
proxy.start();
// print the collected request so far:
let requests = proxy.getRequests();
for (let req of requests) {
log.info(req);
}
// wait for a request using a verbatim URL match:
proxy.waitForUrl('https://www.yourwebsite.com/foo/bar');
// wait for a request using a regular expression URL match:
proxy.waitForUrl(/https:\/\/.*\/foo\/bar/);
// wait for a request using a custom matcher:
proxy.waitFor(function (request) {
return request.status === '200' && request.url === 'https://www.yourwebsite.com/foo/bar';
});

stop

Stop collecting network requests.

waitFor

Wait for a network request.

Parameters:

Name

Type

Description

matcher

Function

Matching function. Should return true on match, or false otherwise.

timeout

Number

optional Timeout. Default is 60 seconds.

Returns:

Object - Network request details if the network request was found.

waitForUrl

Wait for a network request matching the specified URL.

Parameters:

Name

Type

Description

pattern

String|RegExp

An URL to match verbatim or a RegExp.

timeout

Number

optional Timeout. Default is 60 seconds.

Returns:

Object - Network request details if the network request was found.