varnishtest "Composite HTTP manipulation test (H1 and H2 clear to H1 clear)"
#REQUIRE_VERSION=1.9

# This config tests several http-request features and their interactions.
# It extracts some samples, places them into variables, modifies some header
# fields, appends multiple identical header fields, overwrites the start line
# using several methods, then dumps the initial list of variables and the final
# one, then applies CRC32 to these values as signatures that are easy to test.
# Then it does it again in the backend after saving the current headers into
# the same names prefixed by "fe-". Then it does the same on the response path.
# If some modifications are performed, the crc values need to be adjusted based
# on the failed logs.
#
# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"

feature ignore_unknown_macro

server s1 {
	rxreq
	txresp \
	  -status 234 \
	  -hdr "hdr1: val1" \
	  -hdr "hdr2:  val2a" \
	  -hdr "hdr2:    val2b" \
	  -hdr "hdr3:      val3a, val3b" \
	  -hdr "hdr4:" \
	  -body "This is a body"

	expect req.method == "GET"
	expect req.http.fe-sl1-crc == 992395575
	expect req.http.fe-sl2-crc == 1270056220
	expect req.http.fe-hdr-crc == 1719311923
	expect req.http.be-sl1-crc == 2604236007
	expect req.http.be-sl2-crc == 4181358964
	expect req.http.be-hdr-crc == 3634102538
} -repeat 2 -start

haproxy h1 -conf {
    defaults
	mode http
	${no-htx} option http-use-htx
	timeout connect 1s
	timeout client  1s
	timeout server  1s

    frontend fe
	bind "fd@${feh1}"
	bind "fd@${feh2}" proto h2

	#### requests
	http-request set-var(req.method)     method
	http-request set-var(req.uri)        url
	http-request set-var(req.path)       path
	http-request set-var(req.query)      query
	http-request set-var(req.param)      url_param(qs_arg)

	http-request set-header     sl1      "sl1: "

	http-request set-method              "%[str(GET)]"
	http-request set-uri                 concat(/bu/,req.uri,/eu)
	http-request set-path                "/bp/%[var(req.path)]/ep"
	http-request set-query               "bq&%[var(req.query)]&eq"

	http-request set-header     sl2      "sl2: "

	http-request set-header     sl1      "%[req.fhdr(sl1)] method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
	http-request set-header     sl1      "%[req.fhdr(sl1)] query=<%[var(req.query)]>; param=<%[var(req.param)]>"
	http-request set-header     sl2      "%[req.fhdr(sl2)] method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
	http-request set-header     sl2      "%[req.fhdr(sl2)] query=<%[query]>; param=<%[url_param(qs_arg)]>"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"

	http-request set-header     sl1-crc  "%[req.fhdr(sl1),crc32]"
	http-request set-header     sl2-crc  "%[req.fhdr(sl2),crc32]"
	http-request set-header     hdr-crc  "%[req.fhdr(hdr),crc32]"

	#### responses
	http-response set-header    be-sl1   "%[res.fhdr(sl1)]"
	http-response set-header    be-sl2   "%[res.fhdr(sl2)]"
	http-response set-header    be-hdr   "%[res.fhdr(hdr)]"

	http-response set-header  be-sl1-crc "%[res.fhdr(sl1-crc)]"
	http-response set-header  be-sl2-crc "%[res.fhdr(sl2-crc)]"
	http-response set-header  be-hdr-crc "%[res.fhdr(hdr-crc)]"

	http-response set-var(res.status)    status
	http-response set-header    sl1      "sl1: "

	http-response set-status    200

	http-response set-header    sl2      "sl2: "

	http-response set-header    sl1      "%[res.fhdr(sl1)] status=<%[var(res.status)]>;"
	http-response set-header    sl2      "%[res.fhdr(sl2)] status=<%[status]>;"
	http-response set-header    hdr      "%[res.fhdr(hdr)] hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
	http-response set-header    hdr      "%[res.fhdr(hdr)] hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
	http-response set-header    hdr      "%[res.fhdr(hdr)] hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
	http-response set-header    hdr      "%[res.fhdr(hdr)] hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"

	http-response set-header  fe-sl1-crc "%[res.fhdr(sl1),crc32]"
	http-response set-header  fe-sl2-crc "%[res.fhdr(sl2),crc32]"
	http-response set-header  fe-hdr-crc "%[res.fhdr(hdr),crc32]"

	default_backend be

    backend be
	#### requests
	http-request set-header     fe-sl1   "%[req.fhdr(sl1)]"
	http-request set-header     fe-sl2   "%[req.fhdr(sl2)]"
	http-request set-header     fe-hdr   "%[req.fhdr(hdr)]"

	http-request set-header   fe-sl1-crc "%[req.fhdr(sl1-crc)]"
	http-request set-header   fe-sl2-crc "%[req.fhdr(sl2-crc)]"
	http-request set-header   fe-hdr-crc "%[req.fhdr(hdr-crc)]"

	http-request set-var(req.method)     method
	http-request set-var(req.uri)        url
	http-request set-var(req.path)       path
	http-request set-var(req.query)      query
	http-request set-var(req.param)      url_param(qs_arg)

	http-request set-header     sl1      "sl1: "

	http-request set-method              "%[str(GET)]"
	http-request set-uri                 concat(/bu/,req.uri,/eu)
	http-request set-path                "/bp/%[var(req.path)]/ep"
	http-request set-query               "bq&%[var(req.query)]&eq"

	http-request set-header     sl2      "sl2: "

	http-request set-header     sl1      "%[req.fhdr(sl1)] method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
	http-request set-header     sl1      "%[req.fhdr(sl1)] query=<%[var(req.query)]>; param=<%[var(req.param)]>"
	http-request set-header     sl2      "%[req.fhdr(sl2)] method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
	http-request set-header     sl2      "%[req.fhdr(sl2)] query=<%[query]>; param=<%[url_param(qs_arg)]>"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
	http-request set-header     hdr      "%[req.fhdr(hdr)] hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"

	http-request set-header   be-sl1-crc "%[req.fhdr(sl1),crc32]"
	http-request set-header   be-sl2-crc "%[req.fhdr(sl2),crc32]"
	http-request set-header   be-hdr-crc "%[req.fhdr(hdr),crc32]"

	#### responses
	http-response set-var(res.status)    status
	http-response set-header     sl1     "sl1: "

	http-response set-status     200

	http-response set-header     sl2     "sl2: "

	http-response set-header     sl1     "%[res.fhdr(sl1)] status=<%[var(res.status)]>;"
	http-response set-header     sl2     "%[res.fhdr(sl2)] status=<%[status]>;"
	http-response set-header     hdr     "%[res.fhdr(hdr)] hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
	http-response set-header     hdr     "%[res.fhdr(hdr)] hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
	http-response set-header     hdr     "%[res.fhdr(hdr)] hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
	http-response set-header     hdr     "%[res.fhdr(hdr)] hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"

	http-response set-header     sl1-crc "%[res.fhdr(sl1),crc32]"
	http-response set-header     sl2-crc "%[res.fhdr(sl2),crc32]"
	http-response set-header     hdr-crc "%[res.fhdr(hdr),crc32]"

	server s1 ${s1_addr}:${s1_port}
} -start

