about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-04-05 01:28:49 +0000
committerEric Wong <e@yhbt.net>2020-04-05 07:25:07 +0000
commit6ebcec3add4d6aeff6e3b3eb019a404528c079ec (patch)
tree78ea06c68244b3e2be7e2407a6a59d9913c2b8ed /lib
parentf5aa58801122863961bd9a11e9d9c7b691ffca38 (diff)
downloadpublic-inbox-6ebcec3add4d6aeff6e3b3eb019a404528c079ec.tar.gz
We don't want to confuse intermediate caches into serving
gzipped content to any clients which can't handle it.  It
probably doesn't matter in practice, though, since every HTTP
client seems to handle "Content-Encoding: gzip" regardless of
whether it was requested or not, though I could expect some
nc/socat/telnet/s_client users being annoyed.

This also matches the behavior of Plack::Middleware::Deflater
and other deflater implementations.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/WwwStatic.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/WwwStatic.pm b/lib/PublicInbox/WwwStatic.pm
index 0c534b46..3c933156 100644
--- a/lib/PublicInbox/WwwStatic.pm
+++ b/lib/PublicInbox/WwwStatic.pm
@@ -117,7 +117,9 @@ sub try_gzip_static ($$$$) {
         return unless -f $gz && (stat(_))[9] == $mtime;
         my $res = response($env, $h, $gz, $type);
         return if ($res->[0] > 300 || $res->[0] < 200);
-        push @{$res->[1]}, qw(Cache-Control no-transform Content-Encoding gzip);
+        push @{$res->[1]}, qw(Cache-Control no-transform
+                                Content-Encoding gzip
+                                Vary Accept-Encoding);
         $res;
 }