Sha256: d994692768cbe090b97bb3801e433e4c7f279adb44b11d1b8ec1d4ffb4974c76

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

#
# This file is part of the pinterest-ruby gem. Copyright (C) 2017 and above Shogun <shogun@cowtech.it>.
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
#

# :nodoc:
module FaradayMiddleware
  # :nodoc:
  class SafeOj < ::FaradayMiddleware::ResponseMiddleware
    dependency "oj"

    define_parser do |body|
      body.strip.empty? ? nil : Oj.load(body, mode: :compat, symbol_keys: false)
    end

    # :nodoc:
    def process_response(env)
      super(env)
    rescue Faraday::Error::ParsingError => err
      raise(Faraday::Error::ParsingError.new(err.instance_variable_get(:@wrapped_exception), env))
    end
  end
end

Faraday::Response.register_middleware safe_oj: FaradayMiddleware::SafeOj

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pinterest-ruby-1.0.0 lib/pinterest/safe_oj.rb