import json import time def main(request, response): uid = request.GET.first(b"uid") name = request.GET.first(b"name") time.sleep(0.1) messagesByName = [] if request.method == 'POST': with request.server.stash.lock: messages = request.server.stash.take(uid) or {} if name in messages: messagesByName = messages[name] messagesByName.append(json.loads(request.body)) messages[name] = messagesByName request.server.stash.put(uid, messages) response.status = 204 else: with request.server.stash.lock: messages = request.server.stash.take(uid) or {} if name in messages: messagesByName = messages[name] request.server.stash.put(uid, messages) response.status = 200 response.headers['Content-Type'] = 'application/json' response.content = json.dumps(messagesByName)