code: def _QueryHash(self, digest):
      
      if not self._url:
        self._url = '{0:s}://{1:s}:{2:d}/file/find'.format(
            self._protocol, self._host, self._port)
  
      request_data = {self.lookup_hash: digest}
  
      try:
        json_response = self.MakeRequestAndDecodeJSON(
            self._url, 'POST', data=request_data)
  
      except errors.ConnectionError as exception:
        json_response = None
        logger.error('Unable to query Viper with error: {0!s}.'.format(
            exception))
  
      return json_response
docs: Queries the Viper Server for a specfic hash.
  
      Args:
        digest (str): hash to look up.
  
      Returns:
        dict[str, object]: JSON response or None on error.