| varnishtest "field converter Test" |
| |
| feature ignore_unknown_macro |
| |
| server s1 { |
| rxreq |
| txresp -hdr "Connection: close" |
| } -repeat 3 -start |
| |
| haproxy h1 -conf { |
| defaults |
| mode http |
| timeout connect 1s |
| timeout client 1s |
| timeout server 1s |
| |
| frontend fe |
| bind "fd@${fe}" |
| |
| #### requests |
| http-request set-var(txn.uri) path |
| http-response set-header Found %[var(txn.uri),field(3,/)] if { var(txn.uri),field(3,/) -m found } |
| |
| default_backend be |
| |
| backend be |
| server s1 ${s1_addr}:${s1_port} |
| } -start |
| |
| client c1 -connect ${h1_fe_sock} { |
| txreq -url "/foo/bar/baz" |
| rxresp |
| expect resp.status == 200 |
| expect resp.http.found == "bar" |
| txreq -url "/foo//bar/baz" |
| rxresp |
| expect resp.status == 200 |
| expect resp.http.found == "" |
| txreq -url "/foo" |
| rxresp |
| expect resp.status == 200 |
| expect resp.http.found == "<undef>" |
| } -run |