declarativeNetRequest.HeaderInfo
The response header to match for the request, declared in the rule.condition
.excludedResponseHeaders
array or rule.condition
.responseHeaders
array. If specified, the array must be non-empty.
When used in the condition responseHeaders, the rule matches if the request matches this response header condition. When used in the condition excludedResponseHeaders, the rule does not match if the request matches this response header condition.
Each object describes one header to match or exclude. To check multiple headers, multiple objects can be specified in these arrays, or across multiple rules.
Note: Matching by headers is a relatively new feature. Make sure to feature-detect its availability before relying on it. While some browsers ignore the complete rule when an unrecognized condition is present, Chrome 121 until 127 applied the whole rule while ignoring the responseHeaders
condition. This could result in matching more requests than intended, see Chromium issue 347186592.
Type
Values of this type are objects. They contain these properties:
header
-
A
string
. The name of the header. This condition matches on the name only if both values and excludedValues are not specified. values
Optional-
An array of
string
. If specified, this condition matches if the header's value matches at least one pattern in this list. This supports case-insensitive header value matching plus the following constructs:'*'
: Matches any number of characters.'?'
: Matches zero or one character(s).'*'
and'?'
can be escaped with a backslash, e.g.'\*'
and'\?'
.
excludedValues
Optional-
An array of
string
. If specified, this condition is not matched if the header exists but its value contains at least one element in this list. This uses the same glob pattern syntax asvalues
. Ifvalues
andexcludedValues
are both matched, thenexcludedValues
takes precedence.
Browser compatibility
webextensions.api.declarativeNetRequest.RuleCondition.responseHeaders
BCD tables only load in the browser
webextensions.api.declarativeNetRequest.RuleCondition.excludedResponseHeaders
BCD tables only load in the browser