Sha256: 11586a35f7dc3852ff5f3698c1ceecfa716941e8ba5d48987eac139ce74714ff

Contents?: true

Size: 598 Bytes

Versions: 39

Compression:

Stored size: 598 Bytes

Contents

module Her
  module Middleware
    class ParseJSON < Faraday::Response::Middleware

      # @private
      def parse_json(body = nil)
        body = '{}' if body.blank?
        message = "Response from the API must behave like a Hash or an Array (last JSON response was #{body.inspect})"

        json = begin
          MultiJson.load(body, :symbolize_keys => true)
        rescue MultiJson::LoadError
          raise Her::Errors::ParseError, message
        end

        raise Her::Errors::ParseError, message unless json.is_a?(Hash) || json.is_a?(Array)

        json
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
test_track_rails_client-4.0.0.alpha28 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha27 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha26 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha25 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha24 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha23 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha22 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha21 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha20 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha19 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha18 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha17 vendor/gems/her/lib/her/middleware/parse_json.rb
her-1.1.0 lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha16 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha15 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha14 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-4.0.0.alpha13 vendor/gems/her/lib/her/middleware/parse_json.rb
her-1.0.3 lib/her/middleware/parse_json.rb
her-1.0.2 lib/her/middleware/parse_json.rb