class Inspec::Resources::Http

def body

def body
  @worker.body
end

def headers

def headers
  @headers ||= Inspec::Resources::Http::Headers.create(@worker.response_headers)
end

def http_method

def http_method
  @opts.fetch(:method, 'GET')
end

def initialize(url, opts = {})

def initialize(url, opts = {})
  @url = url
  @opts = opts
  # Prior to InSpec 2.0 the HTTP test had to be instructed to run on the
  # remote target machine. This warning will be removed after a few months
  # to give users an opportunity to remove the unused option from their
  # profiles.
  if opts.key?(:enable_remote_worker) && !inspec.local_transport?
    warn 'Ignoring `enable_remote_worker` option, the `http` resource ',
         'remote worker is enabled by default for remote targets and ',
         'cannot be disabled'
  end
  # Run locally if InSpec is ran locally and remotely if ran remotely
  if inspec.local_transport?
    @worker = Worker::Local.new(http_method, url, opts)
  else
    @worker = Worker::Remote.new(inspec, http_method, url, opts)
  end
end

def status

def status
  @worker.status
end

def to_s

def to_s
  "http #{http_method} on #{@url}"
end