class Inspec::Resources::Http::Worker::Local

Public Instance Methods

body() click to toggle source
# File lib/inspec/resources/http.rb, line 129
def body
  response.body
end
response_headers() click to toggle source
# File lib/inspec/resources/http.rb, line 133
def response_headers
  response.headers.to_h
end
status() click to toggle source
# File lib/inspec/resources/http.rb, line 125
def status
  response.status
end

Private Instance Methods

response() click to toggle source
# File lib/inspec/resources/http.rb, line 139
def response
  return @response if @response

  conn = Faraday.new(url: url, headers: request_headers, params: params, ssl: { verify: ssl_verify? }) do |builder|
    builder.request :url_encoded
    builder.use FaradayMiddleware::FollowRedirects, limit: max_redirects if max_redirects > 0
    builder.adapter Faraday.default_adapter
  end

  # set basic authentication
  conn.basic_auth username, password unless username.nil? || password.nil?

  # set default timeout
  conn.options.timeout      = read_timeout  # open/read timeout in seconds
  conn.options.open_timeout = open_timeout  # connection open timeout in seconds

  @response = conn.run_request(http_method.downcase.to_sym, nil, nil, nil) do |req|
    req.body = request_body
  end
end