rollbar 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 351948d24ee5ac0337e6634714c7ea4d7e249ba8
4
- data.tar.gz: 955b414770c864582161de98a11b1058f6e64e60
3
+ metadata.gz: 07ce16a5ab6884c863b075b5577833c618d95331
4
+ data.tar.gz: 4179b7db73210d42a749530727e16a99851bc932
5
5
  SHA512:
6
- metadata.gz: 2363a7f139ec3b1dec85d257991b2bbc3723a7e57b4685aa348e6f374ce0611741cdb84caab134dbb46a65980d50d3a9fd9b8714a2e073780d12e3ce9ae6bc6c
7
- data.tar.gz: 4f239f26138c594cb162d5b185f3210dcaf07ee0fa6a3f1159bf1bd46290a6fef9e049df144a7c70ceac1e4e39e107a497330c613072998fb7848fd92e9bef43
6
+ metadata.gz: 5c660d4e522c250e09638d12a67c25e13e44bfa8bb3ca6175333ae0be0429432bf8bc3f7a4f5e3a0f502f5be44fde5ff7fe14c1b259bd09ea7b9ca11646f9c3b
7
+ data.tar.gz: 5709042d36222c875d3de163d53f073f1367db082c931829f75115624dfa5d4aa77b6a5ba7120277afa416494048be2bd568a70527fdc4b86430287249a936e7
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ **1.2.7**
4
+ - Restore `exception_level_filters` feature, which was inadvertently removed in 1.2.0. See [#160](https://github.com/rollbar/rollbar-gem/pull/160)
5
+ - Fix bug where rollbar_url incorrectly handled comma-separated X-Forwarded-Proto header values. See [#112](https://github.com/rollbar/rollbar-gem/issues/112)
6
+
3
7
  **1.2.6**
4
8
  - Fix bug in non-Rails environments. See [#155](https://github.com/rollbar/rollbar-gem/pull/155)
5
9
  - Fix intermittent test failures
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v1.2.6)](https://travis-ci.org/rollbar/rollbar-gem/branches)
1
+ # Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v1.2.7)](https://travis-ci.org/rollbar/rollbar-gem/branches)
2
2
 
3
3
  <!-- RemoveNext -->
4
4
  Ruby gem for reporting exceptions, errors, and log messages to [Rollbar](https://rollbar.com).
@@ -9,7 +9,7 @@ Ruby gem for reporting exceptions, errors, and log messages to [Rollbar](https:/
9
9
 
10
10
  Add this line to your application's Gemfile:
11
11
 
12
- gem 'rollbar', '~> 1.2.6'
12
+ gem 'rollbar', '~> 1.2.7'
13
13
 
14
14
  And then execute:
15
15
 
@@ -57,7 +57,7 @@ Be sure to initialize Rollbar with your access token somewhere during startup:
57
57
 
58
58
  ```ruby
59
59
  Rollbar.configure do |config|
60
- config.access_token = POST_SERVER_ITEM_ACCESS_TOKEN
60
+ config.access_token = 'POST_SERVER_ITEM_ACCESS_TOKEN'
61
61
  # other configuration settings
62
62
  # ...
63
63
  end
data/THANKS.md CHANGED
@@ -4,6 +4,7 @@ Huge thanks to the following contributors (by github username). For the most up-
4
4
 
5
5
  - [alexdunae](https://github.com/alexdunae)
6
6
  - [allspiritseve](https://github.com/allspiritseve)
7
+ - [antico5](https://github.com/antico5)
7
8
  - [arr-ee](https://github.com/arr-ee)
8
9
  - [awmichel](https://github.com/awmichel)
9
10
  - [bradx3](https://github.com/bradx3)
@@ -128,6 +128,9 @@ module Rollbar
128
128
 
129
129
  return 'ignored' if ignored?(exception)
130
130
 
131
+ exception_level = filtered_level(exception)
132
+ level = exception_level if exception_level
133
+
131
134
  begin
132
135
  report(level, message, exception, extra)
133
136
  rescue Exception => e
@@ -191,6 +194,8 @@ module Rollbar
191
194
  end
192
195
 
193
196
  def filtered_level(exception)
197
+ return unless exception
198
+
194
199
  filter = configuration.exception_level_filters[exception.class.name]
195
200
  if filter.respond_to?(:call)
196
201
  filter.call(exception)
@@ -78,7 +78,8 @@ module Rollbar
78
78
  end
79
79
 
80
80
  def rollbar_url(env)
81
- scheme = env['HTTP_X_FORWARDED_PROTO'] || env['rack.url_scheme']
81
+ forwarded_proto = env['HTTP_X_FORWARDED_PROTO'] || env['rack.url_scheme'] || ''
82
+ scheme = forwarded_proto.split(',').first
82
83
 
83
84
  host = env['HTTP_X_FORWARDED_HOST'] || env['HTTP_HOST'] || env['SERVER_NAME']
84
85
  path = env['ORIGINAL_FULLPATH'] || env['REQUEST_URI']
@@ -1,3 +1,3 @@
1
1
  module Rollbar
2
- VERSION = "1.2.6"
2
+ VERSION = "1.2.7"
3
3
  end
@@ -85,4 +85,45 @@ describe Rollbar::Middleware::Rack::Builder, :reconfigure_notifier => true do
85
85
  expect(reported_params['body.value']).to be_eql(1000)
86
86
  end
87
87
  end
88
+
89
+ context 'with multiple HTTP_X_FORWARDED_PROTO values' do
90
+ let(:headers) do
91
+ { 'HTTP_X_FORWARDED_PROTO' => 'https,http' }
92
+ end
93
+
94
+ it 'uses the first scheme to generate the url' do
95
+ expect do
96
+ request.post('/will_crash', headers)
97
+ end.to raise_error(exception)
98
+
99
+ last_report = Rollbar.last_report
100
+ expect(last_report[:request][:url]).to match(/https:/)
101
+ end
102
+ end
103
+
104
+ context 'without HTTP_X_FORWARDED_PROTO' do
105
+ it 'uses the the url_scheme set by Rack' do
106
+ expect do
107
+ request.post('/will_crash')
108
+ end.to raise_error(exception)
109
+
110
+ last_report = Rollbar.last_report
111
+ expect(last_report[:request][:url]).to match(/http:/)
112
+ end
113
+ end
114
+
115
+ context 'with single HTTP_X_FORWARDED_PROTO value' do
116
+ let(:headers) do
117
+ { 'HTTP_X_FORWARDED_PROTO' => 'https' }
118
+ end
119
+
120
+ it 'uses the scheme received in X-Forwarded-Proto header' do
121
+ expect do
122
+ request.post('/will_crash', headers)
123
+ end.to raise_error(exception)
124
+
125
+ last_report = Rollbar.last_report
126
+ expect(last_report[:request][:url]).to match(/https:/)
127
+ end
128
+ end
88
129
  end
@@ -725,6 +725,15 @@ describe Rollbar do
725
725
  Rollbar.error(exception)
726
726
  end
727
727
 
728
+ it 'sends the correct filtered level' do
729
+ Rollbar.configure do |config|
730
+ config.exception_level_filters = { 'NameError' => 'warning' }
731
+ end
732
+
733
+ Rollbar.error(exception)
734
+ expect(Rollbar.last_report[:level]).to be_eql('warning')
735
+ end
736
+
728
737
  it "should work with an IO object as rack.errors" do
729
738
  logger_mock.should_receive(:info).with('[Rollbar] Success')
730
739
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollbar, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-28 00:00:00.000000000 Z
11
+ date: 2014-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json