Class: Trueform::Transport::NetHTTP

Inherits:
Object
  • Object
show all
Defined in:
lib/trueform/transport/net_http.rb

Instance Method Summary collapse

Instance Method Details

#call(method:, uri:, headers:, body:, timeout:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/trueform/transport/net_http.rb', line 8

def call(method:, uri:, headers:, body:, timeout:)
  request = request_class(method).new(uri)
  headers.each { |name, value| request[name] = value }
  request.body = body

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.scheme == "https"
  http.open_timeout = timeout
  http.read_timeout = timeout
  http.write_timeout = timeout if http.respond_to?(:write_timeout=)
  http.request(request)
end