webRequest.BlockingResponse

An object of this type is returned by event listeners that have set "blocking" in their extraInfoSpec argument.

By setting particular properties in BlockingResponse, the listener can modify network requests.

Note that you can't set all this object's properties in every listener: the properties you can set are dependent on the event that triggered this listener, as detailed below.

Type

Values of this type are objects. They contain the following properties:

authCredentialsOptional
object. If set, the request is made using the given credentials. You can only set this property in onAuthRequired. The authCredentials property is an object with the following properties:
username
string. Username to supply.
password
string. Password to supply.
cancelOptional
boolean. If true, the request is cancelled. You can only set this property in onBeforeRequest, onBeforeSendHeaders, onHeadersReceived, and onAuthRequired.
redirectUrlOptional
string. This is a URL, and if set, the original request is redirected to that URL. You can only set this property in onBeforeRequest or onHeadersReceived.
Redirections to non-HTTP schemes such as data: are allowed, but they are not currently supported (bug 707624). Redirects use the same request method as the original request unless initiated from onHeadersReceived stage, in which case the redirect uses the GET method.
If an extension wants to redirect a public (e.g. HTTPS) URL to an extension page, the extension's manifest.json file must contain a web_accessible_resources key that lists the URL for the extension page..
requestHeadersOptional

webRequest.HttpHeaders. This is an HttpHeaders object, an array in which each object represents a header. If set, the request is made with these headers rather than the original headers. You can only set this property in onBeforeSendHeaders .

responseHeadersOptional
webRequest.HttpHeaders. This is an HttpHeaders object, an array in which each object represents a header. If set, the server is assumed to have responded with these response headers instead of the originals. You can only set this property in onHeadersReceived. If multiple extensions attempt to set the same header (for example, Content-Security-Policy), only one of the changes will be successful.
upgradeToSecureOptional
boolean. If set to true and the original request is an HTTP request, this will prevent the original request from being sent and instead make a secure (HTTPS) request. If any extension returns redirectUrl in onBeforeRequest, then upgradeToSecure will be ignored for that request. You can only set this property in onBeforeRequest.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
BlockingResponse
Yes
14
45
?
Yes
No
?
?
48
?
?
?
upgradeToSecure
No
No
59
?
No
No
?
?
59
?
?
?

Note: This API is based on Chromium's chrome.webRequest API. This documentation is derived from web_request.json in the Chromium code.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/BlockingResponse