summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fetch/api/resources/stash-put.py
blob: dbc7ceebb882ebb77a0202b3c9a828e2c70dc3bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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")
    value = request.GET.first(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"