module Pushpad::Request
Public Instance Methods
delete(endpoint, options = {})
click to toggle source
# File lib/pushpad/request.rb, line 28 def delete(endpoint, options = {}) perform(Net::HTTP::Delete, endpoint, options) end
get(endpoint, options = {})
click to toggle source
# File lib/pushpad/request.rb, line 12 def get(endpoint, options = {}) perform(Net::HTTP::Get, endpoint, options) end
head(endpoint, options = {})
click to toggle source
# File lib/pushpad/request.rb, line 8 def head(endpoint, options = {}) perform(Net::HTTP::Head, endpoint, options) end
patch(endpoint, body, options = {})
click to toggle source
# File lib/pushpad/request.rb, line 22 def patch(endpoint, body, options = {}) perform(Net::HTTP::Patch, endpoint, options) do |request| request.body = body end end
post(endpoint, body, options = {})
click to toggle source
# File lib/pushpad/request.rb, line 16 def post(endpoint, body, options = {}) perform(Net::HTTP::Post, endpoint, options) do |request| request.body = body end end
Private Instance Methods
headers()
click to toggle source
# File lib/pushpad/request.rb, line 57 def headers raise "You must set Pushpad.auth_token" unless Pushpad.auth_token { "Authorization" => %(Token token="#{Pushpad.auth_token}"), "Content-Type" => "application/json;charset=UTF-8", "Accept" => "application/json" } end
https(uri, request)
click to toggle source
# File lib/pushpad/request.rb, line 51 def https(uri, request) Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |https| https.request(request) end end
path_and_query(uri, query_parameters)
click to toggle source
# File lib/pushpad/request.rb, line 43 def path_and_query(uri, query_parameters) [uri.path, query(query_parameters)].compact.join("?") end
perform(method, endpoint, options) { |request| ... }
click to toggle source
# File lib/pushpad/request.rb, line 34 def perform(method, endpoint, options) uri = URI.parse(endpoint) request = method.new(path_and_query(uri, options[:query_parameters]), headers) yield request if block_given? https(uri, request) end
query(parameters)
click to toggle source
# File lib/pushpad/request.rb, line 47 def query(parameters) parameters && !parameters.empty? ? URI.encode_www_form(parameters) : nil end