Class: HttpUtilities::Http::Client

Inherits:
Object
  • Object
show all
Includes:
Logger
Defined in:
lib/http_utilities/http/client.rb

Constant Summary collapse

EXCEPTIONS =
[
  Faraday::Error
]

Instance Method Summary collapse

Methods included from Logger

#log

Instance Method Details

#get(url, arguments: {}, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/http_utilities/http/client.rb', line 12

def get(url, arguments: {}, options: {}, client_options: {}, raise_exceptions: false, retries: 3)
  response        =   nil
  
  begin
    request       =   build_request(options: options, client_options: client_options)
    response      =   request.interface.get(url, arguments)
    response      =   HttpUtilities::Http::Response.new(response: response, request: request, options: options)
    
  rescue *EXCEPTIONS => e
    log(:error, "[HttpUtilities::Http::Client] - An error occurred while trying to fetch the response. Error Class: #{e.class.name}. Error Message: #{e.message}.")
    retries      -=   1
    retry if retries > 0
    raise e if raise_exceptions && retries == 0
  end

  return response
end

#post(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/http_utilities/http/client.rb', line 30

def post(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3)
  response        =   nil
    
  begin
    request       =   build_request(options: options, client_options: client_options)
    response      =   request.interface.post(url, data)
    response      =   HttpUtilities::Http::Response.new(response: response, request: request, options: options)
    
  rescue *EXCEPTIONS => e
    log(:error, "[HttpUtilities::Http::Client] - An error occurred while trying to fetch the response. Error Class: #{e.class.name}. Error Message: #{e.message}.")
    retries          -=   1
    retry if retries > 0
    raise e if raise_exceptions && retries == 0
  end

  return response
end