blob: 9bf9e1f18c2b171bd891b9276e1c40d549b8539f [file] [log] [blame]
import json
from wptserve.utils import isomorphic_decode
def main(request, response):
key = request.GET.first(b"stash")
origin = request.headers.get(b"origin")
if origin is None:
origin = b"no Origin header"
origin_list = request.server.stash.take(key)
if b"dump" in request.GET:
response.headers.set(b"Content-Type", b"application/json")
response.content = json.dumps(origin_list)
return
if origin_list is None:
origin_list = [isomorphic_decode(origin)]
else:
origin_list.append(isomorphic_decode(origin))
request.server.stash.put(key, origin_list)
if b"location" in request.GET:
response.status = 308
response.headers.set(b"Location", request.GET.first(b"location"))
return
response.headers.set(b"Content-Type", b"text/html")
response.headers.set(b"Access-Control-Allow-Origin", b"*")
response.content = b"<meta charset=utf-8>\n<body><script>parent.postMessage('loaded','*')</script></body>"