devtools.network.onRequestFinished
Fired when a network request has finished and its details are available to the extension.
The request is given as a HAR entry object, which is also given an asynchronous getContent()
method that gets the response body content.
Note that although your extension can add a listener at any time, it will only start firing after the user has activated the browser's network panel at least once.
Syntax
js
browser.devtools.network.onRequestFinished.addListener(listener)
browser.devtools.network.onRequestFinished.removeListener(listener)
browser.devtools.network.onRequestFinished.hasListener(listener)
Events have three functions:
addListener(listener)
-
Adds a listener to this event.
removeListener(listener)
-
Stop listening to this event. The
listener
argument is the listener to remove. hasListener(listener)
-
Check whether
listener
is registered for this event. Returnstrue
if it is listening,false
otherwise.
addListener syntax
Parameters
listener
-
The function called when this event occurs. The function is passed this argument:
request
-
object
. An object representing the request. This object is a single HAR entry object. It also defines an asynchronousgetContent()
method, which returns aPromise
that resolves with an array of two elements. The first element is the HTTP response body as a string, while the second element is the MIME type of the HTTP response also as a string.
Browser compatibility
BCD tables only load in the browser
Examples
Add a listener that logs the server IP address and response body for every network request.
js
function handleRequestFinished(request) {
console.log("Server IP: ", request.serverIPAddress);
request.getContent().then(([content, mimeType]) => {
console.log("Content: ", content);
console.log("MIME type: ", mimeType);
});
}
browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);
Note: This API is based on Chromium's chrome.devtools
API.