class Delphix::Client
Public Class Methods
internal_request(request, timeout)
click to toggle source
# File lib/delphix/client.rb, line 48 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 Delphix::Response.new(response) end
request(method, url, headers, body, timeout, &callback)
click to toggle source
@param [Symnol] method
A valid HTTP verb `:get`, `:post`, or `:delete`.
@param [String] url
The address or uri to send request.
@param [String, Hash, Object] body
The request Body.
@param [Proc] callback
Asychronous callback method to be invoked upon result.
# File lib/delphix/client.rb, line 36 def self.request(method, url, headers, body, timeout, &callback) request = Delphix::Request.new(method, url, headers, body) if callback Thread.new do callback.call(internal_request(request, timeout)) end else internal_request(request, timeout) end end