示例#1
0
文件: __init__.py 项目: lzimm/360io
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
示例#2
0
文件: __init__.py 项目: lzimm/360io
def registerCommSession(req, res, session, channel):
    def cb(payload):
        res.callback(payload)

    d1 = comm.addSub(session, channel)
    d1.addCallback(cb)

    return d1
示例#3
0
文件: __init__.py 项目: lzimm/360io
def registerCommSession(req, res, session, channel):
    def cb(payload):
        res.callback(payload)
    
    d1 = comm.addSub(session, channel)
    d1.addCallback(cb)

    return d1
示例#4
0
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
示例#5
0
文件: __init__.py 项目: lzimm/360io
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
示例#6
0
文件: auth.py 项目: lzimm/360io
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
示例#7
0
文件: register.py 项目: lzimm/360io
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
示例#8
0
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