From c9f175daaa840c664256c9e177637faba8c6972e Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 22 Jan 2019 19:58:30 +0100
Subject: [PATCH] refactor: redact gotOptions

---
 lib/logger/err-serializer.js                          | 7 +++++++
 test/logger/__snapshots__/err-serializer.spec.js.snap | 5 +++++
 test/logger/err-serializer.spec.js                    | 5 +++++
 3 files changed, 17 insertions(+)

diff --git a/lib/logger/err-serializer.js b/lib/logger/err-serializer.js
index a4db94fd6a..f7d2b66b9f 100644
--- a/lib/logger/err-serializer.js
+++ b/lib/logger/err-serializer.js
@@ -15,5 +15,12 @@ function errSerializer(err) {
   if (err.stack) {
     response.stack = err.stack;
   }
+  if (
+    err.gotOptions &&
+    err.gotOptions.headers &&
+    err.gotOptions.headers.authorization
+  ) {
+    response.gotOptions.headers.authorization = '** redacted **';
+  }
   return response;
 }
diff --git a/test/logger/__snapshots__/err-serializer.spec.js.snap b/test/logger/__snapshots__/err-serializer.spec.js.snap
index 4c1a78d7f7..77a6591a1a 100644
--- a/test/logger/__snapshots__/err-serializer.spec.js.snap
+++ b/test/logger/__snapshots__/err-serializer.spec.js.snap
@@ -5,6 +5,11 @@ Object {
   "a": 1,
   "b": 2,
   "body": "some response body",
+  "gotOptions": Object {
+    "headers": Object {
+      "authorization": "** redacted **",
+    },
+  },
   "message": "some message",
   "response": Object {
     "body": "some response body",
diff --git a/test/logger/err-serializer.spec.js b/test/logger/err-serializer.spec.js
index 7b2920ade1..03d9762e1b 100644
--- a/test/logger/err-serializer.spec.js
+++ b/test/logger/err-serializer.spec.js
@@ -9,6 +9,11 @@ describe('logger/err-serializer', () => {
       response: {
         body: 'some response body',
       },
+      gotOptions: {
+        headers: {
+          authorization: 'Bearer abc',
+        },
+      },
     };
     expect(configSerializer(err)).toMatchSnapshot();
   });
-- 
GitLab