class Idnow::HttpClient

Public Class Methods

new(host:, read_timout_sec: 30) click to toggle source
# 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

Public Instance Methods

execute(request, headers = {}) click to toggle source
# 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

Private Instance Methods

client() click to toggle source
# File lib/idnow/http_client.rb, line 23
def client
  Net::HTTP.new(@uri.host, @uri.port).tap do |http|
    http.read_timeout = @read_timeout
    http.use_ssl      = @uri.scheme == 'https'
  end
end