blob: e7a914eca827631a8bc7878112c6b6de87e7ce91 [file] [log] [blame]
from six import text_type
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", text_type(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"