Skip to content

Commit 247c12f

Browse files
committed
fix: redact credentials from error.request
1 parent 02b6e44 commit 247c12f

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

lib/http-error.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ module.exports = class HttpError extends Error {
1717
}
1818
})
1919
this.headers = headers
20-
this.request = request
20+
21+
// redact request credentials without mutating original request options
22+
const requestCopy = Object.assign({}, request)
23+
if (request.headers.authorization) {
24+
requestCopy.headers = Object.assign({}, request.headers, {
25+
authorization: request.headers.authorization.replace(/ .*$/, ' [REDACTED]')
26+
})
27+
}
28+
29+
// client_id & client_secret can be passed as URL query parameters to increase rate limit
30+
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
31+
requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, 'client_secret=[REDACTED]')
32+
33+
this.request = requestCopy
2134
}
2235
}

0 commit comments

Comments
 (0)