Class: Puppetserver::Ca::Utils::HttpClient::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/puppetserver/ca/utils/http_client.rb

Overview

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.

Instance Method Summary collapse

Constructor Details

#initialize(net_http_connection, url_struct, logger, default_headers) ⇒ Connection

Returns a new instance of Connection.



101
102
103
104
105
106
# 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

Instance Method Details

#delete(url_override = nil, header_overrides = {}) ⇒ Object



146
147
148
149
150
151
152
153
154
155
# 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 = {}) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
# 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 = {}) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
144
# 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 = {}) ⇒ Object



120
121
122
123
124
125
126
127
128
129
130
131
# 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