bugsnag-maglev- 2.8.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +52 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +15 -0
  6. data/CHANGELOG.md +425 -0
  7. data/CONTRIBUTING.md +43 -0
  8. data/Gemfile +2 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +804 -0
  11. data/Rakefile +29 -0
  12. data/VERSION +1 -0
  13. data/bugsnag.gemspec +32 -0
  14. data/lib/bugsnag.rb +129 -0
  15. data/lib/bugsnag/capistrano.rb +7 -0
  16. data/lib/bugsnag/capistrano2.rb +32 -0
  17. data/lib/bugsnag/configuration.rb +129 -0
  18. data/lib/bugsnag/delay/resque.rb +21 -0
  19. data/lib/bugsnag/delayed_job.rb +57 -0
  20. data/lib/bugsnag/delivery.rb +18 -0
  21. data/lib/bugsnag/delivery/synchronous.rb +51 -0
  22. data/lib/bugsnag/delivery/thread_queue.rb +53 -0
  23. data/lib/bugsnag/deploy.rb +35 -0
  24. data/lib/bugsnag/helpers.rb +127 -0
  25. data/lib/bugsnag/mailman.rb +28 -0
  26. data/lib/bugsnag/meta_data.rb +7 -0
  27. data/lib/bugsnag/middleware/callbacks.rb +19 -0
  28. data/lib/bugsnag/middleware/mailman.rb +13 -0
  29. data/lib/bugsnag/middleware/rack_request.rb +72 -0
  30. data/lib/bugsnag/middleware/rails2_request.rb +52 -0
  31. data/lib/bugsnag/middleware/rails3_request.rb +42 -0
  32. data/lib/bugsnag/middleware/rake.rb +23 -0
  33. data/lib/bugsnag/middleware/sidekiq.rb +13 -0
  34. data/lib/bugsnag/middleware/warden_user.rb +39 -0
  35. data/lib/bugsnag/middleware_stack.rb +98 -0
  36. data/lib/bugsnag/notification.rb +452 -0
  37. data/lib/bugsnag/rack.rb +53 -0
  38. data/lib/bugsnag/rails.rb +66 -0
  39. data/lib/bugsnag/rails/action_controller_rescue.rb +62 -0
  40. data/lib/bugsnag/rails/active_record_rescue.rb +20 -0
  41. data/lib/bugsnag/rails/controller_methods.rb +44 -0
  42. data/lib/bugsnag/railtie.rb +78 -0
  43. data/lib/bugsnag/rake.rb +25 -0
  44. data/lib/bugsnag/resque.rb +40 -0
  45. data/lib/bugsnag/sidekiq.rb +38 -0
  46. data/lib/bugsnag/tasks.rb +3 -0
  47. data/lib/bugsnag/tasks/bugsnag.cap +48 -0
  48. data/lib/bugsnag/tasks/bugsnag.rake +89 -0
  49. data/lib/bugsnag/version.rb +3 -0
  50. data/lib/generators/bugsnag/bugsnag_generator.rb +24 -0
  51. data/rails/init.rb +3 -0
  52. data/spec/code_spec.rb +86 -0
  53. data/spec/fixtures/crashes/end_of_file.rb +9 -0
  54. data/spec/fixtures/crashes/short_file.rb +1 -0
  55. data/spec/fixtures/crashes/start_of_file.rb +9 -0
  56. data/spec/fixtures/middleware/internal_info_setter.rb +11 -0
  57. data/spec/fixtures/middleware/public_info_setter.rb +11 -0
  58. data/spec/fixtures/tasks/Rakefile +15 -0
  59. data/spec/helper_spec.rb +144 -0
  60. data/spec/integration_spec.rb +110 -0
  61. data/spec/middleware_spec.rb +181 -0
  62. data/spec/notification_spec.rb +822 -0
  63. data/spec/rack_spec.rb +56 -0
  64. data/spec/spec_helper.rb +53 -0
  65. metadata +198 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bbb520de3de939df04ed745ae9ea728dc3f83584
