summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/t/apache/pr17629.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 19:09:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 19:09:23 +0000
commit1b631c75a166e0258aad972d74af929b7968ea66 (patch)
treeb5735fd08977a7f74bb1753a6952caeeb1fb73f6 /debian/perl-framework/t/apache/pr17629.t
parentAdding upstream version 2.4.58. (diff)
downloadapache2-1b631c75a166e0258aad972d74af929b7968ea66.tar.xz
apache2-1b631c75a166e0258aad972d74af929b7968ea66.zip
Adding debian version 2.4.58-1.debian/2.4.58-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/perl-framework/t/apache/pr17629.t')
-rw-r--r--debian/perl-framework/t/apache/pr17629.t51
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";
+}