dvRenderedPageKey function

String dvRenderedPageKey(
  1. String site,
  2. Uri uri,
  3. Map<String, String> headers
)

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]],
  ]);
}