mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-20 10:40:13 +00:00
e349159a34
HAProxy 2.2 is the lowest supported version, thus this always matches.
see 7aff1bf6b9
73 lines
2.1 KiB
Plaintext
73 lines
2.1 KiB
Plaintext
varnishtest "Check that generic TLV IDs are sent properly"
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode http
|
|
log global
|
|
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
listen sender
|
|
bind "fd@${feS}"
|
|
server example ${h1_feR_addr}:${h1_feR_port} send-proxy-v2 set-proxy-v2-tlv-fmt(0xE1) %[str("foo")] set-proxy-v2-tlv-fmt(0xE2)
|
|
|
|
listen receiver
|
|
bind "fd@${feR}" accept-proxy
|
|
|
|
# Check that the TLV value is set in the backend.
|
|
http-request set-var(txn.custom_tlv_a) fc_pp_tlv(0xE1)
|
|
http-after-response set-header proxy_custom_tlv_a %[var(txn.custom_tlv_a)]
|
|
|
|
# Check that TLVs without an value are sent out.
|
|
http-request set-var(txn.custom_tlv_b) fc_pp_tlv(0xE2)
|
|
http-after-response set-header proxy_custom_tlv_b %[var(txn.custom_tlv_b)]
|
|
|
|
# Note that we do not check for an invalid TLV ID as that would result in an
|
|
# parser error anyway.
|
|
|
|
http-request return status 200
|
|
} -start
|
|
|
|
|
|
client c1 -connect ${h1_feS_sock} {
|
|
txreq -url "/"
|
|
rxresp
|
|
expect resp.http.proxy_custom_tlv_a == "foo"
|
|
expect resp.http.proxy_custom_tlv_b == ""
|
|
} -run
|
|
|
|
# Ensure that we achieve the same via a default-server.
|
|
haproxy h2 -conf {
|
|
defaults
|
|
mode http
|
|
log global
|
|
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
listen sender
|
|
bind "fd@${feS}"
|
|
default-server send-proxy-v2 set-proxy-v2-tlv-fmt(0xE1) %[str("bar")]
|
|
server example ${h1_feR_addr}:${h1_feR_port}
|
|
|
|
listen receiver
|
|
bind "fd@${feR}" accept-proxy
|
|
|
|
http-request set-var(txn.custom_tlv_a) fc_pp_tlv(0xE1)
|
|
http-after-response set-header proxy_custom_tlv_a %[var(txn.custom_tlv_a)]
|
|
|
|
http-request return status 200
|
|
} -start
|
|
|
|
|
|
client c2 -connect ${h2_feS_sock} {
|
|
txreq -url "/"
|
|
rxresp
|
|
expect resp.http.proxy_custom_tlv_a == "bar"
|
|
} -run
|