Module: Ruuuby::Protocols::RequestHTTP

Defined in:
lib/ruuuby/protocol/http_request.rb

Overview

Class Method Summary collapse

Class Method Details

.execute(uri, params = {}) ⇒ Net::HTTPResponse

Parameters:

  • uri (String, URI)
  • params (Hash) (defaults to: {})

Returns:

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
72
# File 'lib/ruuuby/protocol/http_request.rb', line 64

def self.execute(uri, params={})
  the_uri  = self.parse_uri(uri, params)
  response = nil
  ::Net::HTTP.start(the_uri.host, the_uri.port) do |http|
    request  = Net::HTTP::Get.new(the_uri)
    response = http.request(request)
  end
  return response
end

.execute!(uri, params = {}) ⇒ Net::HTTPResponse

TODO: add full testing coverage

Parameters:

  • uri (String, URI)
  • params (Hash) (defaults to: {})

Returns:

Raises:

  • (ArgumentError, RuntimeError)


82
83
84
85
86
87
88
89
90
91
# File 'lib/ruuuby/protocol/http_request.rb', line 82

def self.execute!(uri, params={})
  the_uri  = self.parse_uri(uri, params)
  response = nil
  ::Net::HTTP.start(the_uri.host, the_uri.port) do |http|
    request  = Net::HTTP::Get.new(the_uri)
    response = http.request(request)
  end
  

.execute_timed!(uri) ⇒ Net::HTTPResponse

Parameters:

Returns:

Raises:

  • (ArgumentError, RuntimeError)


98
99
100
101
102
103
# File 'lib/ruuuby/protocol/http_request.rb', line 98

def self.execute_timed!(uri)
  time_start = ::Time.now
  response   = self.execute!(uri)
  time_delta = time_start - response.time_received
  return response, time_delta
end

.parse_uri(uri, params) ⇒ URI, URI::HTTP

Parameters:

Returns:

  • (URI, URI::HTTP)

Raises:

  • (ArgumentError)

See Also:



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/ruuuby/protocol/http_request.rb', line 115

def self.parse_uri(uri, params)
  if uri.str?
    uri = URI(uri)
  elsif uri.