class Puppetserver::Ca::Utils::HttpClient::Connection

Helper class that wraps a Net::HTTP connection, a HttpClient::URL and defines methods named after HTTP verbs that are called on the saved connection, returning a Result.

Public Class Methods

new(net_http_connection, url_struct, logger, default_headers) click to toggle source
# File lib/puppetserver/ca/utils/http_client.rb, line 101
def initialize(net_http_connection, url_struct, logger, default_headers)
  @conn = net_http_connection
  @url = url_struct
  @logger = logger
  @default_headers = default_headers
end

Public Instance Methods

delete(url_override = nil, header_overrides = {}) click to toggle source
# File lib/puppetserver/ca/utils/http_client.rb, line 146
def delete(url_override = nil, header_overrides = {})
  url = url_override || @url
  headers = @default_headers.merge(header_overrides)

  @logger.debug("Making a DELETE request at #{url.full_url}")

  result = @conn.request(Net::HTTP::Delete.new(url.to_uri, headers))

  Result.new(result.code, result.body)
end
get(url_overide = nil, header_overrides = {}) click to toggle source
# File lib/puppetserver/ca/utils/http_client.rb, line 108
def get(url_overide = nil, header_overrides = {})
  url = url_overide || @url
  headers = @default_headers.merge(header_overrides)

  @logger.debug("Making a GET request at #{url.full_url}")

  request = Net::HTTP::Get.new(url.to_uri, headers)
  result = @conn.request(request)
  Result.new(result.code, result.body)

end
post(body, url_override = nil, header_overrides = {}) click to toggle source
# File lib/puppetserver/ca/utils/http_client.rb, line 133
def post(body, url_override = nil, header_overrides = {})
  url = url_override || @url
  headers = @default_headers.merge(header_overrides)

  @logger.debug("Making a POST request at #{url.full_url}")

  request = Net::HTTP::Post.new(url.to_uri, headers)
  request.body = body
  result = @conn.request(request)

  Result.new(result.code, result.body)
end
put(body, url_override = nil, header_overrides = {}) click to toggle source
# File lib/puppetserver/ca/utils/http_client.rb, line 120
def put(body, url_override = nil, header_overrides = {})
  url = url_override || @url
  headers = @default_headers.merge(header_overrides)

  @logger.debug("Making a PUT request at #{url.full_url}")

  request = Net::HTTP::Put.new(url.to_uri, headers)
  request.body = body
  result = @conn.request(request)

  Result.new(result.code, result.body)
end