class Songdrop::HTTP

Public Class Methods

delete(url, params={}, &block) click to toggle source
# File lib/songdrop/http/bubblewrap.rb, line 16
def self.delete(url, params={}, &block)
  http_request(:delete, url, params, &block)
end
get(url, params={}, &block) click to toggle source
# File lib/songdrop/http/bubblewrap.rb, line 4
def self.get(url, params={}, &block)
  http_request(:get, url, params, &block)
end
http_request(method, url, options={}, &block) click to toggle source
# File lib/songdrop/http/bubblewrap.rb, line 20
def self.http_request(method, url, options={}, &block)
  bw_options = {:payload => options}
  bw_options.merge!({:headers => {:Accept => "application/json"}})

  puts "[Songdrop::HTTP] #{method} #{url} with: #{bw_options.inspect}"

  BubbleWrap::HTTP.send(method, url, bw_options) do |response|
    if response.ok?
      block.call response.body.to_str, response.headers, nil
    else
      block.call nil, response.headers, response.body.to_str
    end
  end
end
post(url, params={}, &block) click to toggle source
# File lib/songdrop/http/bubblewrap.rb, line 8
def self.post(url, params={}, &block)
  http_request(:post, url, params, &block)
end
put(url, params={}, &block) click to toggle source
# File lib/songdrop/http/bubblewrap.rb, line 12
def self.put(url, params={}, &block)
  http_request(:put, url, params, &block)
end