From af24c4a460db659d65b29dd6863364db7c32cdd6 Mon Sep 17 00:00:00 2001
From: Dominik Hebeler <dominik@hebeler.club>
Date: Sat, 16 Mar 2024 10:45:33 +0100
Subject: [PATCH] exclude some paths from hidden key

---
 build/js/TokenManager.js | 15 ++++++++++++++-
 package-lock.json        |  2 +-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/build/js/TokenManager.js b/build/js/TokenManager.js
index 52abe09..c409228 100644
--- a/build/js/TokenManager.js
+++ b/build/js/TokenManager.js
@@ -92,8 +92,11 @@ export class TokenManager {
 
   async handleRequestHeaders(details) {
     await this.init();
+    let url = new URL(details.url);
     let requestHeaders = details.requestHeaders;
-    requestHeaders = this.hideMetaGerKey(requestHeaders);
+    if (!this.urlRequiresKey(url)) {
+      requestHeaders = this.hideMetaGerKey(requestHeaders);
+    }
     return requestHeaders;
   }
 
@@ -102,6 +105,16 @@ export class TokenManager {
     return details.responseHeaders;
   }
 
+  urlRequiresKey(url) {
+    let key_paths = ["/keys", "/meta/settings"];
+    for (let key_path of key_paths) {
+      if (url.pathname.startsWith(key_path)) {
+        return true;
+      }
+    }
+    return false;
+  }
+
   /**
    * Removes the MetaGer key from the request
    * and replaces it with the headers for anonymous tokens
diff --git a/package-lock.json b/package-lock.json
index 25e2713..89f21b7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
 {
-  "name": "data",
+  "name": "metager-webextension",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
-- 
GitLab