+ print(A1PMS_WRITE_URL+ " msg+status (correlationid="+cid+") :" + str(msg_str))
+ except Exception as e:
+ print(A1PMS_WRITE_URL+"-"+CAUGHT_EXCEPTION+" "+str(e) + " "+traceback.format_exc())
+ return Response('{"message": "' + SERVER_ERROR + ' ' + str(e) + '","status":"500"}', status=200, mimetype=MIME_JSON)
+
+ return Response('{}', status=200, mimetype=MIME_JSON)
+
+@app.route(ORU_WRITE_URL,
+ methods=['PUT','POST'])
+def oru_write():
+ global msg_requests
+ msg=json.dumps(request.json)
+ msg_requests.append(msg)
+ return Response('{}', status=200, mimetype=MIME_JSON)
+
+@app.route(ORU_READ_URL,
+ methods=['GET'])
+def oru_read():
+ global msg_requests
+ if(len(msg_requests)>0):
+ rsp=msg_requests.pop(0)
+ res=[]
+ res.append(rsp)
+ return Response(json.dumps(res), status=200, mimetype=MIME_JSON)
+ return Response("[]", status=200, mimetype=MIME_JSON)
+
+# Generic POST catching all urls starting with /events/<topic>.
+# Writes the message in a que for that topic
+@app.route("/events/<path>",
+ methods=['POST'])
+def generic_write(path):
+ global generic_messages
+ global cntr_msg_responses_submitted
+ urlkey="/events/"+str(path)
+ write_method=str(request.method)
+ with lock:
+ try:
+ if (urlkey.endswith(".text")):
+ payload=str(request.data.decode('UTF-8'))
+ print(write_method+" on "+urlkey+" text=" + payload)
+ else:
+ payload=request.json
+ print(write_method+" on "+urlkey+" json=" + json.dumps(payload))
+ topicmsgs=[]
+ if (urlkey in generic_messages.keys()):
+ topicmsgs=generic_messages[urlkey]
+ else:
+ generic_messages[urlkey]=topicmsgs
+
+ if isinstance(payload, list):
+ for listitem in payload:
+ topicmsgs.append(listitem)
+ else:
+ topicmsgs.append(payload)
+
+ cntr_msg_responses_submitted += 1