varnishtest "Vary support"

#REQUIRE_VERSION=2.3

feature ignore_unknown_macro

server s1 {
       # Response varying on "accept-encoding" with
       # an unacceptable 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"
       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
       # no content-encoding
       rxreq
       expect req.url == "/accept-encoding"
       txresp -hdr "Content-Type: text/plain" \
               -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 48

       # Response varying on "accept-encoding" but having two different encodings
       rxreq
       expect req.url == "/accept-encoding-multiple"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 51


       # Unmanaged vary
       rxreq
       expect req.url == "/unmanaged"
       txresp -hdr "Vary: accept-encoding,unmanaged" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 51


       rxreq
       expect req.url == "/unmanaged"
       txresp -hdr "Vary: accept-encoding,unmanaged" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 51



       # Mixed Vary (Accept-Encoding + Referer)
       rxreq
       expect req.url == "/referer-accept-encoding"
       txresp -hdr "Vary: accept-encoding,referer" \
               -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: gzip" \
               -bodylen 51

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

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

       # Multiple Accept-Encoding headers
       rxreq
       expect req.url == "/multiple_headers"
       txresp -hdr "Vary: accept-encoding" \
              -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: br" \
              -bodylen 155

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


       # Too many Accept-Encoding values (we will not cache responses with more than 16 encodings)
       rxreq
       expect req.url == "/too_many_encodings"
       txresp -hdr "Vary: accept-encoding" \
              -hdr "Cache-Control: max-age=5" \
               -hdr "Content-Encoding: gzip" \
              -bodylen 177

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


} -start

server s2 {
       # Responses that should not be cached
       rxreq
       expect req.url == "/no_vary_support"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 57

       rxreq
       expect req.url == "/no_vary_support"
       txresp -hdr "Vary: accept-encoding" \
               -hdr "Cache-Control: max-age=5" \
               -bodylen 57
} -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}"
               use_backend no_vary_be if { path_beg /no_vary_support }
               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]

        backend no_vary_be
               http-request cache-use no_vary_cache
               server www ${s2_addr}:${s2_port}
               http-response cache-store no_vary_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

       cache no_vary_cache
               total-max-size 3
               max-age 20
               max-object-size 3072
               process-vary off
} -start


client c1 -connect ${h1_fe_sock} {
       # Accept-Encoding Vary
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: first_value"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45

       # The response for the first request had an unacceptable `content-encoding`
       # which might happen if that's the only thing the server supports, but
       # we must not cache that and instead defer to the server.
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: first_value"
       rxresp
       expect resp.status == 200
       expect resp.http.content-encoding == "gzip"
       expect resp.bodylen == 45
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/accept-encoding" -hdr "Accept-Encoding: second_value"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 48
       expect resp.http.content-type == "text/plain"
       expect resp.http.X-Cache-Hit == 0

       # This request matches the cache entry for the request above, despite
       # matching the `accept-encoding` of the first request because the
       # request above only has the `identity` encoding which is implicitly
       # added, unless explicitely forbidden.
       txreq -url "/accept-encoding" -hdr "Accept-Encoding: first_value"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 48
       expect resp.http.content-type == "text/plain"
       expect resp.http.X-Cache-Hit == 1

       txreq -url "/accept-encoding" -hdr "Accept-Encoding: second_value"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 48
       expect resp.http.content-type == "text/plain"
       expect resp.http.X-Cache-Hit == 1

       # The accept-encoding normalizer function converts the header values
       # to lower case then calculates the hash of every sub part before
       # sorting the hashes and xor'ing them (while removing duplicates).
       txreq -url "/accept-encoding-multiple" -hdr "Accept-Encoding: first,second"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/accept-encoding-multiple" -hdr "Accept-Encoding: first,second"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 1

       txreq -url "/accept-encoding-multiple" -hdr "Accept-Encoding: second,first"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 1

       txreq -url "/accept-encoding-multiple" -hdr "Accept-Encoding: FirsT,SECOND,first"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 1

       # Unmanaged vary
       txreq -url "/unmanaged" -hdr "Accept-Encoding: first_value"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/unmanaged" -hdr "Accept-Encoding: first_value"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 0


       # Mixed Vary (Accept-Encoding + Referer)
       txreq -url "/referer-accept-encoding" \
               -hdr "Accept-Encoding: br, gzip" \
               -hdr "Referer: referer"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/referer-accept-encoding" \
               -hdr "Accept-Encoding: br" \
               -hdr "Referer: other-referer"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 54
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/referer-accept-encoding" \
               -hdr "Accept-Encoding: gzip" \
               -hdr "Referer: other-referer"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 57
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/referer-accept-encoding" \
               -hdr "Referer: referer" \
               -hdr "Accept-Encoding: gzip, br"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 51
       expect resp.http.X-Cache-Hit == 1

       txreq -url "/referer-accept-encoding" \
               -hdr "Accept-Encoding: br" \
               -hdr "Referer: other-referer"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 54
       expect resp.http.X-Cache-Hit == 1

       txreq -url "/referer-accept-encoding" \
               -hdr "Accept-Encoding: gzip" \
               -hdr "Referer: other-referer"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 57
       expect resp.http.X-Cache-Hit == 1


       # Multiple Accept-encoding headers
       txreq -url "/multiple_headers" \
               -hdr "Accept-Encoding: gzip" \
               -hdr "Accept-Encoding: br, deflate"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 155
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/multiple_headers" \
               -hdr "Accept-Encoding: deflate" \
               -hdr "Accept-Encoding: br,gzip"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 155
       expect resp.http.X-Cache-Hit == 1

       # Should not match a cache entry
       txreq -url "/multiple_headers" \
               -hdr "Accept-Encoding: first_encoding"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 166
       expect resp.http.X-Cache-Hit == 0

       # Too many accept encodings
       txreq -url "/too_many_encodings" \
               -hdr "Accept-Encoding: a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 177
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/too_many_encodings" \
               -hdr "Accept-Encoding: a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 188
       expect resp.http.X-Cache-Hit == 0


       # The following requests are treated by a backend that does not cache
       # responses containing a Vary header
       txreq -url "/no_vary_support"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 57
       expect resp.http.X-Cache-Hit == 0

       txreq -url "/no_vary_support"
       rxresp
       expect resp.status == 200
       expect resp.bodylen == 57
       expect resp.http.X-Cache-Hit == 0


} -run
