Merge "gerrit-fe-dev-helper: Add `addRespHeader` rule."
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',
 }