+sub qsp_maybe ($$) {
+ my ($res_hdr, $env) = @_;
+ return if ($env->{HTTP_ACCEPT_ENCODING} // '') !~ /\bgzip\b/;
+ my $hdr = join("\n", @$res_hdr);
+ return if $hdr !~ m!^Content-Type\n
+ (?:(?:text/(?:html|plain))|
+ application/atom\+xml)\b!ixsm;
+ return if $hdr =~ m!^Content-Encoding\ngzip\n!smi;
+ return if $hdr =~ m!^Content-Length\n[0-9]+\n!smi;
+ return if $hdr =~ m!^Transfer-Encoding\n!smi;
+ # in case Plack::Middleware::Deflater is loaded:
+ return if $env->{'plack.skip-deflater'}++;
+ push @$res_hdr, @GZIP_HDRS;
+ bless {}, __PACKAGE__;
+}
+