From 1281ebf96c005bb619872b5b45131a8fdf09176e Mon Sep 17 00:00:00 2001 From: Petr Heinz Date: Fri, 5 Jan 2024 11:59:19 +0100 Subject: [PATCH] L-1147 Make sure filter_http_headers never modifies headers outside of logging (#17) --- lib/logtail-rack/http_events.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/logtail-rack/http_events.rb b/lib/logtail-rack/http_events.rb index 531e371..08db972 100755 --- a/lib/logtail-rack/http_events.rb +++ b/lib/logtail-rack/http_events.rb @@ -269,10 +269,11 @@ def silenced?(env, request) end def filter_http_headers(headers) - headers.each do |name, _| - normalized_header_name = self.class.normalize_header_name(name) - headers[name] = "[FILTERED]" if self.class.http_header_filters&.include?(normalized_header_name) - end + headers.map do |name, value| + normalized_name = self.class.normalize_header_name(name) + is_filtered = self.class.http_header_filters&.include?(normalized_name) + [name, is_filtered ? "[FILTERED]" : value] + end.to_h end def safe_to_i(val)