Module: Curlable

Included in:
ArcREST::Server
Defined in:
lib/arcrest/curlable.rb

Overview

methods to curl a url

Defined Under Namespace

Classes: BadHttpResponse

Constant Summary collapse

RETRIES =
5

Instance Method Summary collapse

Instance Method Details

#curl_get(url, opts = {}) ⇒ Object

Raises:



11
12
13
14
15
16
17
18
19
# File 'lib/arcrest/curlable.rb', line 11

def curl_get(url, opts = {})
  c = Curl::Easy.new(url) { |curl| configure(curl, opts[:headers] || {}) }
  try(c, opts[:retries] || RETRIES)
  c.perform
  code = c.response_code
  raise BadHttpResponse, "#{code} at #{url}" unless [2, 3].include? code / 100

  c.body_str
end