Sha256: fa0b50aaffe9e4eb405c4ac0b529f12353d0a2467273c4d97c76419db60dee00
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
require 'uri' require 'net/https' require 'json' module GCM class Client attr_reader :uri, :auth_token def initialize(uri, auth_key) @uri = URI.parse(uri) @auth_key = auth_key end # # Send a notification to a device # def notify(device, notification) response = make_request(:notify, {:device => device, :data => notification.data}) NotificationResponse.new(response) end private # # Make an HTTP request def make_request(method, payload = {}) request = Net::HTTP::Post.new("/api/#{method}") request.body = payload.merge({:auth_key => @auth_key}).to_json request.add_field 'User-Agent', "GCM Ruby Client Library/#{GCM::VERSION}" connection = Net::HTTP.new(@uri.host, @uri.port) if @uri.is_a?(URI::HTTPS) connection.use_ssl = true connection.verify_mode = OpenSSL::SSL::VERIFY_NONE end result = connection.request(request) Response.new(result) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gcm-client-1.0.1 | lib/gcm/client.rb |
gcm-client-1.0.0 | lib/gcm/client.rb |