4
+ data.tar.gz: 75593e5b6a085a7aca6007c44d980c63adfafda3
5
+ SHA512:
6
+ metadata.gz: 51032362d454860809e51a5fb762ddcfe4a4ff50508d407a3fe0dfe9276dfc24c5178f0946e5171114e335b64cd16b02c9adc679b0a214efb260f0bfab404bb1
7
+ data.tar.gz: 84ac684c513bd89ff9ba8923f39423d5d550ebf6884fb6ebc650fb7b2ede0e05aab42e917e3e7b7e7124f8ea94002bb52992ce24a1adf82e9bd7ddc16a964b11
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
@@ -0,0 +1,52 @@
1
+ # rcov generated
2
+ coverage
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+ Gemfile.lock
14
+
15
+ # jeweler generated
16
+ pkg
17
+ *.gem
18
+
19
+ vendor
20
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
21
+ #
22
+ # * Create a file at ~/.gitignore
23
+ # * Include files you want ignored
24
+ # * Run: git config --global core.excludesfile ~/.gitignore
25
+ #
26
+ # After doing this, these files will be ignored in all your git projects,
27
+ # saving you from having to 'pollute' every project you touch with them
28
+ #
29
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
30
+ #
31
+ # For MacOS:
32
+ #
33
+ #.DS_Store
34
+
35
+ # For TextMate
36
+ #*.tmproj
37
+ #tmtags
38
+
39
+ # For emacs:
40
+ #*~
41
+ #\#*
42
+ #.\#*
43
+
44
+ # For vim:
45
+ #*.swp
46
+
47
+ # For redcar:
48
+ #.redcar
49
+
50
+ # For rubinius:
51
+ #*.rbc
52
+ bin
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --backtrace
2
+ --color
3
+ --format doc
@@ -0,0 +1,15 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ - 2.0.0
5
+ - 1.9.3
6
+ - jruby-18mode
7
+ - jruby-19mode
8
+ - 1.8.7
9
+ before_install:
10
+ - gem update --system 2.1.11
11
+ - gem --version
12
+ notifications:
13
+ hipchat:
14
+ rooms:
15
+ secure: cv5V8ivZExOywKL9n0CODnxy9m5u4rQ5ZMYK8XHPIoqQKkvH9DQOeb2ItW2aM2kxeupJEcQEy1Eu4sYMGhyzKUNdqbFtQBhDYxRwSAgTRIkGlHQCnznyExHWZbGfDB8y/m11HiZ1wuPuqs8ZZ+VccNb4bwJKbhPTbf1RZ+GPeU8=
@@ -0,0 +1,425 @@
1
+ Changelog
2
+ =========
3
+
4
+ 2.8.12
5
+ ------
6
+
7
+ - Ensure timeout is set when configured
8
+ - Allow on premise installations to easily send deploy notifications
9
+
10
+ 2.8.11
11
+ ------
12
+
13
+ - Better handle errors in ActiveRecord transactions (thanks @arthurnn!)
14
+
15
+ 2.8.10
16
+ ------
17
+
18
+ - Remove multi_json from deploy
19
+
20
+ 2.8.9
21
+ -----
22
+
23
+ - Remove dependency on `multi_json`, fall back to the `json` gem for Ruby < 1.9
24
+
25
+ 2.8.8
26
+ -----
27
+
28
+ - Pull IP address from action_dispatch.remote_ip if available
29
+
30
+ 2.8.7
31
+ -----
32
+
33
+ - Fix for old rails 3.2 not having runner defined in the railtie
34
+ - Support for rails API
35
+ - Added support for ca_file for dealing with SSL issues
36
+ - Threadsafe ignore_classes
37
+ - Add app type
38
+ - Dont send cookies in their own tab
39
+
40
+ 2.8.6
41
+ -----
42
+
43
+ - Don't report SystemExit from `rails runner`
44
+ - Fix for stacktrace including custom bugsnag middleware
45
+ - Fix reporting of errors in rails-defined rake tasks
46
+
47
+ 2.8.5
48
+ -----
49
+
50
+ - Fix performance problems in cleanup_obj
51
+
52
+
53
+ 2.8.4
54
+ -----
55
+
56
+ - Automatically catch errors in `rails runner`
57
+ - Accept meta_data from any exception that deines `bugsnag_meta_data`
58
+
59
+ 2.8.3
60
+ -----
61
+
62
+ - Delay forking the delivery thread
63
+
64
+ 2.8.2
65
+ -----
66
+ - Fix various threading issues during library initialization
67
+
68
+ 2.8.1
69
+ -----
70
+ - Exclude cookies and authorization headers by default
71
+ - Include rails exclusion list at the right time
72
+
73
+ 2.8.0
74
+ -----
75
+ - Make meta_data available to before_notify hooks
76
+ - Fix bug with rails param filters
77
+ - Fix encoding error in exception message
78
+
79
+ 2.7.1
80
+ -----
81
+ - Add rake task to create a Heroku deploy hook
82
+
83
+ 2.7.0
84
+ -----
85
+ - Fix configuration of http timeouts
86
+ - Fix configuration of http proxies
87
+ - Remove dependency on httparty
88
+ - Allow for symbols in rack env
89
+
90
+ 2.6.1
91
+ -----
92
+ - Fix Ruby 1.8 payload delivery bug (thanks @colin!)
93
+
94
+ 2.6.0
95
+ -----
96
+ - Collect and send snippets of source code to Bugsnag
97
+ - Fix resque integration
98
+ - Allow configuration of delivery method (from the default `:thread_queue` to `:synchronous`)
99
+ - Fix parameter filtering in rails 2
100
+ - Allow pathname in project root
101
+
102
+ 2.5.1
103
+ -----
104
+ - Collect and send HTTP headers to bugsnag to help debugging
105
+
106
+ 2.5.0
107
+ -----
108
+ - Allow access to the metadata object in before bugsnag notify callbacks
109
+ - Dont send the rack env by default
110
+
111
+ 2.4.1
112
+ ------
113
+
114
+ - Ensure filtering behaviour matches rails' for symbol filters
115
+ - Fix Rails 4 sessions appearing in Custom tab instead of its own ([144](https://github.com/bugsnag/bugsnag-ruby/issues/144))
116
+
117
+ 2.4.0
118
+ -----
119
+ - Allow filters to be regular expressions (thanks @tamird)
120
+ - Ensure filtering behavior matches rails' when importing filters from
121
+ `Rails.configuration.filter_parameters`
122
+
123
+ 2.3.0
124
+ -----
125
+ - Use ssl by default (Thanks @dkubb)
126
+
127
+ 2.2.2
128
+ -----
129
+ - Add additional ignored classes
130
+ - Check all chained exceptions on an error for ignored classes
131
+
132
+ 2.2.1
133
+ -----
134
+ - Fix occasional crash when reading rack params.
135
+ - Don't strip files with bugsnag in the name.
136
+
137
+ 2.2.0
138
+ -----
139
+ - Move Bugsnag notifications onto a background thread.
140
+
141
+ 2.1.0
142
+ -----
143
+ - Add job detail support to delayed_job integration (thanks dtaniwaki!)
144
+
145
+ 2.0.3
146
+ -----
147
+ - Load the env in the deploy rake task if there is no api key set
148
+
149
+ 2.0.2
150
+ -----
151
+ - Fix encoding issue when ensuring utf8 string is valid
152
+
153
+ 2.0.1
154
+ -----
155
+ - Fix capistrano v3 after 2.0.0
156
+
157
+ 2.0.0
158
+ -----
159
+ - BREAKING: capistrano integration requires explicit configuration to avoid loading rails env (15x faster to notify)
160
+ - Sidekiq 3 support
161
+ - java.lang.Throwable support for jruby
162
+ - Show non-serializable objects as '[Object]' instead of 'null'.
163
+ - Fix delayed job 2.x
164
+ - Fix rake support
165
+ - Fix missing notifications caused by invalid utf8
166
+
167
+ 1.8.8
168
+ -----
169
+ - Prepare 'severity' feature for release
170
+
171
+ 1.8.7
172
+ -----
173
+ - Fix capistrano when `rake` is not set. #87
174
+ - Fix capistrano when `Rails` is not loaded. #85
175
+ - Various cleanup
176
+
177
+ 1.8.6
178
+ -----
179
+ - Proxy support in the bugsnag deploy notification rake task
180
+
181
+ 1.8.5
182
+ -----
183
+ - Capistrano3 support (for real)
184
+ - delayed_job support
185
+
186
+ 1.8.4
187
+ -----
188
+ - Support for per-notification api keys
189
+
190
+ 1.8.3
191
+ -----
192
+ - Capistrano3 support
193
+ - Allow `set :bugsnag_api_key, foo` in capistrano
194
+
195
+ 1.8.2
196
+ -----
197
+ - Notify all exceptions in mailman and sidekiq
198
+
199
+ 1.8.1
200
+ -----
201
+ - Fix Rails2 middleware issue that stopped automatic metadata collection
202
+
203
+ 1.8.0
204
+ -----
205
+ - Move away from Jeweler
206
+ - Support for Exception#cause in ruby 2.1.0
207
+
208
+ 1.7.0
209
+ -----
210
+ - Allow users to configure app type
211
+ - Send severity of error to bugsnag
212
+ - Allo users to configure users in a structured way for search etc.
213
+
214
+ 1.6.5
215
+ -----
216
+ - Send hostname to Bugsnag
217
+
218
+ 1.6.4
219
+ -----
220
+ - Fix load order issue with Resque
221
+
222
+ 1.6.3
223
+ -----
224
+ - Deal with SSL properly for deploy notifications on ruby <2.0
225
+
226
+ 1.6.2
227
+ -----
228
+ - Notify about exceptions that occur in ActiveRecord `commit` and `rollback`
229
+ callbacks (these are usually swallowed silently by rails)
230
+
231
+ 1.6.1
232
+ -----
233
+ - Ensure sidekiq, mailman and rake hooks respect the `ignore_classes` setting
234
+ - Persist sidekiq and mailman meta-data through each job, so it can show up
235
+ in manual Bugsnag.notify calls
236
+
237
+ 1.6.0
238
+ -----
239
+ - Add support for catching crashes in [mailman](https://github.com/titanous/mailman) apps
240
+ - Automatically enable Bugsnag's resque failure backend
241
+ - Add automatic rake integration for rails apps
242
+
243
+ 1.5.3
244
+ -----
245
+ - Deal with self-referential meta data correctly.
246
+ - Dont load the environment when performing a deploy with capistrano.
247
+
248
+ 1.5.2
249
+ -----
250
+ - Dont send rack.request.form_vars as it is a copy of form_hash and it may contain sensitive params.
251
+
252
+ 1.5.1
253
+ -----
254
+ - Fix rake block arguments for tasks that need them.
255
+
256
+ 1.5.0
257
+ -----
258
+ - Add proxy support for http requests to Bugsnag.
259
+ - Read the API key from the environment for Heroku users
260
+
261
+ 1.4.2
262
+ -----
263
+ - Add HTTP Referer to the request tab on rack apps
264
+
265
+ 1.4.0
266
+ -----
267
+ - Add ignore_user_agents to ignore certain user agents
268
+ - Change bugsnag middleware order to have Callbacks last
269
+ - Allow nil values to be sent to bugsnag
270
+
271
+ 1.3.8
272
+ -----
273
+ - Add truncated only when a field has been truncated
274
+
275
+ 1.3.7
276
+ -----
277
+ - Fix warden bug where user id is an array of ids
278
+ - Filter get params from URLs as well as meta_data
279
+
280
+ 1.3.6
281
+ -----
282
+ - Filter out meta-data keys containing the word 'secret' by default
283
+
284
+ 1.3.5
285
+ -----
286
+ - Fixed bug in rake integration with ruby 1.9 hash syntax
287
+
288
+ 1.3.4
289
+ -----
290
+ - Fix nil bug in windows backtraces
291
+
292
+ 1.3.3
293
+ -----
294
+ - Support windows-style paths in backtraces
295
+ - Fix bug with `before_bugsnag_notify` in Rails 2
296
+
297
+ 1.3.2
298
+ -----
299
+ - Notify will now build exceptions if a non-exception is passed in.
300
+
301
+ 1.3.1
302
+ -----
303
+ - Add support for Bugsnag rake integration
304
+
305
+ 1.3.0
306
+ ------
307
+ - By default we notify in all release stages now
308
+ - Return the notification in notify_or_ignore
309
+
310
+ 1.2.18
311
+ ------
312
+ - Add support for bugsnag meta data in exceptions.
313
+
314
+ 1.2.17
315
+ ------
316
+ - Clear the before bugsnag notify callbacks on sidekiq when a job is complete
317
+
318
+ 1.2.16
319
+ ------
320
+ - Allow lambda functions in config.ignore_classes
321
+
322
+ 1.2.15
323
+ ------
324
+ - Add stacktrace to internal bugsnag logging output
325
+ - Protect against metadata not being a hash when truncation takes place
326
+
327
+ 1.2.14
328
+ ------
329
+ - Add debug method, configuration option to help debug issues
330
+ - Better protection against bad unicode strings in metadata
331
+
332
+ 1.2.13
333
+ ------
334
+ - Protect against invalid unicode strings in metadata
335
+
336
+ 1.2.12
337
+ ------
338
+ - Fixed minor HTTParty dependency issue
339
+
340
+ 1.2.11
341
+ ------
342
+ - Send rails version with exceptions
343
+ - Protect against nil params object when errors happen in rack
344
+
345
+ 1.2.10
346
+ ------
347
+ - Added Rack HTTP method (GET, POST, etc) to request tab
348
+
349
+ 1.2.9
350
+ -----
351
+ - Fixed an issue with Warden userIds not being reported properly.
352
+
353
+ 1.2.8
354
+ -----
355
+ - Added `disable` method to Bugsnag middleware, allows you to force-disable
356
+ built-in Bugsnag middleware.
357
+
358
+ 1.2.7
359
+ -----
360
+ - Protect against rare exception-unwrapping infinite loop
361
+ (only in some exceptions using the `original_exception` pattern)
362
+
363
+ 1.2.6
364
+ -----
365
+ - Fix for rails 2 request data extraction
366
+ - Deploy environment customization support (thanks coop)
367
+ - Ensure Bugsnag rails 3 middleware runs before initializers
368
+
369
+ 1.2.5
370
+ -----
371
+ - Show a warning if no release_stage is set when delivering exceptions
372
+ - Require resque plugin in a safer way
373
+
374
+ 1.2.4
375
+ -----
376
+ - Automatically set the release_stage in a safer way on rack/rails
377
+
378
+ 1.2.3
379
+ -----
380
+ - Re-add support for sending bugsnag notifications via resque
381
+
382
+ 1.2.2
383
+ -----
384
+ - Add rspec tests for rack middleware
385
+
386
+ 1.2.1
387
+ -----
388
+ - Fix a bug where before/after hooks were not being fired
389
+
390
+ 1.2.0
391
+ -----
392
+ - Added Bugsnag Middleware and callback, easier ways to add custom data to
393
+ your exceptions
394
+ - Added automatic Sidekiq integration
395
+ - Added automatic Devise integration
396
+ - Comprehensive rspec tests
397
+
398
+ 1.1.5
399
+ -----
400
+ - Fix minor internal version number parsing bug
401
+
402
+ 1.1.4
403
+ -----
404
+ - Move Bugsnag rack middleware later in the middleware stack, fixes
405
+ issue where development exception may not have been delivered
406
+
407
+ 1.1.3
408
+ -----
409
+ - Fix multi_json conflict with rails 3.1
410
+ - Make bugsnag_request_data public for easier EventMachine integration
411
+ (thanks fblee)
412
+
413
+ 1.1.2
414
+ -----
415
+ - Fix multi_json gem dependency conflicts
416
+
417
+ 1.1.1
418
+ -----
419
+ - Capistrano deploy tracking support
420
+ - More reliable project_root detection for non-rails rack apps
421
+ - Support for sending test exceptions from rake (`rake bugsnag:test_exception`)
422
+
423
+ 1.1.0
424
+ -----
425
+ - First public release