From 7b1ddce457eb4de4cd2b651c0f3ee791918a66ad Mon Sep 17 00:00:00 2001 From: Daniel Griesser Date: Wed, 18 Mar 2026 16:03:30 +0100 Subject: [PATCH] perf: Optimize lowercase check in RequestInterface --- sentry-ruby/lib/sentry/interfaces/request.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sentry-ruby/lib/sentry/interfaces/request.rb b/sentry-ruby/lib/sentry/interfaces/request.rb index 3290b7652..024df1f73 100644 --- a/sentry-ruby/lib/sentry/interfaces/request.rb +++ b/sentry-ruby/lib/sentry/interfaces/request.rb @@ -107,8 +107,11 @@ def filter_and_format_headers(env, send_default_pii) end end + # Regex to detect lowercase chars — match? is allocation-free (no MatchData/String) + LOWERCASE_PATTERN = /[a-z]/.freeze + def is_skippable_header?(key) - key.upcase != key || # lower-case envs aren't real http headers + key.match?(LOWERCASE_PATTERN) || # lower-case envs aren't real http headers key == "HTTP_COOKIE" || # Cookies don't go here, they go somewhere else !(key.start_with?("HTTP_") || CONTENT_HEADERS.include?(key)) end