# Test configuration. It listens on port 8000, forwards to
# local ports 8001/8002 as two distinct servers, and relies
# on a server running on local port 8080 to handle the request.

# Example of request that must be handled (taken from RFC2965 and mangled
# a bit) :
# POST /acme/process HTTP/1.1
# Cookie: $Version="1";
#        Customer="WILE_E_COYOTE"; $Path="/acme";
#     SID= s2 ; $Path="/";
#                Part_Number="Rocket_Launcher_0001"; $Path="/acme";
#                Shipping="FedEx"; $Path="/acme"
#
#
#

global
	maxconn 500
	stats socket /tmp/sock1 mode 777 level admin
	stats timeout 1d

defaults
	mode	http
	option  http-server-close
	timeout	client 30s
	timeout server 30s
	timeout connect 5s

listen test
	log 127.0.0.1 local0
	option httplog
	bind :8000
	cookie SID insert indirect
	server s1 127.0.0.1:8001 cookie s1
	server s2 127.0.0.1:8002 cookie s2
	capture cookie toto= len 10

listen s1
	bind 127.0.0.1:8001
	server srv 127.0.0.1:8080
	reqadd x-haproxy-used:\ s1

listen s2
	bind 127.0.0.1:8002
	server srv 127.0.0.1:8080
	reqadd x-haproxy-used:\ s2

