vtest "Test for balance URI"
feature ignore_unknown_macro
#REQUIRE_VERSION=2.3

server s1 {
    rxreq
    txresp -hdr "Server: s1" -body "s1"
} -repeat 5 -start

server s2 {
    rxreq
    txresp -hdr "Server: s2" -body "s2"
} -repeat 5 -start

server s3 {
    rxreq
    txresp -hdr "Server: s3" -body "s3"
} -repeat 5 -start

server s4 {
    rxreq
    txresp -hdr "Server: s4" -body "s4"
} -repeat 5 -start

haproxy h1 -arg "-L A" -conf {
    defaults
        mode http
        timeout server 1s
        timeout connect 1s
        timeout client 1s

    listen px
        bind "fd@${px}"
        bind "fd@${pxh2}" proto h2
        balance uri path-only
        server srv1 ${s1_addr}:${s1_port}
        server srv2 ${s2_addr}:${s2_port}
        server srv3 ${s3_addr}:${s3_port}
        server srv4 ${s4_addr}:${s4_port}
} -start

client c1 -connect ${h1_px_sock} {
    txreq -url "http://${h1_px_addr}/url1"
    rxresp
    expect resp.status == 200
    expect resp.http.Server ~ s2
} -run

client c2 -connect ${h1_px_sock} {
    txreq -url "/url1?ignore=this-arg"
    rxresp
    expect resp.status == 200
    expect resp.http.Server ~ s2
} -run

client c3 -connect ${h1_px_sock} {
    txreq -url "http://${h1_px_addr}/url2"
    rxresp
    expect resp.status == 200
    expect resp.http.Server ~ s3
} -run

client c4 -connect ${h1_px_sock} {
    txreq -url "/url3"
    rxresp
    expect resp.status == 200
    expect resp.http.Server ~ s4
} -run

client c5 -connect ${h1_px_sock} {
    txreq -url "/url4"
    rxresp
    expect resp.status == 200
    expect resp.http.Server ~ s1
} -run

client c6h2 -connect ${h1_pxh2_sock} {
	txpri
	stream 0 {
		txsettings
		rxsettings
		txsettings -ack
		rxsettings
		expect settings.ack == true
	} -run

	stream 1 {
		txreq \
		  -req "GET" \
		  -scheme "https" \
		  -url "/url1"
		rxhdrs
		expect resp.status == 200
		rxdata -all
		expect resp.body == "s2"
	} -run
} -run
