Module: HTTPray

Defined in:
lib/httpray.rb,
lib/httpray/version.rb

Defined Under Namespace

Classes: Connection, Timeout

Constant Summary collapse

DEFAULT_HEADERS =
{
  "User-Agent" => "HTTPray #{VERSION}",
  "Accept" => "*/*"
}.freeze
VERSION =
"1.1.0".freeze

Class Method Summary collapse

Class Method Details

.request(*args) ⇒ Object



107
108
109
110
111
112
# File 'lib/httpray.rb', line 107

def self.request(*args)
  socket = request!(*args)
  yield(socket) if block_given?
ensure
  socket.close if socket && !socket.closed?
end

.request!(method, uri, headers = {}, body = nil, timeout = 1, ssl_context = nil) ⇒ Object



99
100
101
102
103
104
105
# File 'lib/httpray.rb', line 99

def self.request!(method, uri, headers = {}, body = nil, timeout = 1, ssl_context = nil)
  uri = URI.parse(uri) unless URI === uri
  ssl_context = nil
  ssl_context = OpenSSL::SSL::SSLContext.new if uri.scheme == "https"
  ark = Connection.new(uri.host, uri.port, timeout, ssl_context)
  ark.request!(method, uri, headers, body)
end