Module: BerkeleyLibrary::Util::URIs::Requester::ClassMethods

Included in:
BerkeleyLibrary::Util::URIs::Requester
Defined in:
lib/berkeley_library/util/uris/requester/class_methods.rb

Overview

rubocop:disable Metrics/ParameterLists

Instance Method Summary collapse

Instance Method Details

#get(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS) ⇒ String

Performs a GET request and returns the response body as a string.

Raises:

  • (RestClient::Exception)

    in the event of an unsuccessful request.



17
18
19
20
# File 'lib/berkeley_library/util/uris/requester/class_methods.rb', line 17

def get(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS)
  resp = make_request(:get, uri, params, headers, log, max_retries, max_retry_delay)
  resp.body
end

#get_response(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS) ⇒ RestClient::Response

Performs a GET request and returns the response, even in the event of a failed request.



43
44
45
46
47
# File 'lib/berkeley_library/util/uris/requester/class_methods.rb', line 43

def get_response(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS)
  make_request(:get, uri, params, headers, log, max_retries, max_retry_delay)
rescue RestClient::Exception => e
  e.response
end

#head(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS) ⇒ Integer

Performs a HEAD request and returns the response status as an integer. Note that unlike BerkeleyLibrary::Util::URIs#get, this does not raise an error in the event of an unsuccessful request.



31
32
33
# File 'lib/berkeley_library/util/uris/requester/class_methods.rb', line 31

def head(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS)
  head_response(uri, params: params, headers: headers, log: log, max_retries: max_retries, max_retry_delay: max_retry_delay).code
end

#head_response(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS) ⇒ RestClient::Response

Performs a HEAD request and returns the response, even in the event of a failed request.



57
58
59
60
61
# File 'lib/berkeley_library/util/uris/requester/class_methods.rb', line 57

def head_response(uri, params: {}, headers: {}, log: true, max_retries: MAX_RETRIES, max_retry_delay: MAX_RETRY_DELAY_SECONDS)
  make_request(:head, uri, params, headers, log, max_retries, max_retry_delay)
rescue RestClient::Exception => e
  e.response
end