Skip to content

Commit 78260c0

Browse files
Merge pull request #735 from rollbar/github-727-collect-ip-config
GitHub Issue 727: Allow IP collection to be easily turned on and off in config
2 parents 96dafad + 46b2ed7 commit 78260c0

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

lib/rollbar/configuration.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff 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)

lib/rollbar/request_data_extractor.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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)

spec/rollbar/request_data_extractor_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)