gerrit-fe-dev-helper: Add `addRespHeader` rule.
Change-Id: I87f133ba7d464a823741abc1b27c8b5af60bc638
diff --git a/src/background.ts b/src/background.ts
index 9450992..aa605b7 100644
--- a/src/background.ts
+++ b/src/background.ts
@@ -89,6 +89,23 @@
resp.responseHeaders = resp.responseHeaders
.filter(h => !removedHeaders.includes(h.name.toLowerCase()));
});
+ const addMatches = rules.filter(isValidRule)
+ .filter(
+ rule => rule.operator === Operator.ADD_RESPONSE_HEADER
+ && !rule.disabled
+ && new RegExp(rule.target).test(resp.url));
+ addMatches.forEach(rule => {
+ const addedHeaders = rule.destination.split(",")
+ addedHeaders.forEach(addedHeader => {
+ const partial = addedHeader.split("=");
+ if (partial.length === 2) {
+ resp.responseHeaders.push({
+ 'name': partial[0],
+ 'value': partial[1]
+ });
+ }
+ });
+ });
return {responseHeaders: resp.responseHeaders};
}
diff --git a/src/popup.ts b/src/popup.ts
index 9e968d2..4e5e473 100644
--- a/src/popup.ts
+++ b/src/popup.ts
@@ -281,6 +281,7 @@
Operator.INJECT_JS_PLUGIN,
Operator.INJECT_JS_CODE,
Operator.ADD_REQUEST_HEADER,
+ Operator.ADD_RESPONSE_HEADER,
Operator.REMOVE_RESPONSE_HEADER,
];
diff --git a/src/utils.ts b/src/utils.ts
index c14216b..9283268 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -55,6 +55,7 @@
INJECT_JS_PLUGIN = 'injectJSPlugin',
INJECT_JS_CODE = 'injectJSCode',
REMOVE_RESPONSE_HEADER = 'rRespHeader',
+ ADD_RESPONSE_HEADER = 'addRespHeader',
ADD_REQUEST_HEADER = 'addReqHeader',
}