<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def on_raw_312(self, message):
 """ WHOIS server info. """

        target, nickname, server, serverinfo = message.params
        info = {
            'server': server,
            'server_info': serverinfo
        }

        if nickname in self._pending['whois']:
            self._whois_info[nickname].update(info)
        if nickname in self._pending['whowas']:
            self._whowas_info[nickname].update(info)