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:
cancel
Optionalboolean
. Iftrue
, the request is cancelled. You can only set this property inonBeforeRequest
,onBeforeSendHeaders
, andonAuthRequired
.redirectUrl
Optionalstring
. This is a URL, and if set, the original request is redirected to that URL. You can only set this property inonBeforeRequest
oronHeadersReceived
.- Redirections to non-HTTP schemes such as data: are allowed. Redirects use the same request method as the original request unless initiated from
onHeadersReceived
stage, in which case the redirect uses the GET method. requestHeaders
Optional-
webRequest.HttpHeaders
. This is anHttpHeaders
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 inonBeforeSendHeaders
. responseHeaders
OptionalwebRequest.HttpHeaders
. This is anHttpHeaders
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 inonHeadersReceived
.authCredentials
Optionalobject
. If set, the request is made using the given credentials. You can only set this property inonAuthRequired
. TheauthCredentials
property is an object with the following properties:-
username
string
. Username to supply.password
string
. Password to supply.
Browser compatibility
This API is based on Chromium's chrome.webRequest
API. This documentation is derived from web_request.json
in the Chromium code.
// Copyright 2015 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.