def execute(self, request):
        '''Execute a new ``request``.
        '''
        handle = None
        if request:
            request[0] = command = to_string(request[0]).lower()
            info = COMMANDS_INFO.get(command)
            if info:
                handle = getattr(self.store, info.method_name)
            #
            if self.channels or self.patterns:
                if command not in self.store.SUBSCRIBE_COMMANDS:
                    return self.reply_error(self.store.PUBSUB_ONLY)
            if self.blocked:
                return self.reply_error('Blocked client cannot request')
            if self.transaction is not None and command not in 'exec':
                self.transaction.append((handle, request))
                return self.connection.write(self.store.QUEUED)
        self.execute_command(handle, request)
Execute a new ``request``.