Class: Rhoconnect::Blackberry
- Inherits:
-
Object
- Object
- Rhoconnect::Blackberry
- Defined in:
- lib/rhoconnect/ping/blackberry.rb
Class Method Summary collapse
Class Method Details
.pap_message(params) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/rhoconnect/ping/blackberry.rb', line 27 def self.(params) data = "do_sync=" + (params['sources'] ? params['sources'].join(',') : "") + "\r\n" data << "alert=#{params['message']}\r\n" if params['message'] data << "vibrate=#{params['vibrate']}\r\n" if params['vibrate'] data << "sound=#{params['sound']}\r\n" if params['sound'] post_body = <<-DESC --asdlfkjiurwghasf Content-Type: application/xml; charset=UTF-8 <?xml version="1.0"?> <!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.0//EN" "http://www.wapforum.org/DTD/pap_2.0.dtd" [<?wap-pap-ver supported-versions="2.0"?>]> <pap> <push-message push-id="pushID:#{(rand * 100000000).to_i.to_s}" ppg-notify-requested-to="http://localhost:7778"> <address address-value="WAPPUSH=#{params['device_pin'].to_i.to_s(base=16).upcase}%3A100/[email protected]"/> <quality-of-service delivery-method="preferconfirmed"/> </push-message> </pap> --asdlfkjiurwghasf Content-Type: text/plain #{data} --asdlfkjiurwghasf-- DESC post_body.gsub!(/\n/,"\r\n") end |
.ping(params) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rhoconnect/ping/blackberry.rb', line 5 def self.ping(params) begin settings = get_config(Rhoconnect.base_directory)[Rhoconnect.environment] host = settings[:mdsserver] port = settings[:mdsserverport] if (host and port) headers = { "X-WAP-APPLICATION-ID" => "/", "X-RIM-PUSH-DEST-PORT" => params['device_port'], "CONTENT-TYPE" => 'multipart/related; type="application/xml"; boundary=asdlfkjiurwghasf'} Net::HTTP.new(host,port).start do |http| request = Net::HTTP::Post.new('/pap',headers) request.body = (params) http.request(request) end end rescue Exception => error log "Error while sending ping: #{error}" raise error end end |