def main(request, response): """Send a response with the Origin-Agent-Cluster header given in the "header" query parameter, or no header if that is not provided. Other query parameters (only their presence/absence matters) are "send-loaded-message" and "redirect-first", which modify the behavior a bit. In either case, the response will listen for various messages posted and coordinate with the sender. See ./helpers.mjs for how these handlers are used. """ if b"redirect-first" in request.GET: # Create a new query string, which is the same as the one we're given but # with the redirect-first component stripped out. This allows tests to use # any value (or no value) for the other query params, in combination with # redirect-first. query_string_pieces = [] if b"header" in request.GET: query_string_pieces.append(b"header=" + request.GET.first(b"header")) if b"send-loaded-message" in request.GET: query_string_pieces.append(b"send-loaded-message") query_string = b"?" + b"&".join(query_string_pieces) return ( 302, [(b"Location", b"/html/browsers/origin/origin-keyed-agent-clusters/resources/send-oac-header.py" + query_string)], u"" ) if b"header" in request.GET: header = request.GET.first(b"header") response.headers.set(b"Origin-Agent-Cluster", header) response.headers.set(b"Content-Type", b"text/html") return u""" Helper page for origin-keyed agent cluster tests """