28 lines
975 B
Python
28 lines
975 B
Python
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)
|