private static String eTagHash(Dataset dataSet, HttpServletRequest request)
throws IOException, NoSuchAlgorithmException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
dos.writeLong(dataSet.published.getTime());
dos.writeChars(request.getHeader("User-Agent"));
dos.writeChars(request.getQueryString());
return Base64.encodeBase64String(
MessageDigest.getInstance("MD5").digest(bos.toByteArray()));
}