sentry-raven 2.1.3 → 3.1.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 +5 -5
- data/.craft.yml +19 -0
- data/.scripts/bump-version.rb +5 -0
- data/CHANGELOG.md +703 -0
- data/Gemfile +37 -0
- data/Makefile +3 -0
- data/README.md +116 -18
- data/Rakefile +30 -0
- data/exe/raven +32 -0
- data/lib/raven/backtrace.rb +16 -6
- data/lib/raven/base.rb +17 -4
- data/lib/raven/breadcrumbs/{activesupport.rb → active_support_logger.rb} +9 -3
- data/lib/raven/breadcrumbs/logger.rb +2 -92
- data/lib/raven/breadcrumbs/sentry_logger.rb +73 -0
- data/lib/raven/breadcrumbs.rb +3 -1
- data/lib/raven/cli.rb +31 -43
- data/lib/raven/client.rb +39 -17
- data/lib/raven/configuration.rb +277 -37
- data/lib/raven/context.rb +17 -11
- data/lib/raven/core_ext/object/deep_dup.rb +57 -0
- data/lib/raven/core_ext/object/duplicable.rb +153 -0
- data/lib/raven/event.rb +172 -233
- data/lib/raven/helpers/deprecation_helper.rb +17 -0
- data/lib/raven/instance.rb +51 -25
- data/lib/raven/integrations/delayed_job.rb +18 -18
- data/lib/raven/integrations/rack-timeout.rb +11 -5
- data/lib/raven/integrations/rack.rb +36 -19
- data/lib/raven/integrations/rails/active_job.rb +52 -20
- data/lib/raven/integrations/rails/backtrace_cleaner.rb +29 -0
- data/lib/raven/integrations/rails/controller_transaction.rb +13 -0
- data/lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb +2 -2
- data/lib/raven/integrations/rails.rb +24 -8
- data/lib/raven/integrations/rake.rb +6 -1
- data/lib/raven/integrations/sidekiq/cleanup_middleware.rb +13 -0
- data/lib/raven/integrations/sidekiq/error_handler.rb +38 -0
- data/lib/raven/integrations/sidekiq.rb +6 -57
- data/lib/raven/interface.rb +2 -2
- data/lib/raven/interfaces/exception.rb +0 -2
- data/lib/raven/interfaces/http.rb +0 -2
- data/lib/raven/interfaces/message.rb +1 -1
- data/lib/raven/interfaces/single_exception.rb +0 -2
- data/lib/raven/interfaces/stack_trace.rb +19 -27
- data/lib/raven/linecache.rb +34 -17
- data/lib/raven/logger.rb +11 -18
- data/lib/raven/processor/cookies.rb +27 -7
- data/lib/raven/processor/http_headers.rb +18 -5
- data/lib/raven/processor/post_data.rb +16 -3
- data/lib/raven/processor/removecircularreferences.rb +12 -8
- data/lib/raven/processor/removestacktrace.rb +17 -6
- data/lib/raven/processor/sanitizedata.rb +88 -29
- data/lib/raven/processor/utf8conversion.rb +39 -14
- data/lib/raven/processor.rb +1 -1
- data/lib/raven/transports/http.rb +29 -21
- data/lib/raven/transports/stdout.rb +20 -0
- data/lib/raven/transports.rb +4 -8
- data/lib/raven/utils/context_filter.rb +42 -0
- data/lib/raven/utils/deep_merge.rb +6 -12
- data/lib/raven/utils/exception_cause_chain.rb +20 -0
- data/lib/raven/utils/real_ip.rb +1 -1
- data/lib/raven/utils/request_id.rb +16 -0
- data/lib/raven/version.rb +2 -2
- data/lib/sentry-raven-without-integrations.rb +6 -1
- data/lib/sentry_raven_without_integrations.rb +1 -0
- data/sentry-raven.gemspec +28 -0
- metadata +37 -103
- data/lib/raven/error.rb +0 -4
@@ -1,28 +1,53 @@
|
|
1
1
|
module Raven
|
2
2
|
class Processor::UTF8Conversion < Processor
|
3
|
+
# Slightly misnamed - actually just removes any bytes with invalid encoding
|
4
|
+
# Previously, our JSON backend required UTF-8. Since we now use the built-in
|
5
|
+
# JSON, we can use any encoding, but it must be valid anyway so we can do
|
6
|
+
# things like call #match and #slice on strings
|
7
|
+
REPLACE = "".freeze
|
8
|
+
|
3
9
|
def process(value)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
+
case value
|
11
|
+
when Hash
|
12
|
+
!value.frozen? ? value.merge!(value) { |_, v| process v } : value.merge(value) { |_, v| process v }
|
13
|
+
when Array
|
14
|
+
!value.frozen? ? value.map! { |v| process v } : value.map { |v| process v }
|
15
|
+
when Exception
|
16
|
+
return value if value.message.valid_encoding?
|
17
|
+
|
18
|
+
clean_exc = value.class.new(remove_invalid_bytes(value.message))
|
10
19
|
clean_exc.set_backtrace(value.backtrace)
|
11
20
|
clean_exc
|
21
|
+
when String
|
22
|
+
# Encoding::BINARY / Encoding::ASCII_8BIT is a special binary encoding.
|
23
|
+
# valid_encoding? will always return true because it contains all codepoints,
|
24
|
+
# so instead we check if it only contains actual ASCII codepoints, and if
|
25
|
+
# not we assume it's actually just UTF8 and scrub accordingly.
|
26
|
+
if value.encoding == Encoding::BINARY && !value.ascii_only?
|
27
|
+
value = value.dup
|
28
|
+
value.force_encoding(Encoding::UTF_8)
|
29
|
+
end
|
30
|
+
return value if value.valid_encoding?
|
31
|
+
|
32
|
+
remove_invalid_bytes(value)
|
12
33
|
else
|
13
|
-
|
34
|
+
value
|
14
35
|
end
|
15
36
|
end
|
16
37
|
|
17
38
|
private
|
18
39
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
40
|
+
# Stolen from RSpec
|
41
|
+
# https://github.com/rspec/rspec-support/blob/f0af3fd74a94ff7bb700f6ba06dbdc67bba17fbf/lib/rspec/support/encoded_string.rb#L120-L139
|
42
|
+
if String.method_defined?(:scrub) # 2.1+
|
43
|
+
def remove_invalid_bytes(string)
|
44
|
+
string.scrub(REPLACE)
|
45
|
+
end
|
46
|
+
else
|
47
|
+
def remove_invalid_bytes(string)
|
48
|
+
string.chars.map do |char|
|
49
|
+
char.valid_encoding? ? char : REPLACE
|
50
|
+
end.join
|
26
51
|
end
|
27
52
|
end
|
28
53
|
end
|
data/lib/raven/processor.rb
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
|
3
|
-
require 'raven/transports'
|
4
|
-
require 'raven/error'
|
5
|
-
|
6
3
|
module Raven
|
7
4
|
module Transports
|
8
5
|
class HTTP < Transport
|
@@ -15,6 +12,11 @@ module Raven
|
|
15
12
|
end
|
16
13
|
|
17
14
|
def send_event(auth_header, data, options = {})
|
15
|
+
unless configuration.sending_allowed?
|
16
|
+
configuration.logger.debug("Event not sent: #{configuration.error_messages}")
|
17
|
+
return
|
18
|
+
end
|
19
|
+
|
18
20
|
project_id = configuration[:project_id]
|
19
21
|
path = configuration[:path] + "/"
|
20
22
|
|
@@ -23,36 +25,42 @@ module Raven
|
|
23
25
|
req.headers['X-Sentry-Auth'] = auth_header
|
24
26
|
req.body = data
|
25
27
|
end
|
26
|
-
rescue Faraday::
|
27
|
-
|
28
|
+
rescue Faraday::Error => e
|
29
|
+
error_info = e.message
|
30
|
+
if e.response && e.response[:headers]['x-sentry-error']
|
31
|
+
error_info += " Error in headers is: #{e.response[:headers]['x-sentry-error']}"
|
32
|
+
end
|
33
|
+
raise Raven::Error, error_info
|
28
34
|
end
|
29
35
|
|
30
36
|
private
|
31
37
|
|
32
38
|
def set_conn
|
33
|
-
|
34
|
-
|
35
|
-
Raven.logger.debug "Raven HTTP Transport connecting to #{configuration.server}"
|
39
|
+
configuration.logger.debug "Raven HTTP Transport connecting to #{configuration.server}"
|
36
40
|
|
37
|
-
|
38
|
-
ssl_configuration[:verify] = configuration.ssl_verification
|
39
|
-
ssl_configuration[:ca_file] = configuration.ssl_ca_file
|
41
|
+
proxy = configuration.public_send(:proxy)
|
40
42
|
|
41
|
-
|
42
|
-
|
43
|
-
:ssl => ssl_configuration
|
44
|
-
) do |builder|
|
43
|
+
Faraday.new(configuration.server, :ssl => ssl_configuration, :proxy => proxy) do |builder|
|
44
|
+
configuration.faraday_builder&.call(builder)
|
45
45
|
builder.response :raise_error
|
46
|
+
builder.options.merge! faraday_opts
|
47
|
+
builder.headers[:user_agent] = "sentry-ruby/#{Raven::VERSION}"
|
46
48
|
builder.adapter(*adapter)
|
47
49
|
end
|
50
|
+
end
|
48
51
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
52
|
+
# TODO: deprecate and replace where possible w/Faraday Builder
|
53
|
+
def faraday_opts
|
54
|
+
[:timeout, :open_timeout].each_with_object({}) do |opt, memo|
|
55
|
+
memo[opt] = configuration.public_send(opt) if configuration.public_send(opt)
|
56
|
+
end
|
57
|
+
end
|
54
58
|
|
55
|
-
|
59
|
+
def ssl_configuration
|
60
|
+
(configuration.ssl || {}).merge(
|
61
|
+
:verify => configuration.ssl_verification,
|
62
|
+
:ca_file => configuration.ssl_ca_file
|
63
|
+
)
|
56
64
|
end
|
57
65
|
end
|
58
66
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Raven
|
2
|
+
module Transports
|
3
|
+
class Stdout < Transport
|
4
|
+
attr_accessor :events
|
5
|
+
|
6
|
+
def initialize(*)
|
7
|
+
super
|
8
|
+
end
|
9
|
+
|
10
|
+
def send_event(_auth_header, data, _options = {})
|
11
|
+
unless configuration.sending_allowed?
|
12
|
+
logger.debug("Event not sent: #{configuration.error_messages}")
|
13
|
+
end
|
14
|
+
|
15
|
+
$stdout.puts data
|
16
|
+
$stdout.flush
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/raven/transports.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'raven/error'
|
2
|
-
|
3
1
|
module Raven
|
4
2
|
module Transports
|
5
3
|
class Transport
|
@@ -12,12 +10,10 @@ module Raven
|
|
12
10
|
def send_event # (auth_header, data, options = {})
|
13
11
|
raise NotImplementedError, 'Abstract method not implemented'
|
14
12
|
end
|
15
|
-
|
16
|
-
protected
|
17
|
-
|
18
|
-
def verify_configuration
|
19
|
-
configuration.verify!
|
20
|
-
end
|
21
13
|
end
|
22
14
|
end
|
23
15
|
end
|
16
|
+
|
17
|
+
require "raven/transports/dummy"
|
18
|
+
require "raven/transports/http"
|
19
|
+
require "raven/transports/stdout"
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Raven
|
2
|
+
module Utils
|
3
|
+
module ContextFilter
|
4
|
+
class << self
|
5
|
+
ACTIVEJOB_RESERVED_PREFIX_REGEX = /^_aj_/.freeze
|
6
|
+
HAS_GLOBALID = const_defined?('GlobalID')
|
7
|
+
|
8
|
+
# Once an ActiveJob is queued, ActiveRecord references get serialized into
|
9
|
+
# some internal reserved keys, such as _aj_globalid.
|
10
|
+
#
|
11
|
+
# The problem is, if this job in turn gets queued back into ActiveJob with
|
12
|
+
# these magic reserved keys, ActiveJob will throw up and error. We want to
|
13
|
+
# capture these and mutate the keys so we can sanely report it.
|
14
|
+
def filter_context(context)
|
15
|
+
case context
|
16
|
+
when Array
|
17
|
+
context.map { |arg| filter_context(arg) }
|
18
|
+
when Hash
|
19
|
+
Hash[context.map { |key, value| filter_context_hash(key, value) }]
|
20
|
+
else
|
21
|
+
format_globalid(context)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def filter_context_hash(key, value)
|
28
|
+
key = key.to_s.sub(ACTIVEJOB_RESERVED_PREFIX_REGEX, "") if key.match(ACTIVEJOB_RESERVED_PREFIX_REGEX)
|
29
|
+
[key, filter_context(value)]
|
30
|
+
end
|
31
|
+
|
32
|
+
def format_globalid(context)
|
33
|
+
if HAS_GLOBALID && context.is_a?(GlobalID)
|
34
|
+
context.to_s
|
35
|
+
else
|
36
|
+
context
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -7,21 +7,15 @@ module Raven
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.deep_merge!(hash, other_hash, &block)
|
10
|
-
other_hash
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
hash.merge!(other_hash) do |key, this_val, other_val|
|
11
|
+
if this_val.is_a?(Hash) && other_val.is_a?(Hash)
|
12
|
+
deep_merge(this_val, other_val, &block)
|
13
|
+
elsif block_given?
|
14
|
+
block.call(key, this_val, other_val)
|
15
15
|
else
|
16
|
-
|
17
|
-
block.call(current_key, this_value, other_value)
|
18
|
-
else
|
19
|
-
other_value
|
20
|
-
end
|
16
|
+
other_val
|
21
17
|
end
|
22
18
|
end
|
23
|
-
|
24
|
-
hash
|
25
19
|
end
|
26
20
|
end
|
27
21
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Raven
|
2
|
+
module Utils
|
3
|
+
module ExceptionCauseChain
|
4
|
+
def self.exception_to_array(exception)
|
5
|
+
if exception.respond_to?(:cause) && exception.cause
|
6
|
+
exceptions = [exception]
|
7
|
+
while exception.cause
|
8
|
+
exception = exception.cause
|
9
|
+
break if exceptions.any? { |e| e.object_id == exception.object_id }
|
10
|
+
|
11
|
+
exceptions << exception
|
12
|
+
end
|
13
|
+
exceptions
|
14
|
+
else
|
15
|
+
[exception]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/raven/utils/real_ip.rb
CHANGED
@@ -13,7 +13,7 @@ module Raven
|
|
13
13
|
"fc00::/7", # private IPv6 range fc00::/7
|
14
14
|
"10.0.0.0/8", # private IPv4 range 10.x.x.x
|
15
15
|
"172.16.0.0/12", # private IPv4 range 172.16.0.0 .. 172.31.255.255
|
16
|
-
"192.168.0.0/16"
|
16
|
+
"192.168.0.0/16" # private IPv4 range 192.168.x.x
|
17
17
|
].map { |proxy| IPAddr.new(proxy) }
|
18
18
|
|
19
19
|
attr_accessor :ip, :ip_addresses
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Raven
|
2
|
+
module Utils
|
3
|
+
module RequestId
|
4
|
+
REQUEST_ID_HEADERS = %w(action_dispatch.request_id HTTP_X_REQUEST_ID).freeze
|
5
|
+
|
6
|
+
# Request ID based on ActionDispatch::RequestId
|
7
|
+
def self.read_from(env_hash)
|
8
|
+
REQUEST_ID_HEADERS.each do |key|
|
9
|
+
request_id = env_hash[key]
|
10
|
+
return request_id if request_id
|
11
|
+
end
|
12
|
+
nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/raven/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
require 'raven/base'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
2
|
+
require 'raven/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = "sentry-raven"
|
6
|
+
gem.authors = ["Sentry Team"]
|
7
|
+
gem.description = gem.summary = "A gem that provides a client interface for the Sentry error logger"
|
8
|
+
gem.email = "accounts@sentry.io"
|
9
|
+
gem.license = 'Apache-2.0'
|
10
|
+
gem.homepage = "https://github.com/getsentry/raven-ruby"
|
11
|
+
|
12
|
+
gem.version = Raven::VERSION
|
13
|
+
gem.platform = Gem::Platform::RUBY
|
14
|
+
gem.required_ruby_version = '>= 2.3'
|
15
|
+
gem.extra_rdoc_files = ["README.md", "LICENSE"]
|
16
|
+
gem.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples)'`.split("\n")
|
17
|
+
gem.bindir = "exe"
|
18
|
+
gem.executables = "raven"
|
19
|
+
|
20
|
+
gem.add_dependency "faraday", ">= 1.0"
|
21
|
+
|
22
|
+
gem.post_install_message = <<~EOS
|
23
|
+
`sentry-raven` is deprecated! Please migrate to `sentry-ruby`
|
24
|
+
|
25
|
+
See https://docs.sentry.io/platforms/ruby/migration for the migration guide.
|
26
|
+
|
27
|
+
EOS
|
28
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentry-raven
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sentry Team
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,138 +16,63 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.10.x
|
19
|
+
version: '1.0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.10.x
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: rake
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0'
|
40
|
-
type: :development
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '0'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rubocop
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.41.1
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.41.1
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rspec
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0'
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: rspec-rails
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - ">="
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: timecop
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '0'
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: test-unit
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
type: :development
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '0'
|
26
|
+
version: '1.0'
|
117
27
|
description: A gem that provides a client interface for the Sentry error logger
|
118
|
-
email:
|
119
|
-
executables:
|
28
|
+
email: accounts@sentry.io
|
29
|
+
executables:
|
30
|
+
- raven
|
120
31
|
extensions: []
|
121
32
|
extra_rdoc_files:
|
122
33
|
- README.md
|
123
34
|
- LICENSE
|
124
35
|
files:
|
36
|
+
- ".craft.yml"
|
37
|
+
- ".scripts/bump-version.rb"
|
38
|
+
- CHANGELOG.md
|
39
|
+
- Gemfile
|
125
40
|
- LICENSE
|
41
|
+
- Makefile
|
126
42
|
- README.md
|
43
|
+
- Rakefile
|
44
|
+
- exe/raven
|
127
45
|
- lib/raven.rb
|
128
46
|
- lib/raven/backtrace.rb
|
129
47
|
- lib/raven/base.rb
|
130
48
|
- lib/raven/breadcrumbs.rb
|
131
|
-
- lib/raven/breadcrumbs/
|
49
|
+
- lib/raven/breadcrumbs/active_support_logger.rb
|
132
50
|
- lib/raven/breadcrumbs/logger.rb
|
51
|
+
- lib/raven/breadcrumbs/sentry_logger.rb
|
133
52
|
- lib/raven/cli.rb
|
134
53
|
- lib/raven/client.rb
|
135
54
|
- lib/raven/configuration.rb
|
136
55
|
- lib/raven/context.rb
|
137
|
-
- lib/raven/
|
56
|
+
- lib/raven/core_ext/object/deep_dup.rb
|
57
|
+
- lib/raven/core_ext/object/duplicable.rb
|
138
58
|
- lib/raven/event.rb
|
59
|
+
- lib/raven/helpers/deprecation_helper.rb
|
139
60
|
- lib/raven/instance.rb
|
140
61
|
- lib/raven/integrations/delayed_job.rb
|
141
62
|
- lib/raven/integrations/rack-timeout.rb
|
142
63
|
- lib/raven/integrations/rack.rb
|
143
64
|
- lib/raven/integrations/rails.rb
|
144
65
|
- lib/raven/integrations/rails/active_job.rb
|
66
|
+
- lib/raven/integrations/rails/backtrace_cleaner.rb
|
145
67
|
- lib/raven/integrations/rails/controller_methods.rb
|
68
|
+
- lib/raven/integrations/rails/controller_transaction.rb
|
146
69
|
- lib/raven/integrations/rails/overrides/debug_exceptions_catcher.rb
|
147
70
|
- lib/raven/integrations/rails/overrides/streaming_reporter.rb
|
148
71
|
- lib/raven/integrations/railties.rb
|
149
72
|
- lib/raven/integrations/rake.rb
|
150
73
|
- lib/raven/integrations/sidekiq.rb
|
74
|
+
- lib/raven/integrations/sidekiq/cleanup_middleware.rb
|
75
|
+
- lib/raven/integrations/sidekiq/error_handler.rb
|
151
76
|
- lib/raven/integrations/tasks.rb
|
152
77
|
- lib/raven/interface.rb
|
153
78
|
- lib/raven/interfaces/exception.rb
|
@@ -168,16 +93,26 @@ files:
|
|
168
93
|
- lib/raven/transports.rb
|
169
94
|
- lib/raven/transports/dummy.rb
|
170
95
|
- lib/raven/transports/http.rb
|
96
|
+
- lib/raven/transports/stdout.rb
|
97
|
+
- lib/raven/utils/context_filter.rb
|
171
98
|
- lib/raven/utils/deep_merge.rb
|
99
|
+
- lib/raven/utils/exception_cause_chain.rb
|
172
100
|
- lib/raven/utils/real_ip.rb
|
101
|
+
- lib/raven/utils/request_id.rb
|
173
102
|
- lib/raven/version.rb
|
174
103
|
- lib/sentry-raven-without-integrations.rb
|
175
104
|
- lib/sentry-raven.rb
|
105
|
+
- lib/sentry_raven_without_integrations.rb
|
106
|
+
- sentry-raven.gemspec
|
176
107
|
homepage: https://github.com/getsentry/raven-ruby
|
177
108
|
licenses:
|
178
109
|
- Apache-2.0
|
179
110
|
metadata: {}
|
180
|
-
post_install_message:
|
111
|
+
post_install_message: |+
|
112
|
+
`sentry-raven` is deprecated! Please migrate to `sentry-ruby`
|
113
|
+
|
114
|
+
See https://docs.sentry.io/platforms/ruby/migration for the migration guide.
|
115
|
+
|
181
116
|
rdoc_options: []
|
182
117
|
require_paths:
|
183
118
|
- lib
|
@@ -185,15 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
120
|
requirements:
|
186
121
|
- - ">="
|
187
122
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
123
|
+
version: '2.3'
|
189
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
125
|
requirements:
|
191
126
|
- - ">="
|
192
127
|
- !ruby/object:Gem::Version
|
193
128
|
version: '0'
|
194
129
|
requirements: []
|
195
|
-
|
196
|
-
rubygems_version: 2.6.8
|
130
|
+
rubygems_version: 3.0.3
|
197
131
|
signing_key:
|
198
132
|
specification_version: 4
|
199
133
|
summary: A gem that provides a client interface for the Sentry error logger
|
data/lib/raven/error.rb
DELETED