File tree Expand file tree Collapse file tree 3 files changed +15
-0
lines changed
Expand file tree Collapse file tree 3 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ class Configuration
4343 attr_accessor :scrub_fields
4444 attr_accessor :scrub_user
4545 attr_accessor :scrub_password
46+ attr_accessor :collect_user_ip
4647 attr_accessor :user_ip_obfuscator_secret
4748 attr_accessor :randomize_scrub_length
4849 attr_accessor :uncaught_exception_level
@@ -120,6 +121,7 @@ def initialize
120121 @project_gem_paths = [ ]
121122 @use_exception_level_filters_default = false
122123 @proxy = nil
124+ @collect_user_ip = true
123125 end
124126
125127 def initialize_copy ( orig )
Original file line number Diff line number Diff line change @@ -131,6 +131,7 @@ def rollbar_url(env)
131131 end
132132
133133 def rollbar_user_ip ( env )
134+ return nil unless Rollbar . configuration . collect_user_ip
134135 user_ip_string = ( env [ 'action_dispatch.remote_ip' ] || env [ 'HTTP_X_REAL_IP' ] || x_forwarded_for_client ( env [ 'HTTP_X_FORWARDED_FOR' ] ) || env [ 'REMOTE_ADDR' ] ) . to_s
135136
136137 Rollbar ::Util ::IPObfuscator . obfuscate_ip ( user_ip_string )
Original file line number Diff line number Diff line change @@ -138,6 +138,18 @@ class ExtractorDummy
138138
139139 expect ( result [ :user_ip ] ) . to be_eql ( '2.2.2.2' )
140140 end
141+
142+ context 'with collect_user_ip configuration option disabled' do
143+ before do
144+ Rollbar . configuration . collect_user_ip = false
145+ end
146+
147+ it 'does not extract user\'s IP' do
148+ result = subject . extract_request_data_from_rack ( env )
149+
150+ expect ( result [ :user_ip ] ) . to be_nil
151+ end
152+ end
141153 end
142154
143155 context 'with private first client IP' do
You can’t perform that action at this time.
0 commit comments