↑ arvau

MDN / 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

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. Returns true 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 asynchronous getContent() method, which returns a Promise 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.

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);

Browser compatibility

This API is based on Chromium’s chrome.devtools API.