Example #1
0
    def startup_connection(self):
        # This doesn't handle Unicode usernames or passwords
        user = self.options['user'].encode('ascii')
        database = self.options['database'].encode('ascii')
        password = self.options['password'].encode('ascii')

        self.write(messages.Startup(user, database))

        while True:
            message = self.read_message()

            if isinstance(message, messages.Authentication):
                # Password message isn't right format ("incomplete message from client")
                if message.code != messages.Authentication.OK:
                    self.write(
                        messages.Password(
                            password, message.code, {
                                'user': user,
                                'salt': getattr(message, 'salt', None)
                            }))
            else:
                self.process_message(message)

            if isinstance(message, messages.ReadyForQuery):
                break
Example #2
0
    def startup_connection(self):
        self.write(
            messages.Startup(self.options['user'], self.options['database']))
        message = None
        while True:
            message = self.read_message()

            if isinstance(message, messages.Authentication):
                # Password message isn't right format ("incomplete message from client")
                if message.code != messages.Authentication.OK:
                    self.write(
                        messages.Password(
                            self.options['password'], message.code,
                            dict(user=self.options['user'],
                                 salt=getattr(message, 'salt', None))))
            else:
                self.process_message(message)

            if isinstance(message, messages.ReadyForQuery):
                break