snapper-producer
Snapper producer client for node.js.
Snapper-producer
is tested in Snapper
Snapper-core Teambition push messaging service
Demo
var Producer = var producer = 7800 'http://snapper.project.bi' producerId: 'testProducerId' secretKeys: "tokenXXXXXXX" // generate a token for a consumervar token = producer // send a message to a roomproducer producer producer {/*...*/}producer {/*...*/}producer { console // {length: 1, android: 0, ios: 0, web: 1}}
API
var Producer =
new Producer(port[, host], options)
var producer = 7700 '127.0.0.1' secretKeys: 'secretKeyXXX' producerId: 'myproducerId'
-
port
:Number
, Snapper server port. -
host
:String
, Snapper server host, default to'127.0.0.1'
. -
options.producerId
:String
, producer's name, use for log. -
options.secretKeys
: A array of string or buffer containing either the secret for HMAC algorithms, or the PEM encoded private key for RSA and ECDSA. -
options.expiresIn
: default to3600 * 24
, one day. -
options.algorithm
:String
, default to'HS256'
.
producer.prototype.signAuth(payload)
payload
:Object
.
Generate a token string. payload
should have userId
property and type
property that Snapper server determine which room the consumer should auto join (similar to handshake).
producer.prototype.sendMessage(room, message)
room
:String
message
:String
Send a message to a room, the message will be broadcast to all consumers in the room.
producer.prototype.joinRoom(room, consumerId)(callback)
room
:String
consumerId
:String
callback
:Function
producer.prototype.leaveRoom(room, consumerId)(callback)
room
:String
consumerId
:String
callback
:Function
producer.prototype.request(method, params)(callback)
method
:String
params
:Object|Array
callback
:Function
producer.prototype.close()
Close the producer client.