class Selenium::WebDriver::Remote::Http::Common

def call(verb, url, command_hash)

def call(verb, url, command_hash)
  url      = server_url.merge(url) unless url.is_a?(URI)
  headers  = DEFAULT_HEADERS.dup
  headers['Cache-Control'] = 'no-cache' if verb == :get
  if command_hash
    payload                   = JSON.generate(command_hash)
    headers['Content-Length'] = payload.bytesize.to_s if %i[post put].include?(verb)
    WebDriver.logger.debug("   >>> #{url} | #{payload}", id: :command)
    WebDriver.logger.debug("     > #{headers.inspect}", id: :header)
  elsif verb == :post
    payload = '{}'
    headers['Content-Length'] = '2'
  end
  request verb, url, headers, payload
end