use strict; use warnings FATAL => 'all'; use Apache::Test; use Apache::TestUtil; use Apache::TestRequest; plan tests => 4, need [need_cgi, qw(include deflate case_filter)]; my $inflator = "/modules/deflate/echo_post"; my @deflate_headers; push @deflate_headers, "Accept-Encoding" => "gzip"; my @inflate_headers; push @inflate_headers, "Content-Encoding" => "gzip"; # The SSI script has the DEFLATE filter applied. # The SSI includes directory index page. # The directory index page is processed with a fast internal redirect. # The test is that filter chain survives across the redirect. my $uri = "/modules/deflate/ssi/ssi2.shtml"; my $content = GET_BODY($uri); my $expected = "begin-default-end\n"; ok t_cmp($content, $expected); my $r = GET($uri, @deflate_headers); ok t_cmp($r->code, 200); my $renc = $r->header("Content-Encoding") || ""; ok t_cmp($renc, "gzip", "response was gzipped"); if ($renc eq "gzip") { my $deflated = POST_BODY($inflator, @inflate_headers, content => $r->content); ok t_cmp($deflated, $expected); } else { skip "response not gzipped"; }