varnishtest "Test the http-reuse always mode"

#REQUIRE_VERSION=2.2

feature ignore_unknown_macro

haproxy h1 -conf {
	defaults
		mode http

	listen sender
		bind "fd@${feS}"
		http-reuse always
		server srv ${h1_feR_addr}:${h1_feR_port}

	listen receiver
		bind "fd@${feR}"
		http-request return status 200
		http-after-response set-header http_first_request %[http_first_req]
} -start

# bootstrap
client c1 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.http.http_first_request == "1"
} -run

client c2 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.http.http_first_request == "0"

	txreq
	rxresp
	expect resp.http.http_first_request == "0"
} -run

client c3 -connect ${h1_feS_sock} {
	txreq
	rxresp
	expect resp.http.http_first_request == "0"
} -run
