varnishtest "Check the Accept-Encoding processing implemented in the Vary mechanism"

#REQUIRE_VERSION=2.4

feature ignore_unknown_macro

server s1 {
       # Response varying on "accept-encoding" with a gzip content-encoding
       rxreq
       expect req.url == "/accept-encoding"
       txresp -hdr "Content-Encoding: gzip" \
               -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 45

       # Response varying on "accept-encoding" with a deflate content-encoding
       rxreq
       expect req.url == "/accept-encoding"
       txresp -hdr "Content-Encoding: deflate" \
               -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 55


       # Response varying on "accept-encoding" with no content-encoding (identity)
       rxreq
       expect req.url == "/accept-encoding-identity"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 65

       # Response varying on "accept-encoding" with refused identity encoding
       rxreq
       expect req.url == "/accept-encoding-identity"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: deflate" \
               -bodylen 75


       rxreq
       expect req.url == "/accept-encoding-star"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: br" \
               -bodylen 89

       rxreq
       expect req.url == "/accept-encoding-star"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: deflate" \
               -bodylen 99


       rxreq
       expect req.url == "/multiple-content-encoding"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: deflate, gzip" \
               -bodylen 109

       rxreq
       expect req.url == "/unknown-content-encoding"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: unknown_encoding" \
               -bodylen 119

       rxreq
       expect req.url == "/unknown-content-encoding"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: unknown_encoding" \
               -bodylen 119
} -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@${fe}"
               default_backend test

       backend test
               http-request cache-use my_cache
               server www ${s1_addr}:${s1_port}
               http-response cache-store my_cache
               http-response set-header X-Cache-Hit %[res.cache_hit]

       cache my_cache
               total-max-size 3
               max-age 20
               max-object-size 3072
               process-vary on
} -start


client c1 -connect ${h1_fe_sock} {
       #
       # Accept-Encoding Vary
       #

       # First request
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: gzip"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45

       # Regular case
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: gzip"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Regular case with upper case encoding
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: GZIP"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Multiple accepted encodings (all standard)
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: deflate,gzip"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Multiple accept-encoding headers + non-standard accepted encodings
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: first_encoding,second_encoding" -hdr "Accept-Encoding: gzip"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Regular case with positive weight
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: gzip;q=0.8"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Regular case with positive weight and extra whitespaces
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: gzip  ; q=0.8"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 1

       # Regular case with null weight
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: deflate;q=0.8, gzip;q=0"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "deflate"
       expect resp.bodylen == 55
       expect resp.http.X-Cache-Hit == 0


       #
       # Identity tests
       #
       txreq -url "/accept-encoding-identity"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "<undef>"
       expect resp.bodylen == 65
       expect resp.http.X-Cache-Hit == 0

       # Regular case
       txreq -url "/accept-encoding-identity"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "<undef>"
       expect resp.bodylen == 65
       expect resp.http.X-Cache-Hit == 1

       # Identity is allowed by default even if another encoding is specified
       txreq -url "/accept-encoding-identity" -hdr "Accept-Encoding: gzip"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "<undef>"
       expect resp.bodylen == 65
       expect resp.http.X-Cache-Hit == 1

       # Refused identity encoding (explicit null weight)
       txreq -url "/accept-encoding-identity" -hdr "Accept-Encoding: deflate, identity;q=0"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "deflate"
       expect resp.bodylen == 75
       expect resp.http.X-Cache-Hit == 0


       #
       # Star tests
       #
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: *"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "br"
       expect resp.bodylen == 89
       expect resp.http.X-Cache-Hit == 0

       # Regular case
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: *"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "br"
       expect resp.bodylen == 89
       expect resp.http.X-Cache-Hit == 1

       # Reject some encodings
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: gzip;q=0, deflate,*"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "br"
       expect resp.bodylen == 89
       expect resp.http.X-Cache-Hit == 1

       # Weighted star
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: gzip;q=0, deflate,*;q=0.1"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "br"
       expect resp.bodylen == 89
       expect resp.http.X-Cache-Hit == 1

       # Rejected identity
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: gzip;q=0, deflate,*;q=0.1,identity;q=0"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "br"
       expect resp.bodylen == 89
       expect resp.http.X-Cache-Hit == 1

       # Rejected star and "br" not accepted
       txreq -url "/accept-encoding-star" -hdr "Accept-Encoding: gzip;q=0, deflate,*;q=0"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "deflate"
       expect resp.bodylen == 99
       expect resp.http.X-Cache-Hit == 0


       #
       # Multiple content-encodings
       #
       txreq -url "/multiple-content-encoding" -hdr "Accept-Encoding: gzip;q=0.8, deflate"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "deflate, gzip"
       expect resp.bodylen == 109
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/multiple-content-encoding" -hdr "Accept-Encoding: deflate,gzip;q=0.7"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "deflate, gzip"
       expect resp.bodylen == 109
       expect resp.http.X-Cache-Hit == 1


       #
       # Unknown content-encoding
       #
       txreq -url "/unknown-content-encoding" -hdr "Accept-Encoding: gzip;q=0.8, deflate, first_encoding"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "unknown_encoding"
       expect resp.bodylen == 119
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/unknown-content-encoding" -hdr "Accept-Encoding: deflate,gzip;q=0.8, first_encoding"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "unknown_encoding"
       expect resp.bodylen == 119
       expect resp.http.X-Cache-Hit == 1

       # Different set of accepted encodings
       txreq -url "/unknown-content-encoding" -hdr "Accept-Encoding: deflate, first_encoding"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "unknown_encoding"
       expect resp.bodylen == 119
       expect resp.http.X-Cache-Hit == 0

} -run
