code: def _get_response(self, connection):
          
  
          response_header = self._receive(connection, 13)
          logger.debug('Response header: %s', response_header)
  
          if (not response_header.startswith(b'ZBXD\x01') or
                  len(response_header) != 13):
              logger.debug('Zabbix return not valid response.')
              result = False
          else:
              response_len = struct.unpack('<Q', response_header[5:])[0]
              response_body = connection.recv(response_len)
              result = json.loads(response_body.decode("utf-8"))
              logger.debug('Data received: %s', result)
  
          try:
              connection.close()
          except Exception as err:
              pass
  
          return result
docs: Get response from zabbix server, reads from self.socket.
  
          :type connection: :class:`socket._socketobject`
          :param connection: Socket to read.
  
          :rtype: dict
          :return: Response from zabbix server or False in case of error.