varnishtest "del-header tests" # This config tests various http-request/response del-header operations # with or without specified header name matching method. feature ignore_unknown_macro server s1 { rxreq expect req.url == / expect req.http.x-always == always expect req.http.x-str1 == expect req.http.x-str2 == expect req.http.x-beg1 == expect req.http.x-beg2 == expect req.http.x-end1 == expect req.http.x-end2 == end2 expect req.http.x-sub1 == expect req.http.x-sub2 == expect req.http.x-reg1 == expect req.http.x-reg2 == txresp -hdr "x-always: always" \ -hdr "x-str1: str1" \ -hdr "x-str2: str2" \ -hdr "x-beg1: beg1" \ -hdr "x-beg2: beg2" \ -hdr "x-end1: end1" \ -hdr "x-end2: end2" \ -hdr "x-sub1: sub1" \ -hdr "x-sub2: sub2" \ -hdr "x-reg1: reg1" \ -hdr "x-reg2: reg2" } -start haproxy h1 -conf { defaults mode http timeout connect "${HAPROXY_TEST_TIMEOUT-5s}" timeout client "${HAPROXY_TEST_TIMEOUT-5s}" timeout server "${HAPROXY_TEST_TIMEOUT-5s}" frontend fe bind "fd@${fe}" http-request del-header x-str1 http-request del-header x-str2 -m str http-request del-header x-beg -m beg http-request del-header end1 -m end http-request del-header sub -m sub http-request del-header ^x.reg.$ -m reg http-response del-header x-str1 http-response del-header x-str2 -m str http-response del-header x-beg -m beg http-response del-header end1 -m end http-response del-header sub -m sub http-response del-header ^x.reg.$ -m reg default_backend be backend be server s1 ${s1_addr}:${s1_port} } -start client c1 -connect ${h1_fe_sock} { txreq -req GET -url / \ -hdr "x-always: always" \ -hdr "x-str1: str1" \ -hdr "x-str2: str2" \ -hdr "x-beg1: beg1" \ -hdr "x-beg2: beg2" \ -hdr "x-end1: end1" \ -hdr "x-end2: end2" \ -hdr "x-sub1: sub1" \ -hdr "x-sub2: sub2" \ -hdr "x-reg1: reg1" \ -hdr "x-reg2: reg2" rxresp expect resp.status == 200 expect resp.http.x-always == always expect resp.http.x-str1 == expect resp.http.x-str2 == expect resp.http.x-beg1 == expect resp.http.x-beg2 == expect resp.http.x-end1 == expect resp.http.x-end2 == end2 expect resp.http.x-sub1 == expect resp.http.x-sub2 == expect resp.http.x-reg1 == expect resp.http.x-reg2 == } -run