proxy
Provides methods for intercepting network traffic via mitmproxy.
assertStatusCode
Assert whether HTTP response status code matches the specified value.
Parameters:
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:
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:
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:
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:
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.
Last updated
Was this helpful?