Module: Facter::Util::Resolvers::Http

Defined in:
lib/facter/util/resolvers/http.rb

Defined Under Namespace

Classes: RequestError

Constant Summary collapse

CONNECTION_TIMEOUT =
0.6
SESSION_TIMEOUT =
5

Class Method Summary collapse

Class Method Details

.get_request(url, headers = {}, timeouts = {}, proxy = true) ⇒ Object

Makes a GET HTTP request and returns its response.

Examples:

get_request('https://example.com', { "Accept": 'application/json' }, { session: 2.4, connection: 5 })

Parameters:

  • url (String) —

    the address to which the request will be made.

  • headers (Hash) (defaults to: {}) —

    the headers you need to add to your request. Defaults to an empty hash.

  • timeouts (Hash) (defaults to: {}) —

    Values for the session and connection timeouts.

  • proxy (Boolean) (defaults to: true) —

    Whether to use proxy settings when calling Net::HTTP.new. Defaults to true.



28
29
30
# File 'lib/facter/util/resolvers/http.rb', line 28

def get_request(url, headers = {}, timeouts = {}, proxy = true)
  make_request(url, headers, timeouts, 'GET', proxy)
end

.get_request!(url, headers = {}, timeouts = {}, proxy = true) ⇒ Object

Makes a GET HTTP request and returns its response body.

Unlike get_request, this method raises when the response code is not 200 or when the request fails. A successful empty response is still returned as an empty string.



37
38
39
# File 'lib/facter/util/resolvers/http.rb', line 37

def get_request!(url, headers = {}, timeouts = {}, proxy = true)
  make_request!(url, headers, timeouts, 'GET', proxy)
end

.put_request(url, headers = {}, timeouts = {}, proxy = true) ⇒ Object

Makes a PUT HTTP request and returns its response



44
45
46
# File 'lib/facter/util/resolvers/http.rb', line 44

def put_request(url, headers = {}, timeouts = {}, proxy = true)
  make_request(url, headers, timeouts, 'PUT', proxy)
end