1
+ # frozen_string_literal: true
2
+
1
3
module Sentry
2
4
module Sanitizer
3
5
class Cleaner
4
- DEFAULT_MASK = ' [FILTERED]' . freeze
6
+ DEFAULT_MASK = " [FILTERED]"
5
7
DEFAULT_SENSITIVE_HEADERS = %w[
6
8
Authorization
7
9
X-Xsrf-Token
@@ -21,7 +23,7 @@ def call(event)
21
23
if event . is_a? ( Sentry ::Event )
22
24
sanitize ( event , :object ) if event . request
23
25
elsif event . is_a? ( Hash )
24
- sanitize ( event , :stringified_hash ) if event [ ' request' ]
26
+ sanitize ( event , :stringified_hash ) if event [ " request" ]
25
27
sanitize ( event , :symbolized_hash ) if event [ :request ]
26
28
end
27
29
end
@@ -35,11 +37,11 @@ def sanitize(event, type)
35
37
event . request . query_string = sanitize_query_string ( event . request . query_string )
36
38
event . extra = sanitize_data ( event . extra )
37
39
when :stringified_hash
38
- event [ ' request' ] [ ' data' ] = sanitize_data ( event [ ' request' ] [ ' data' ] )
39
- event [ ' request' ] [ ' headers' ] = sanitize_headers ( event [ ' request' ] [ ' headers' ] )
40
- event [ ' request' ] [ ' cookies' ] = sanitize_cookies ( event [ ' request' ] [ ' cookies' ] )
41
- event [ ' request' ] [ ' query_string' ] = sanitize_query_string ( event [ ' request' ] [ ' query_string' ] )
42
- event [ ' extra' ] = sanitize_data ( event [ ' extra' ] )
40
+ event [ " request" ] [ " data" ] = sanitize_data ( event [ " request" ] [ " data" ] )
41
+ event [ " request" ] [ " headers" ] = sanitize_headers ( event [ " request" ] [ " headers" ] )
42
+ event [ " request" ] [ " cookies" ] = sanitize_cookies ( event [ " request" ] [ " cookies" ] )
43
+ event [ " request" ] [ " query_string" ] = sanitize_query_string ( event [ " request" ] [ " query_string" ] )
44
+ event [ " extra" ] = sanitize_data ( event [ " extra" ] )
43
45
when :symbolized_hash
44
46
event [ :request ] [ :data ] = sanitize_data ( event [ :request ] [ :data ] )
45
47
event [ :request ] [ :headers ] = sanitize_headers ( event [ :request ] [ :headers ] )
@@ -71,6 +73,7 @@ def sanitize_headers(headers)
71
73
headers . transform_values { mask }
72
74
when Array
73
75
return headers unless http_headers . size . positive?
76
+
74
77
http_headers_regex = sensitive_regexp ( http_headers )
75
78
76
79
headers . keys . select { |key | key . match? ( http_headers_regex ) } . each do |key |
@@ -95,14 +98,14 @@ def sanitize_query_string(query_string)
95
98
return query_string unless do_query_string
96
99
return query_string unless query_string . is_a? String
97
100
98
- sanitized_array = query_string . split ( '&' ) . map do |kv_pair |
99
- k , v = kv_pair . split ( '=' )
101
+ sanitized_array = query_string . split ( "&" ) . map do |kv_pair |
102
+ k , v = kv_pair . split ( "=" )
100
103
new_v = sanitize_string ( k , v )
101
104
102
105
"#{ k } =#{ new_v } "
103
106
end
104
107
105
- sanitized_array . join ( '&' )
108
+ sanitized_array . join ( "&" )
106
109
end
107
110
108
111
def sanitize_value ( value , key )
@@ -145,7 +148,7 @@ def sensitive_fields
145
148
end
146
149
147
150
def sensitive_regexp ( fields )
148
- Regexp . new ( fields . map { |field | "\\ b#{ field } \\ b" } . join ( '|' ) , 'i' )
151
+ Regexp . new ( fields . map { |field | "\\ b#{ field } \\ b" } . join ( "|" ) , "i" )
149
152
end
150
153
end
151
154
end
0 commit comments