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