class Motion::HTTP::Client
Attributes
base_url[R]
Public Class Methods
new(base_url = nil, options = nil)
click to toggle source
# File lib/common/http/client.rb, line 6 def initialize(base_url = nil, options = nil) @base_url = base_url || '' options ||= {} @headers = Headers.new(options.delete(:headers)) end
Public Instance Methods
add_header(key, value)
click to toggle source
# File lib/common/http/client.rb, line 16 def add_header(key, value) @headers.add(key, value) end
auth(header_value)
click to toggle source
# File lib/common/http/client.rb, line 35 def auth(header_value) @headers.set 'Authorization', header_value self end
basic_auth(username, password)
click to toggle source
# File lib/common/http/client.rb, line 29 def basic_auth(username, password) header_value = 'Basic ' + Base64.encode("#{username}:#{password}") auth(header_value) self end
delete(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 56 def delete(path, options = nil, &callback) request(:delete, path, options, &callback) end
get(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 40 def get(path, options = nil, &callback) request(:get, path, options, &callback) end
head(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 60 def head(path, options = nil, &callback) request(:head, path, options, &callback) end
header(key, value)
click to toggle source
# File lib/common/http/client.rb, line 12 def header(key, value) @headers.set(key, value) end
headers(hash = nil)
click to toggle source
# File lib/common/http/client.rb, line 20 def headers(hash = nil) if hash hash.each do |key, value| @headers.set(key, value) end end @headers end
options(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 64 def options(path, options = nil, &callback) request(:options, path, options, &callback) end
patch(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 52 def patch(path, options = nil, &callback) request(:patch, path, options, &callback) end
post(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 44 def post(path, options = nil, &callback) request(:post, path, options, &callback) end
put(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 48 def put(path, options = nil, &callback) request(:put, path, options, &callback) end
request(http_method, path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 72 def request(http_method, path, options = nil, &callback) options ||= {} headers_dup = headers.dup if options[:headers] options.delete(:headers).each {|key, value| headers_dup.set(key, value) } end options[:headers] = headers_dup Request.new(http_method, base_url + path, options).perform(&callback) end
trace(path, options = nil, &callback)
click to toggle source
# File lib/common/http/client.rb, line 68 def trace(path, options = nil, &callback) request(:trace, path, options, &callback) end