Sha256: 9266e0acd058f886ba73847e30c6811b4e8119d229e4e0c9b519c18092e65630

Contents?: true

Size: 725 Bytes

Versions: 24

Compression:

Stored size: 725 Bytes

Contents

# -*- coding: utf-8 -*-

module Gemirro
  ##
  # The Http class is responsible for executing GET request
  # to a specific url and return an response as an HTTP::Message
  #
  # @!attribute [r] client
  #  @return [HTTPClient]
  #
  class Http
    attr_accessor :client

    ##
    # Requests the given HTTP resource.
    #
    # @param [String] url
    # @return [HTTP::Message]
    #
    def self.get(url)
      response = client.get(url, follow_redirect: true)

      unless HTTP::Status.successful?(response.status)
        fail HTTPClient::BadResponseError, response.reason
      end

      response
    end

    ##
    # @return [HTTPClient]
    #
    def self.client
      @client ||= HTTPClient.new
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
gemirro-0.13.3 lib/gemirro/http.rb
gemirro-0.13.2 lib/gemirro/http.rb
gemirro-0.13.1 lib/gemirro/http.rb
gemirro-0.12.0 lib/gemirro/http.rb
gemirro-0.11.0 lib/gemirro/http.rb
gemirro-0.10.5 lib/gemirro/http.rb
gemirro-0.10.4 lib/gemirro/http.rb
gemirro-0.10.3 lib/gemirro/http.rb
gemirro-0.10.2 lib/gemirro/http.rb
gemirro-0.10.1 lib/gemirro/http.rb
gemirro-0.10.0 lib/gemirro/http.rb
gemirro-0.9.1 lib/gemirro/http.rb
gemirro-0.9.0 lib/gemirro/http.rb
gemirro-0.8.1 lib/gemirro/http.rb
gemirro-0.8.0 lib/gemirro/http.rb
gemirro-0.7.0 lib/gemirro/http.rb
gemirro-0.6.0 lib/gemirro/http.rb
gemirro-0.5.0 lib/gemirro/http.rb
gemirro-0.4.0 lib/gemirro/http.rb
gemirro-0.3.0 lib/gemirro/http.rb