rollbar 3.3.1 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -35
- data/README.md +1 -1
- data/data/rollbar.snippet.js +1 -1
- data/lib/rollbar/request_data_extractor.rb +10 -3
- data/lib/rollbar/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 96ef666aefbc42a6c9ca188bc402eeaf6ebded4e5cddf43331596f9fe9f46cfa
|
|
4
|
+
data.tar.gz: c5d63af42130d86639793bae8d39ba20b82d85aa6dfec3afd5d5bdc6eddab669
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '09ccb737d948861e53bd9a59ddbde6c83362495fa1ef635d14a43ba2d2cab3c48279df9fb15a4118c843e4699f93d75820e3535ec52a770b7324b575ad2b28d2'
|
|
7
|
+
data.tar.gz: 6d1b06208d8daec4361fb4c895be6934a73e0fb33bd7ff7996d6353d27395e20513e0a0929d7d1bb5ee39dccf15430a12d988d4abb5ee0438a62ba06dcbf4c91
|
data/.rubocop.yml
CHANGED
|
@@ -19,36 +19,22 @@ Layout/HeredocIndentation:
|
|
|
19
19
|
Layout/LineLength:
|
|
20
20
|
Max: 90
|
|
21
21
|
|
|
22
|
-
Lint/ConstantDefinitionInBlock:
|
|
23
|
-
# We routinely update existing class definitions in conditional blocks.
|
|
24
|
-
Enabled: false
|
|
25
|
-
|
|
26
22
|
Lint/SendWithMixinArgument:
|
|
27
23
|
# Object#include is still a private method in Ruby 2.0.
|
|
28
24
|
Enabled: false
|
|
29
25
|
|
|
30
26
|
Metrics/BlockLength:
|
|
31
|
-
# RSpec DSL is expected to have long blocks.
|
|
32
|
-
IgnoredMethods: ['describe', 'context', 'it', 'shared_examples']
|
|
27
|
+
ExcludedMethods: ['describe', 'context'] # RSpec DSL is expected to have long blocks.
|
|
33
28
|
|
|
34
29
|
Metrics/MethodLength:
|
|
35
30
|
Max: 15 # Relax slightly from the default of 10
|
|
36
31
|
|
|
37
|
-
Metrics/ParameterLists:
|
|
38
|
-
# We currently don't have limits on the number of method arguments, except as
|
|
39
|
-
# they contribute to the complexity metric. If method complexity is in bounds,
|
|
40
|
-
# we allow any number of arguments.
|
|
41
|
-
Enabled: false
|
|
42
|
-
|
|
43
32
|
Naming/MethodParameterName:
|
|
44
33
|
# It's possible to configure this cop to allow just about anything, but what's the point.
|
|
45
34
|
# The default min length of a param name is 3, but the the default whitelist includes things
|
|
46
35
|
# like `db` and `io`. So, short names really can be useful.
|
|
47
36
|
Enabled: false
|
|
48
37
|
|
|
49
|
-
Style/BracesAroundHashParameters:
|
|
50
|
-
EnforcedStyle: braces
|
|
51
|
-
|
|
52
38
|
Style/CaseEquality:
|
|
53
39
|
# The code uses `===` a lot to compare a regex to a string, but it's not clear that
|
|
54
40
|
# switching to `=~` is always safe, because in some cases the value could be a regex
|
|
@@ -83,29 +69,9 @@ Style/HashSyntax:
|
|
|
83
69
|
SupportedStyles:
|
|
84
70
|
- hash_rockets
|
|
85
71
|
|
|
86
|
-
Style/HashTransformKeys:
|
|
87
|
-
# Hash#transform_keys isn't available until Ruby 2.5
|
|
88
|
-
Enabled: false
|
|
89
|
-
|
|
90
72
|
Style/Lambda:
|
|
91
73
|
Enabled: false
|
|
92
74
|
|
|
93
|
-
Style/NumericPredicate:
|
|
94
|
-
# Numbers used in comparison expressions are often more readable and consistent
|
|
95
|
-
# than using predicate methods. e.g.
|
|
96
|
-
# major > 0 && minor > 8
|
|
97
|
-
# is more readable than
|
|
98
|
-
# major.positive? && minor > 8
|
|
99
|
-
Enabled: false
|
|
100
|
-
|
|
101
|
-
Style/OptionalBooleanParameter:
|
|
102
|
-
# We don't yet generally use keyword arguments. Ruby < 2.1 doesn't support
|
|
103
|
-
# required kayword arguments. And satifying this rule would change the calling
|
|
104
|
-
# convention only for these specific optional boolean arguments.
|
|
105
|
-
# This rule should be enabled when the project is updated to use keyword
|
|
106
|
-
# arguments in general.
|
|
107
|
-
Enabled: false
|
|
108
|
-
|
|
109
75
|
Style/PercentLiteralDelimiters:
|
|
110
76
|
PreferredDelimiters:
|
|
111
77
|
# rubocop switched from () to [] at some past version.
|
data/README.md
CHANGED
|
@@ -27,7 +27,7 @@ Version < 2.19.0 is compatible with Ruby >= 1.8.7.
|
|
|
27
27
|
|
|
28
28
|
### Ruby 2.6.0
|
|
29
29
|
|
|
30
|
-
> WARNING: Ruby 2.6.0 introduced a new bug
|
|
30
|
+
> WARNING: Ruby 2.6.0 introduced a new bug ([#15472 -
|
|
31
31
|
Invalid JSON data being sent from Net::HTTP in some cases with Ruby 2.6.0](https://bugs.ruby-lang.org/issues/15472)) that may result in the Rollbar API returning an error when an exception is reported. (See [rollbar-gem issue #797](https://github.com/rollbar/rollbar-gem/issues/797)).
|
|
32
32
|
|
|
33
33
|
> UPDATE: This bug is fixed in Ruby 2.6.1, and rollbar-gem has a safe workaround in version >= 2.19.0.
|
data/data/rollbar.snippet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.
|
|
1
|
+
!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.25.0/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||"object"==typeof a&&a.network)&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);
|
|
@@ -214,7 +214,7 @@ module Rollbar
|
|
|
214
214
|
return {} unless correct_method
|
|
215
215
|
return {} unless json_request?(rack_req)
|
|
216
216
|
|
|
217
|
-
raw_body = rack_req.body
|
|
217
|
+
raw_body = read_raw_body(rack_req.body)
|
|
218
218
|
begin
|
|
219
219
|
Rollbar::JSON.load(raw_body)
|
|
220
220
|
rescue StandardError
|
|
@@ -222,8 +222,15 @@ module Rollbar
|
|
|
222
222
|
end
|
|
223
223
|
rescue StandardError
|
|
224
224
|
{}
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
def read_raw_body(body)
|
|
228
|
+
return {} unless body.respond_to?(:rewind)
|
|
229
|
+
|
|
230
|
+
body.rewind
|
|
231
|
+
raw_body = body.read
|
|
232
|
+
body.rewind
|
|
233
|
+
raw_body
|
|
227
234
|
end
|
|
228
235
|
|
|
229
236
|
def json_request?(rack_req)
|
data/lib/rollbar/version.rb
CHANGED
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: 3.3.
|
|
4
|
+
version: 3.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rollbar, Inc.
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-10-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Easy and powerful exception tracking for Ruby
|
|
14
14
|
email:
|
|
@@ -147,7 +147,7 @@ metadata:
|
|
|
147
147
|
bug_tracker_uri: https://github.com/rollbar/rollbar-gem/issues
|
|
148
148
|
homepage_uri: https://rollbar.com/
|
|
149
149
|
documentation_uri: https://docs.rollbar.com/docs/ruby
|
|
150
|
-
post_install_message:
|
|
150
|
+
post_install_message:
|
|
151
151
|
rdoc_options: []
|
|
152
152
|
require_paths:
|
|
153
153
|
- lib
|
|
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
163
163
|
version: '0'
|
|
164
164
|
requirements: []
|
|
165
165
|
rubygems_version: 3.1.4
|
|
166
|
-
signing_key:
|
|
166
|
+
signing_key:
|
|
167
167
|
specification_version: 4
|
|
168
168
|
summary: Reports exceptions to Rollbar
|
|
169
169
|
test_files: []
|