'Handle a msg from the front-end.
Args:
content (dict): Content of the msg.'

def _handle_msg(self, message):

    content = message['content']['data']['content']
    if (content.get('event', '') == 'pong'):
        self._graphId = content['graphId']
        while self._clientMessages:
            _message = self._clientMessages.popleft()
            _message['graphId'] = self._graphId
            _message = _json.dumps(_message)
            self._message = _message
    if (content.get('event', '') in ['click', 'hover', 'zoom']):
        if ((content['event'] == 'click') or (content['event'] == 'hover')):
            message = content['message']['points']
        elif (content['event'] == 'zoom'):
            message = content['message']['ranges']
        self._event_handlers[content['event']](self, message)
    if (content.get('event', '') == 'getAttributes'):
        self._attributes = content.get('response', {})
        if self._flags['save_pending']:
            self._flags['save_pending'] = False
            url = py.plot(self._attributes, auto_open=False, filename=self._filename, validate=False)
            self._new_url = url
            self._fade_to('slow', 1)