client c1h1 -connect ${h1_feh1_sock} {
	txreq \
	  -req GET \
	  -url /path/to/file.extension?qs_arg=qs_value \
	  -hdr "hdr1: val1" \
	  -hdr "hdr2:  val2a" \
	  -hdr "hdr2:    val2b" \
	  -hdr "hdr3:      val3a, val3b" \
	  -hdr "hdr4:"
	rxresp

	expect resp.status == 200
	expect resp.http.be-sl1-crc == 487202719
	expect resp.http.be-sl2-crc == 561949791
	expect resp.http.be-hdr-crc == 1719311923
	expect resp.http.fe-sl1-crc == 146151597
	expect resp.http.fe-sl2-crc == 561949791
	expect resp.http.fe-hdr-crc == 3634102538
	expect resp.bodylen == 14
	expect resp.body == "This is a body"
} -run

client c1h2 -connect ${h1_feh2_sock} {
	txpri
	stream 0 {
		txsettings
		rxsettings
		txsettings -ack
		rxwinup
		rxsettings
		expect settings.ack == true
	} -run
	stream 1 {
		# warning: -req, -scheme, -url MUST be placed first otherwise
		# the H2 protocol is invalid since they are pseudo-headers
		txreq \
		  -req GET \
		  -scheme "https" \
		  -url /path/to/file.extension?qs_arg=qs_value \
		  -hdr "hdr1" "val1" \
		  -hdr "hdr2" " val2a" \
		  -hdr "hdr2" "   val2b" \
		  -hdr "hdr3" "     val3a, val3b" \
		  -hdr "hdr4" ""

		rxhdrs
		expect resp.status == 200
		expect resp.http.be-sl1-crc == 487202719
		expect resp.http.be-sl2-crc == 561949791
		expect resp.http.be-hdr-crc == 1719311923
		expect resp.http.fe-sl1-crc == 146151597
		expect resp.http.fe-sl2-crc == 561949791
		expect resp.http.fe-hdr-crc == 3634102538
		expect resp.http.content-length == 14

		rxdata -all
		expect resp.body == "This is a body"
	} -run
} -run
