Class: HttpUtilities::Http::Client
- Inherits:
-
Object
- Object
- HttpUtilities::Http::Client
- Includes:
- Logger
- Defined in:
- lib/http_utilities/http/client.rb
Constant Summary collapse
- EXCEPTIONS =
[ Faraday::Error ]
Instance Method Summary collapse
- #get(url, arguments: {}, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
- #patch(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
- #post(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
- #update(url, action: :post, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
Methods included from Logger
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: , client_options: ) response = request.interface.get(url, arguments) response = HttpUtilities::Http::Response.new(response: response, request: request, 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.}.") retries -= 1 retry if retries > 0 raise e if raise_exceptions && retries == 0 end return response end |
#patch(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
34 35 36 |
# File 'lib/http_utilities/http/client.rb', line 34 def patch(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) update(url, action: :patch, data: data, options: , client_options: , raise_exceptions: raise_exceptions, retries: retries) end |
#post(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
30 31 32 |
# File 'lib/http_utilities/http/client.rb', line 30 def post(url, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) update(url, action: :post, data: data, options: , client_options: , raise_exceptions: raise_exceptions, retries: retries) end |
#update(url, action: :post, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/http_utilities/http/client.rb', line 38 def update(url, action: :post, data: nil, options: {}, client_options: {}, raise_exceptions: false, retries: 3) response = nil begin request = build_request(options: , client_options: ) response = request.interface.send(action, url, data) response = HttpUtilities::Http::Response.new(response: response, request: request, 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.}.") retries -= 1 retry if retries > 0 raise e if raise_exceptions && retries == 0 end return response end |