diff options
author | Stefan Eissing <icing@apache.org> | 2022-10-19 09:16:30 +0000 |
---|---|---|
committer | Stefan Eissing <icing@apache.org> | 2022-10-19 09:16:30 +0000 |
commit | f3ab5c5dd6d1f4debbb38c282521300c2b64fe45 (patch) | |
tree | b770d8250986eba09828a671e01cf9aebe2dee61 /test | |
parent | ac14c53501a90fc61ad19ded358d7ec20885aa5c (diff) | |
download | httpd-f3ab5c5dd6d1f4debbb38c282521300c2b64fe45.tar.gz |
tests modules/http1: use "Header add" to produce response headers with whitespace.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904693 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
-rw-r--r-- | test/modules/http1/test_007_strict.py | 28 | ||||
-rw-r--r-- | test/pyhttpd/env.py | 3 |
2 files changed, 30 insertions, 1 deletions
diff --git a/test/modules/http1/test_007_strict.py b/test/modules/http1/test_007_strict.py index 4649b01123..78182419dc 100644 --- a/test/modules/http1/test_007_strict.py +++ b/test/modules/http1/test_007_strict.py @@ -67,3 +67,31 @@ class TestRequestStrict: assert int(m.group(1)) == status, f"{rlines}" else: assert int(m.group(1)) >= 400, f"{rlines}" + + @pytest.mark.parametrize(["hvalue", "expvalue"], [ + ['123', '123'], + ['123 ', '123 '], # trailing space stays + ['123\t', '123\t'], # trailing tab stays + [' 123', '123'], # leading space is stripped + [' 123', '123'], # leading spaces are stripped + ['\t123', '123'], # leading tab is stripped + ]) + def test_h1_007_02(self, env, hvalue, expvalue): + hname = 'ap-test-007' + conf = H1Conf(env, extras={ + f'test1.{env.http_tld}': [ + '<Location />', + f'Header add {hname} "{hvalue}"', + '</Location>', + ] + }) + conf.add_vhost_test1( + proxy_self=True + ) + conf.install() + assert env.apache_restart() == 0 + url = env.mkurl("https", "test1", "/") + r = env.curl_get(url, options=['--http1.1']) + assert r.response["status"] == 200 + assert r.response["header"][hname] == expvalue + diff --git a/test/pyhttpd/env.py b/test/pyhttpd/env.py index af856effe4..67d32b7b38 100644 --- a/test/pyhttpd/env.py +++ b/test/pyhttpd/env.py @@ -739,7 +739,8 @@ class HttpdTestEnv: self.curl_parse_headerfile(headerfile, r=r) if r.json: r.response["json"] = r.json - os.remove(headerfile) + if os.path.isfile(headerfile): + os.remove(headerfile) return r def curl_get(self, url, insecure=False, options=None): |