- my @h = ('Content-Type' => 'text/html; charset=UTF-8');
- if (my $gz = gzip_maybe($ctx->{env})) {
- my $err = $gz->deflate(_html_top($self), $x[0]);
- die "gzip->deflate: $err" if $err != Z_OK;
- if ($sref) {
- $err = $gz->deflate($sref, $x[0]);
- die "gzip->deflate: $err" if $err != Z_OK;
- }
- $err = $gz->deflate(_html_end($self), $x[0]);
- die "gzip->deflate: $err" if $err != Z_OK;
- $err = $gz->flush($x[0], Z_FINISH);
- die "gzip->flush: $err" if $err != Z_OK;
- push @h, qw(Vary Accept-Encoding Content-Encoding gzip);
+ my $h = [ 'Content-Type' => 'text/html; charset=UTF-8',
+ 'Content-Length' => undef ];
+ if (my $gzf = gzf_maybe($h, $ctx->{env})) {
+ $gzf->zmore(html_top($ctx));
+ $gzf->zmore($$sref) if $sref;
+ $x[0] = $gzf->zflush(_html_end($ctx));
+ $h->[3] = length($x[0]);