dddp/websocket.py
def recv_connect(self, version=None, support=None, session=None):
        """DDP connect handler."""
        del session  # Meteor doesn't even use this!
        if self.connection is not None:
            raise MeteorError(
                400, 'Session already established.',
                self.connection.connection_id,
            )
        elif None in (version, support) or version not in self.versions:
            self.reply('failed', version=self.versions[0])
        elif version not in support:
            raise MeteorError(400, 'Client version/support mismatch.')
        else:
            from dddp.models import Connection
            cur = connection.cursor()
            cur.execute('SELECT pg_backend_pid()')
            (backend_pid,) = cur.fetchone()
            this.version = version
            this.support = support
            self.connection = Connection.objects.create(
                server_addr='%d:%s' % (
                    backend_pid,
                    self.ws.handler.socket.getsockname(),
                ),
                remote_addr=self.remote_addr,
                version=version,
            )
            self.pgworker.connections[self.connection.pk] = self
            atexit.register(self.on_close, 'Shutting down.')
            self.reply('connected', session=self.connection.connection_id)
def recv_connect(self, version=None, support=None, session=None):
        del session  # Meteor doesn't even use this!
        if self.connection is not None:
            raise MeteorError(
                400, 'Session already established.',
                self.connection.connection_id,
            )
        elif None in (version, support) or version not in self.versions:
            self.reply('failed', version=self.versions[0])
        elif version not in support:
            raise MeteorError(400, 'Client version/support mismatch.')
        else:
            from dddp.models import Connection
            cur = connection.cursor()
            cur.execute('SELECT pg_backend_pid()')
            (backend_pid,) = cur.fetchone()
            this.version = version
            this.support = support
            self.connection = Connection.objects.create(
                server_addr='%d:%s' % (
                    backend_pid,
                    self.ws.handler.socket.getsockname(),
                ),
                remote_addr=self.remote_addr,
                version=version,
            )
            self.pgworker.connections[self.connection.pk] = self
            atexit.register(self.on_close, 'Shutting down.')
            self.reply('connected', session=self.connection.connection_id)
def recv_connect ( self , version = None , support = None , session = None ) : del session # Meteor doesn't even use this! if self . connection is not None : raise MeteorError ( 400 , 'Session already established.' , self . connection . connection_id , ) elif None in ( version , support ) or version not in self . versions : self . reply ( 'failed' , version = self . versions [ 0 ] ) elif version not in support : raise MeteorError ( 400 , 'Client version/support mismatch.' ) else : from dddp . models import Connection cur = connection . cursor ( ) cur . execute ( 'SELECT pg_backend_pid()' ) ( backend_pid , ) = cur . fetchone ( ) this . version = version this . support = support self . connection = Connection . objects . create ( server_addr = '%d:%s' % ( backend_pid , self . ws . handler . socket . getsockname ( ) , ) , remote_addr = self . remote_addr , version = version , ) self . pgworker . connections [ self . connection . pk ] = self atexit . register ( self . on_close , 'Shutting down.' ) self . reply ( 'connected' , session = self . connection . connection_id )
DDP connect handler.
DDP connect handler .