Class: Idnow::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/idnow/http_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(host:, read_timout_sec: 30) ⇒ HttpClient

Returns a new instance of HttpClient.



5
6
7
8
# File 'lib/idnow/http_client.rb', line 5

def initialize(host:, read_timout_sec: 30)
  @uri          = URI.parse(host)
  @read_timeout = read_timout_sec
end

Instance Method Details

#execute(request, headers = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/idnow/http_client.rb', line 10

def execute(request, headers = {})
  headers.each do |k, v|
    request[k] = v
  end

  client.request(request)
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
       Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError => e
  raise Idnow::ConnectionException, e
end