dvRenderedPageKey function
Every request input is included conservatively. Conditional validators don't change the document and must not create a separate entry.
Implementation
String dvRenderedPageKey(String site, Uri uri, Map<String, String> headers) {
final variants = <String, String>{
for (final e in headers.entries)
if (!const {
'if-none-match',
'if-modified-since',
}.contains(e.key.toLowerCase()))
e.key.toLowerCase(): e.value,
};
final keys = variants.keys.toList()..sort();
return jsonEncode([
site,
uri.toString(),
for (final k in keys) [k, variants[k]],
]);
}