Bug 1354508 - Add filter option for network requests checking for a specific response header. r?ntim
MozReview-Commit-ID: E5wm5BgDJNU
--- a/devtools/client/netmonitor/src/utils/filter-text-utils.js
+++ b/devtools/client/netmonitor/src/utils/filter-text-utils.js
@@ -36,16 +36,17 @@ const HEADER_FILTERS = HEADERS
.map(h => h.filterKey || h.name);
const FILTER_FLAGS = [
...HEADER_FILTERS,
"scheme",
"mime-type",
"larger-than",
"is",
+ "has-response-header",
];
/*
The function `parseFilters` is from:
https://github.com/ChromeDevTools/devtools-frontend/
front_end/network/FilterSuggestionBuilder.js#L138-L163
Commit f340aefd7ec9b702de9366a812288cfb12111fce
@@ -123,16 +124,24 @@ function isFlagFilterMatch(item, { type,
match = item.method.toLowerCase() === value;
break;
case "domain":
match = item.urlDetails.host.toLowerCase().includes(value);
break;
case "remote-ip":
match = `${item.remoteAddress}:${item.remotePort}`.toLowerCase().includes(value);
break;
+ case "has-response-header":
+ if (typeof item.responseHeaders === "object") {
+ let { headers } = item.responseHeaders;
+ match = headers.findIndex(h => h.name.toLowerCase() === value) > -1;
+ } else {
+ match = false;
+ }
+ break;
case "cause":
let causeType = item.cause.type;
match = typeof causeType === "string" ?
causeType.toLowerCase().includes(value) : false;
break;
case "transferred":
if (item.fromCache) {
match = false;