Module: ClientApiBuilder::NetHTTP::Request

Defined in:
lib/client_api_builder/net_http_request.rb

Constant Summary collapse

METHOD_TO_NET_HTTP_CLASS =
{
  copy: Net::HTTP::Copy,
  delete: Net::HTTP::Delete,
  get: Net::HTTP::Get,
  head: Net::HTTP::Head,
  lock: Net::HTTP::Lock,
  mkcol: Net::HTTP::Mkcol,
  move: Net::HTTP::Move,
  options: Net::HTTP::Options,
  patch: Net::HTTP::Patch,
  post: Net::HTTP::Post,
  propfind: Net::HTTP::Propfind,
  proppatch: Net::HTTP::Proppatch,
  put: Net::HTTP::Put,
  trace: Net::HTTP::Trace,
  unlock: Net::HTTP::Unlock
}

Instance Method Summary collapse

Instance Method Details

#request(method:, uri:, body:, headers:, connection_options:) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/client_api_builder/net_http_request.rb', line 26

def request(method:, uri:, body:, headers:, connection_options:)
  request = METHOD_TO_NET_HTTP_CLASS[method].new(uri.request_uri, headers)
  request.body = body if body

  Net::HTTP.start(uri.hostname, uri.port, connection_options.merge(use_ssl: uri.scheme == 'https')) do |http|
    http.request(request)
  end
end