Sha256: 7e0dad7931c66b4b1a4a8f0176478fe4c504963dc407368db291e47d72251c21
Contents?: true
Size: 861 Bytes
Versions: 1
Compression:
Stored size: 861 Bytes
Contents
module Raven class Processor::UTF8Conversion < Processor def process(value) case value when Array !value.frozen? ? value.map! { |v| process v } : value.map { |v| process v } when Hash !value.frozen? ? value.merge!(value) { |_, v| process v } : value.merge(value) { |_, v| process v } when Exception return value if value.message.valid_encoding? clean_exc = value.class.new(clean_invalid_utf8_bytes(value.message)) clean_exc.set_backtrace(value.backtrace) clean_exc when String return value if value.valid_encoding? clean_invalid_utf8_bytes(value) else value end end private def clean_invalid_utf8_bytes(obj) obj.encode('UTF-16', :invalid => :replace, :undef => :replace, :replace => '').encode('UTF-8') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sentry-raven-2.5.0 | lib/raven/processor/utf8conversion.rb |