def authCommSession(req, res, session): if req.user or req.uchan: if req.user: def addCb(payload): def broadcastCb(payload): res.callback(None) d2 = comm.broadcast('/user/' + req.user['id'], "{connected: \"%s\"}" % (session)) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', req.user['id'], path='/')) d1 = comm.addSub(session, '/user/' + req.user['id']) d1.addCallback(addCb) elif req.uchan: def remCb(payload): def broadcastCb(payload): res.callback(None) d2 = comm.broadcast('/user/' + req.uchan, "{disconnected: \"%s\"}" % (session)) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', '', path='/')) d1 = comm.removeSub(session, '/user/' + req.uchan) d1.addCallback(remCb) else: res.callback(None) return None return None else: res.callback(None) return None
def registerCommSession(req, res, session, channel): def cb(payload): res.callback(payload) d1 = comm.addSub(session, channel) d1.addCallback(cb) return d1
def http(req): if req.user or req.uchan: res = Deferred() if req.user: def addCb(payload): def broadcastCb(payload): req.result = 'ok' res.callback(None) d2 = comm.broadcast('/user/' + req.user['id'], "{connected: \"%s\"}" % (req.postpath[0])) d2.addCallback(broadcastCb) req.cookies.append( Cookie('user_chan', req.user['id'], path='/')) d1 = comm.addSub(req.postpath[0], '/user/' + req.user['id']) d1.addCallback(addCb) elif req.uchan: def remCb(payload): def broadcastCb(payload): req.result = 'ok' res.callback(None) d2 = comm.broadcast( '/user/' + req.uchan, "{disconnected: \"%s\"}" % (req.postpath[0])) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', '', path='/')) d1 = comm.removeSub(req.postpath[0], '/user/' + req.uchan) d1.addCallback(remCb) else: req.result = 'ok' return None return res else: req.result = 'error' return None
def authCommSession(req, res, session): if req.user or req.uchan: if req.user: def addCb(payload): def broadcastCb(payload): res.callback(None) d2 = comm.broadcast('/user/' + req.user['id'], "{connected: \"%s\"}" % (session)) d2.addCallback(broadcastCb) req.cookies.append( Cookie('user_chan', req.user['id'], path='/')) d1 = comm.addSub(session, '/user/' + req.user['id']) d1.addCallback(addCb) elif req.uchan: def remCb(payload): def broadcastCb(payload): res.callback(None) d2 = comm.broadcast('/user/' + req.uchan, "{disconnected: \"%s\"}" % (session)) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', '', path='/')) d1 = comm.removeSub(session, '/user/' + req.uchan) d1.addCallback(remCb) else: res.callback(None) return None return None else: res.callback(None) return None
def http(req): if req.user or req.uchan: res = Deferred() if req.user: def addCb(payload): def broadcastCb(payload): req.result = 'ok' res.callback(None) d2 = comm.broadcast('/user/' + req.user['id'], "{connected: \"%s\"}" % (req.postpath[0])) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', req.user['id'], path='/')) d1 = comm.addSub(req.postpath[0], '/user/' + req.user['id']) d1.addCallback(addCb) elif req.uchan: def remCb(payload): def broadcastCb(payload): req.result = 'ok' res.callback(None) d2 = comm.broadcast('/user/' + req.uchan, "{disconnected: \"%s\"}" % (req.postpath[0])) d2.addCallback(broadcastCb) req.cookies.append(Cookie('user_chan', '', path='/')) d1 = comm.removeSub(req.postpath[0], '/user/' + req.uchan) d1.addCallback(remCb) else: req.result = 'ok' return None return res else: req.result = 'error' return None
def http(req): channel = req.args.get('channel', [None])[0] if channel: res = Deferred() def addCb(payload): def broadcastCb(payload): req.result = "ok" res.callback(None) d2 = comm.broadcast('/chan/' + channel, "{connected: \"%s\"}" % (req.postpath[0])) d2.addCallback(broadcastCb) d1 = comm.addSub(req.postpath[0], '/chan/' + channel) d1.addCallback(addCb) return res else: req.result = 'error' return None