Source code

Revision control

Copy as Markdown

Other Tools

def main(request, response):
if b"clear-vary-value-override-cookie" in request.GET:
response.unset_cookie(b"vary-value-override")
return b"vary cookie cleared"
set_cookie_vary = request.GET.first(b"set-vary-value-override-cookie",
default=b"")
if set_cookie_vary:
response.set_cookie(b"vary-value-override", set_cookie_vary)
return b"vary cookie set"
# If there is a vary-value-override cookie set, then use its value
# for the VARY header no matter what the query string is set to. This
# override is necessary to test the case when two URLs are identical
# (including query), but differ by VARY header.
cookie_vary = request.cookies.get(b"vary-value-override")
if cookie_vary:
response.headers.set(b"vary", str(cookie_vary))
else:
# If there is no cookie, then use the query string value, if present.
query_vary = request.GET.first(b"vary", default=b"")
if query_vary:
response.headers.set(b"vary", query_vary)
return b"vary response"