module Locomotive::Coal::Resources::Concerns::Request
Public Instance Methods
delete(endpoint, parameters = {}, raw = false)
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 18 def delete(endpoint, parameters = {}, raw = false) do_request :delete, endpoint, parameters, raw end
do_request(action, endpoint, parameters = {}, raw = false)
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 22 def do_request(action, endpoint, parameters = {}, raw = false) max_count = 5 response = begin # Just uncomment following line if you want to trace protocol between wagon & engine live # puts "#{parameters}" _do_request(action, "#{uri.path}/#{endpoint}.json", parameters) rescue ::Timeout::Error, ::Errno::ETIMEDOUT, Faraday::Error::TimeoutError => e if max_count > 0 puts "\n Warning => timeout detected, attempts left: #{max_count}\n\n" max_count -= 1 retry else raise Locomotive::Coal::TimeoutError.new(e) end rescue HTTPClient::KeepAliveDisconnected => e if max_count > 0 puts "\n Warning => HTTPClient::KeepAliveDisconnected exception detected, attempts left: #{max_count}\n\n" max_count -= 1 retry else puts "\n Error => HTTPClient::KeepAliveDisconnected exception detected, attempts left zero... raising exception\n\n" raise HTTPClient::KeepAliveDisconnected.new(e) end rescue Locomotive::Coal::Error raise rescue Exception => e raise Locomotive::Coal::BadRequestError.new(e) end if response.success? raw ? response : response.body else raise Locomotive::Coal::Error.from_response(response) end end
get(endpoint, parameters = {}, raw = false)
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 6 def get(endpoint, parameters = {}, raw = false) do_request :get, endpoint, parameters, raw end
post(endpoint, parameters = {}, raw = false)
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 10 def post(endpoint, parameters = {}, raw = false) do_request :post, endpoint, parameters, raw end
put(endpoint, parameters = {}, raw = false)
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 14 def put(endpoint, parameters = {}, raw = false) do_request :put, endpoint, parameters, raw end
without_authentication() { || ... }
click to toggle source
# File lib/locomotive/coal/resources/concerns/request.rb, line 58 def without_authentication(&block) @without_token = true yield.tap do @without_token = false end