webRequest.StreamFilter.onstop
An event handler that will be called when the stream has no more data to deliver. In the event handler you can still call filter functions such as write()
, disconnect()
, or close()
.
Browser compatibility
Report problems with this compatibility data on GitHubwebextensions-desktop | webextensions-mobile | |||||
---|---|---|---|---|---|---|
onstop | ChromeNo supportNo | EdgeNo supportNo | FirefoxFull support57 | OperaNo supportNo | SafariNo supportNo | Firefox for AndroidFull support57 |
Legend
- Full support
- Full support
- No support
- No support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Examples
This example will append "extra stuff" to the response:
function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
let encoder = new TextEncoder();
filter.ondata = event => {
// pass through all the response data
filter.write(event.data);
}
filter.onstop = event => {
filter.write(encoder.encode("extra stuff"));
filter.disconnect();
}
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://example.com/*"], types: ["main_frame"]},
["blocking"]
);
Here's another version of the example above:
function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
let encoder = new TextEncoder();
let data = [];
filter.ondata = event => {
data.push(event.data);
};
filter.onstop = event => {
for (let buffer of data) {
filter.write(buffer);
}
filter.write(encoder.encode("extra stuff"));
filter.close();
};
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://example.com/"], types: ["main_frame"]},
["blocking"]
);