summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/preload/resources/stash-put.py
blob: f4bc87940ec9b55737aaec28c3a21cafe8b420d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from wptserve.utils import isomorphic_decode

def main(request, response):
    if request.method == u'OPTIONS':
        # CORS preflight
        response.headers.set(b'Access-Control-Allow-Origin', b'*')
        response.headers.set(b'Access-Control-Allow-Methods', b'*')
        response.headers.set(b'Access-Control-Allow-Headers', b'*')
        return 'done'

    url_dir = u'/'.join(request.url_parts.path.split(u'/')[:-1]) + u'/'
    key = request.GET.first(b"key")
    if b"value" in request.GET:
        value = request.GET.first(b"value")
    else:
        value = b"value"
    # value here must be a text string. It will be json.dump()'ed in stash-take.py.
    request.server.stash.put(key, isomorphic_decode(value), url_dir)
    response.headers.set(b'Access-Control-Allow-Origin', b'*')
    return "done"