Class: HTTPI::Adapter::HTTPClient

Inherits:
Object
  • Object
show all
Defined in:
lib/httpi/adapter/httpclient.rb

Overview

HTTPI::Adapter::HTTPClient

Adapter for the HTTPClient client. rubygems.org/gems/httpclient

Instance Method Summary collapse

Constructor Details

#initialize(request = nil) ⇒ HTTPClient

Requires the “httpclient” gem.



13
14
15
# File 'lib/httpi/adapter/httpclient.rb', line 13

def initialize(request = nil)
  require "httpclient"
end

Instance Method Details

#clientObject

Returns a memoized HTTPClient instance.



18
19
20
# File 'lib/httpi/adapter/httpclient.rb', line 18

def client
  @client ||= ::HTTPClient.new
end

#delete(request) ⇒ Object

Executes an HTTP DELETE request.

See Also:



56
57
58
59
60
# File 'lib/httpi/adapter/httpclient.rb', line 56

def delete(request)
  do_request request do |url, headers|
    client.delete url, headers
  end
end

#get(request) ⇒ Object

Executes an HTTP GET request.

See Also:



24
25
26
27
28
# File 'lib/httpi/adapter/httpclient.rb', line 24

def get(request)
  do_request request do |url, headers|
    client.get url, nil, headers
  end
end

#head(request) ⇒ Object

Executes an HTTP HEAD request.

See Also:



40
41
42
43
44
# File 'lib/httpi/adapter/httpclient.rb', line 40

def head(request)
  do_request request do |url, headers|
    client.head url, nil, headers
  end
end

#post(request) ⇒ Object

Executes an HTTP POST request.

See Also:



32
33
34
35
36
# File 'lib/httpi/adapter/httpclient.rb', line 32

def post(request)
  do_request request do |url, headers, body|
    client.post url, body, headers
  end
end

#put(request) ⇒ Object

Executes an HTTP PUT request.

See Also:



48
49
50
51
52
# File 'lib/httpi/adapter/httpclient.rb', line 48

def put(request)
  do_request request do |url, headers, body|
    client.put url, body, headers
  end
end