package webextension_polyfill.webrequest;
/**
Returns value for event handlers that have the 'blocking' extraInfoSpec applied. Allows the event handler to modify
network requests.
**/
typedef BlockingResponse = {
/**
If true, the request is cancelled. Used in onBeforeRequest, this prevents the request from being sent.
Optional.
**/
@:optional
var cancel : Bool;
/**
Only used as a response to the onBeforeRequest and onHeadersReceived events. If set,
the original request is prevented from being sent/completed and is instead redirected to the given URL.
Redirections to non-HTTP schemes such as data: are allowed. Redirects initiated by a redirect action use the original
request method for the redirect, with one exception: If the redirect is initiated at the onHeadersReceived stage,
then the redirect will be issued using the GET method.
Optional.
**/
@:optional
var redirectUrl : String;
/**
Only used as a response to the onBeforeRequest event. If set, the original request is prevented from being
sent/completed and is instead upgraded to a secure request. If any extension returns redirectUrl
during onBeforeRequest, upgradeToSecure
will have no affect.
Optional.
**/
@:optional
var upgradeToSecure : Bool;
/**
Only used as a response to the onBeforeSendHeaders event. If set, the request is made with these request headers instead.
Optional.
**/
@:optional
var requestHeaders : HttpHeaders;
/**
Only used as a response to the onHeadersReceived event. If set, the server is assumed to have responded with these
response headers instead. Only return responseHeaders
if you really want to modify the headers in order to
limit the number of conflicts (only one extension may modify responseHeaders
for each request).
Optional.
**/
@:optional
var responseHeaders : HttpHeaders;
/**
Only used as a response to the onAuthRequired event. If set, the request is made using the supplied credentials.
Optional.
**/
@:optional
var authCredentials : BlockingResponseAuthCredentialsType;
};