class Payoneer::Api::Core::ClassMethods::Request

Attributes

config[RW]
max_attempts[RW]
num_attempts[RW]

Public Class Methods

new(config) click to toggle source
# File lib/payoneer/api/core.rb, line 38
def initialize(config)
  self.config = config
  self.max_attempts = config.proxy.size
  self.num_attempts = 0
end

Public Instance Methods

execute(request_params) click to toggle source
# File lib/payoneer/api/core.rb, line 43
def execute(request_params)
  self.num_attempts += 1
  config.setup_proxy_if_set
  RestClient.post(config.api_url, request_params)
rescue RestClient::RequestTimeout => e
  # if Net::OpenTimeout === e.original_exception &&
  if self.max_attempts > self.num_attempts
    config.rotate_proxy
    retry
  end
  raise e
end