diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:01:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 15:01:31 +0000 |
commit | c9cf025fadfe043f0f2f679e10d1207d8a158bb6 (patch) | |
tree | 3a94effe0bdc0a6814d8134f4ed840d7cc6b6f19 /debian/perl-framework/t/apache/pr17629.t | |
parent | Adding upstream version 2.4.57. (diff) | |
download | apache2-debian/2.4.57-2.tar.xz apache2-debian/2.4.57-2.zip |
Adding debian version 2.4.57-2.debian/2.4.57-2debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | debian/perl-framework/t/apache/pr17629.t | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/debian/perl-framework/t/apache/pr17629.t b/debian/perl-framework/t/apache/pr17629.t new file mode 100644 index 0000000..a089e98 --- /dev/null +++ b/debian/perl-framework/t/apache/pr17629.t @@ -0,0 +1,51 @@ +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 a CGI script. +# The CGI script has the CASE filter applied. +# The CGI script returns a redirect to /foobar.html. +# The flat file does not have the DEFLATE filter applied. + +# The test is that the internal redirect when applied to the +# subrequest must retain the DEFLATE filter in the filter chain, but +# must lose the CASE filter. + +my $uri = "/modules/deflate/ssi/ssi.shtml"; + +my $content = GET_BODY($uri); + +my $expected = "begin-foobar-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"; +} |