Sha256: e942652d18d65969266ed795a3662dbd1ceffa499a2c67d1dcba807a8e397dcc

Contents?: true

Size: 597 Bytes

Versions: 55

Compression:

Stored size: 597 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) or json.is_a?(Array)

        json
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 4 rubygems

Version Path
her-0.10.0 lib/her/middleware/parse_json.rb
test_track_rails_client-2.0.0 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-1.3.0 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-1.2.0 vendor/gems/her/lib/her/middleware/parse_json.rb
her-0.9.0 lib/her/middleware/parse_json.rb
test_track_rails_client-1.1.0 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-1.0.0 vendor/gems/her/lib/her/middleware/parse_json.rb
her-0.8.6 lib/her/middleware/parse_json.rb
her-0.8.5 lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.20 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.19 vendor/gems/her/lib/her/middleware/parse_json.rb
her-0.8.4 lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.18 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.17 vendor/gems/her/lib/her/middleware/parse_json.rb
her-0.8.3 lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.16 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.15 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.14 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.13 vendor/gems/her/lib/her/middleware/parse_json.rb
test_track_rails_client-0.9.12 vendor/gems/her/lib/her/middleware/parse_json.rb