class OneSignal::Request
Public Class Methods
new(client)
click to toggle source
# File lib/onesignal/request.rb, line 5 def initialize(client) @client = client end
Public Instance Methods
delete(path, params = {})
click to toggle source
# File lib/onesignal/request.rb, line 31 def delete(path, params = {}) uri = uri(path) if @client.app_id params[:app_id] = @client.app_id end uri.query = URI.encode_www_form(params) request(uri, Net::HTTP::Delete, params) end
get(path, params = {})
click to toggle source
# File lib/onesignal/request.rb, line 9 def get(path, params = {}) uri = uri(path) if @client.app_id params[:app_id] = @client.app_id end uri.query = URI.encode_www_form(params) request(uri, Net::HTTP::Get) end
post(path, params)
click to toggle source
# File lib/onesignal/request.rb, line 21 def post(path, params) uri = uri(path) request(uri, Net::HTTP::Post, params) end
put(path, params)
click to toggle source
# File lib/onesignal/request.rb, line 26 def put(path, params) uri = uri(path) request(uri, Net::HTTP::Put, params) end
Private Instance Methods
add_headers(request)
click to toggle source
# File lib/onesignal/request.rb, line 73 def add_headers(request) request.add_field('Content-Type', 'application/json') request.add_field('Authorization', "Basic #{@client.auth_token}") end
ensure_success(response, uri, params = nil)
click to toggle source
# File lib/onesignal/request.rb, line 87 def ensure_success(response, uri, params = nil) if response.code != '200' message = "OneSignal error - uri: #{uri} - params: #{params}" raise RequestError.new(message, response.code, response.body) end end
http_object(uri)
click to toggle source
# File lib/onesignal/request.rb, line 78 def http_object(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.open_timeout = 30 http.read_timeout = 30 http end
make_request(uri, request)
click to toggle source
# File lib/onesignal/request.rb, line 67 def make_request(uri, request) add_headers(request) http = http_object(uri) http.request(request) end
request(uri, klass, params = nil)
click to toggle source
# File lib/onesignal/request.rb, line 49 def request(uri, klass, params = nil) request = klass.new(uri.request_uri) if params && @client.app_id params[:app_id] = @client.app_id end if params request.body = params.to_json end response = make_request(uri, request) ensure_success(response, uri, params) response end
uri(path)
click to toggle source
# File lib/onesignal/request.rb, line 45 def uri(path) URI.parse(OneSignal::Client::BASE_URL + path) end