Sha256: 7cf17809b87a58da650e575e8683562c609ca08c1631bec61c8b40959dcb32c3

Contents?: true

Size: 697 Bytes

Versions: 9

Compression:

Stored size: 697 Bytes

Contents

require 'httparty'

require 'connector_kit/exceptions'

module ConnectorKit
  # Simple HTTP client wrapper for HTTParty
  class HTTPClient
    include HTTParty

    def initialize(target_uri)
      self.class.base_uri(target_uri)
    end

    def get(url, response_mapper)
      response = self.class.get(url)

      raise make_api_error(response) unless response.code == 200

      response_mapper.map(response.parsed_response['data'])
    end

    private

    def make_api_error(response)
      # For the time being, the first error received is enough
      error = response.parsed_response['errors'].first
      APIError.new(error['title'], error['detail'], error['status'])
    end
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
appstore_kit_fork-0.0.5 lib/connector_kit/httpclient.rb
appstore_kit_fork-0.0.4 lib/connector_kit/httpclient.rb
appstore_kit_fork-0.0.3 lib/connector_kit/httpclient.rb
appstore_kit_fork-0.0.2 lib/connector_kit/httpclient.rb
appstore_kit_fork-0.0.1 lib/connector_kit/httpclient.rb
connector_kit_fork-0.3.2 lib/connector_kit/httpclient.rb
connector_kit_fork-0.3.1 lib/connector_kit/httpclient.rb
connector_kit-0.3.0 lib/connector_kit/httpclient.rb
connector_kit-0.2.0 lib/connector_kit/httpclient.rb