class Chef::Provider::HttpRequest

Attributes

http[RW]

Public Instance Methods

action_delete() click to toggle source

Send a DELETE request to @new_resource.url

# File lib/chef/provider/http_request.rb, line 96
def action_delete
  converge_by("#{@new_resource} DELETE to #{@new_resource.url}") do
    body = @http.delete(
      "#{@new_resource.url}",
      @new_resource.headers
    )
    @new_resource.updated_by_last_action(true)
    Chef::Log.info("#{@new_resource} DELETE to #{@new_resource.url} successful")
    Chef::Log.debug("#{@new_resource} DELETE request response: #{body}")
  end
end
action_get() click to toggle source

Send a GET request to @new_resource.url, with ?message=@new_resource.message

# File lib/chef/provider/http_request.rb, line 54
def action_get
  converge_by("#{@new_resource} GET to #{@new_resource.url}") do

    message = check_message(@new_resource.message)
    body = @http.get(
      "#{@new_resource.url}?message=#{message}",
      @new_resource.headers
    )
    Chef::Log.info("#{@new_resource} GET to #{@new_resource.url} successful")
    Chef::Log.debug("#{@new_resource} GET request response: #{body}")
  end
end
action_head() click to toggle source

Send a HEAD request to @new_resource.url, with ?message=@new_resource.message

# File lib/chef/provider/http_request.rb, line 37
def action_head
  message = check_message(@new_resource.message)
  # CHEF-4762: we expect a nil return value from Chef::HTTP for a "200 Success" response
  # and false for a "304 Not Modified" response
  modified = @http.head(
    "#{@new_resource.url}?message=#{message}",
    @new_resource.headers
  )
  Chef::Log.info("#{@new_resource} HEAD to #{@new_resource.url} successful")
  Chef::Log.debug("#{@new_resource} HEAD request response: #{modified}")
  # :head is usually used to trigger notifications, which converge_by now does
  if modified != false
    converge_by("#{@new_resource} HEAD to #{@new_resource.url} returned modified, trigger notifications") {}
  end
end
action_post() click to toggle source

Send a POST request to @new_resource.url, with the message as the payload

# File lib/chef/provider/http_request.rb, line 82
def action_post
  converge_by("#{@new_resource} POST to #{@new_resource.url}") do
    message = check_message(@new_resource.message)
    body = @http.post(
      "#{@new_resource.url}",
      message,
      @new_resource.headers
    )
    Chef::Log.info("#{@new_resource} POST to #{@new_resource.url} message: #{message.inspect} successful")
    Chef::Log.debug("#{@new_resource} POST request response: #{body}")
  end
end
action_put() click to toggle source

Send a PUT request to @new_resource.url, with the message as the payload

# File lib/chef/provider/http_request.rb, line 68
def action_put
  converge_by("#{@new_resource} PUT to #{@new_resource.url}") do
    message = check_message(@new_resource.message)
    body = @http.put(
      "#{@new_resource.url}",
      message,
      @new_resource.headers
    )
    Chef::Log.info("#{@new_resource} PUT to #{@new_resource.url} successful")
    Chef::Log.debug("#{@new_resource} PUT request response: #{body}")
  end
end
load_current_resource() click to toggle source
# File lib/chef/provider/http_request.rb, line 32
def load_current_resource
  @http = Chef::HTTP::Simple.new(@new_resource.url)
end
whyrun_supported?() click to toggle source
# File lib/chef/provider/http_request.rb, line 28
def whyrun_supported?
  true
end

Private Instance Methods

check_message(message) click to toggle source
# File lib/chef/provider/http_request.rb, line 110
def check_message(message)
  if message.kind_of?(Proc)
    message.call
  else
    message
  end
end