devtools.network.onRequestFinished
{{AddonSidebar}}
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
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.
- : Stop listening to this event. The
hasListener(listener)
- : Check whether
listener
is registered for this event. Returnstrue
if it is listening,false
otherwise.
- : Check whether
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
{{Compat}}
Examples
Add a listener that logs the server IP address and response body for every network request.
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);
{{WebExtExamples}}
[!NOTE] This API is based on Chromium’s
chrome.devtools
API.