mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-22 13:32:44 +00:00
REGTESTS: http: add a test to validate chunked responses delivery
I've had this test here never committed over the last 2.5 years, that works fine and I didn't notice it was not part of the tree. It makes a server return odd-sized chunked responses with short pauses between half of thems and verifies they're not truncated on the client. It may detect eventually state machine breakages, so better commit it.
This commit is contained in:
parent
82f4bcafae
commit
42faad48f6
101
reg-tests/http-messaging/truncated.vtc
Normal file
101
reg-tests/http-messaging/truncated.vtc
Normal file
@ -0,0 +1,101 @@
|
||||
varnishtest "HTTP response size tests: H2->H1 (HTX and legacy mode)"
|
||||
#REQUIRE_VERSION=1.9
|
||||
|
||||
feature ignore_unknown_macro
|
||||
|
||||
server s1 {
|
||||
rxreq
|
||||
txresp \
|
||||
-status 200 \
|
||||
-nolen \
|
||||
-hdr "Transfer-encoding: chunked"
|
||||
# -bodylen 16300
|
||||
#chunkedlen 16300
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
chunkedlen 815
|
||||
#delay 0.05
|
||||
chunkedlen 815
|
||||
delay 0.05
|
||||
} -repeat 2 -start
|
||||
|
||||
haproxy h1 -conf {
|
||||
defaults
|
||||
#log stdout format raw daemon
|
||||
mode http
|
||||
option http-buffer-request
|
||||
timeout connect 1s
|
||||
timeout client 1s
|
||||
timeout server 1s
|
||||
|
||||
listen feh1
|
||||
bind "fd@${feh1}"
|
||||
bind "fd@${feh2}" proto h2
|
||||
http-response add-header a b
|
||||
#http-response del-header content-length
|
||||
server s1 ${s1_addr}:${s1_port}
|
||||
} -start
|
||||
|
||||
client c1h2 -connect ${h1_feh2_sock} {
|
||||
txpri
|
||||
stream 0 {
|
||||
txsettings
|
||||
rxsettings
|
||||
txsettings -ack
|
||||
rxsettings
|
||||
expect settings.ack == true
|
||||
} -run
|
||||
|
||||
# first request is valid
|
||||
stream 1 {
|
||||
txreq \
|
||||
-req "GET" \
|
||||
-scheme "https" \
|
||||
-url "/test1.html"
|
||||
rxhdrs
|
||||
#delay 0.1
|
||||
expect resp.status == 200
|
||||
rxdata -all
|
||||
expect resp.bodylen == 16300
|
||||
#expext resp.chunkedlen == 16300
|
||||
} -run
|
||||
} -repeat 2 -run
|
Loading…
Reference in New Issue
Block a user