class Croesus::WebClient
Public Class Methods
internal_request(request, timeout)
click to toggle source
# File lib/croesus/web_client/web_client.rb, line 34 def self.internal_request(request, timeout) HTTP_HEADERS.each { |key, value| request.add_header(key, value) } response = nil begin case request.method when :get response = RestClient::Request.execute( method: :get, url: request.url, headers: request.headers, timeout: timeout ) when :post response = RestClient::Request.execute( method: :post, url: request.url, payload: request.body, headers: request.headers, timeout: timeout ) when :delete response = RestClient::Request.execute( method: :delete, url: request.url, payload: request.body, headers: request.headers, timeout: timeout ) end rescue RestClient::RequestTimeout raise 'Request Timeout' rescue RestClient::Exception => e response = e.response end Croesus::WebResponse.new(response) end
request(method, url, headers, body, timeout, &callback)
click to toggle source
# File lib/croesus/web_client/web_client.rb, line 22 def self.request(method, url, headers, body, timeout, &callback) request = Croesus::WebRequest.new(method, url, headers, body) if callback Thread.new do callback.call(self.internal_request(request, timeout)) end else self.internal_request(request, timeout) end end