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
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