varnishtest "ub64dec sample fetche Test" #REQUIRE_VERSION=2.4 feature ignore_unknown_macro haproxy h1 -conf { global # WT: limit false-positives causing "HTTP header incomplete" due to # idle server connections being randomly used and randomly expiring # under us. tune.idle-pool.shared off 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}" acl input hdr(encode) -m found http-request return content-type text/plain hdr encode %[hdr(encode),ub64enc] hdr decode %[hdr(decode),ub64dec] if input http-request return content-type text/plain hdr encode %[bin(14fb9c03d97f12d97e),ub64enc] hdr decode %[str(FPucA9l_Etl-),ub64dec,hex,lower] if !input } -start client c1 -connect ${h1_fe_sock} { txreq -hdr "encode: f" -hdr "decode: Zg" rxresp expect resp.http.encode == "Zg" expect resp.http.decode == "f" txreq -hdr "encode: fo" -hdr "decode: Zm8" rxresp expect resp.http.encode == "Zm8" expect resp.http.decode == "fo" txreq -hdr "encode: foo" -hdr "decode: Zm9v" rxresp expect resp.http.encode == "Zm9v" expect resp.http.decode == "foo" txreq -hdr "encode: foob" -hdr "decode: Zm9vYg" rxresp expect resp.http.encode == "Zm9vYg" expect resp.http.decode == "foob" txreq -hdr "encode: fooba" -hdr "decode: Zm9vYmE" rxresp expect resp.http.encode == "Zm9vYmE" expect resp.http.decode == "fooba" txreq -hdr "encode: foobar" -hdr "decode: Zm9vYmFy" rxresp expect resp.http.encode == "Zm9vYmFy" expect resp.http.decode == "foobar" txreq rxresp expect resp.http.encode == "FPucA9l_Etl-" expect resp.http.decode == "14fb9c03d97f12d97e" } -run