class Unirest::HttpClient
Public Class Methods
internal_request(http_request, timeout)
click to toggle source
# File lib/unirest.rb, line 51 def self.internal_request(http_request, timeout) # Set the user agent http_request.add_header("user-agent", Unirest.user_agent) http_request.add_header("accept-encoding", "gzip") http_response = nil begin case http_request.method when :get http_response = RestClient::Request.execute(:method => :get, :url => http_request.url, :headers => http_request.headers, :timeout => timeout) when :post http_response = RestClient::Request.execute(:method => :post, :url => http_request.url, :payload => http_request.body, :headers => http_request.headers, :timeout => timeout) when :put http_response = RestClient::Request.execute(:method => :put, :url => http_request.url, :payload => http_request.body, :headers => http_request.headers, :timeout => timeout) when :delete http_response = RestClient::Request.execute(:method => :delete, :url => http_request.url, :payload => http_request.body, :headers => http_request.headers, :timeout => timeout) when :patch http_response = RestClient::Request.execute(:method => :patch, :url => http_request.url, :payload => http_request.body, :headers => http_request.headers, :timeout => timeout) end rescue RestClient::RequestTimeout raise 'Request Timeout' rescue RestClient::Exception => e http_response = e.response end Unirest::HttpResponse.new(http_response) end
request(method, url, headers, body, auth, timeout, &callback)
click to toggle source
# File lib/unirest.rb, line 39 def self.request(method, url, headers, body, auth, timeout, &callback) http_request = Unirest::HttpRequest.new(method, url, headers, body, auth) if callback Thread.new do callback.call(self.internal_request(http_request, timeout)) end else self.internal_request(http_request, timeout) end end