# HG changeset patch # User Kim Alvefur # Date 1579909026 -3600 # Node ID fb29d7cd698b3a1cc6810861d1f13a745e304e3a # Parent 66f96b98d2193e5e8d8c0abb231519c0d6f9cd1e mod_rest: Add an examlpe Flask app diff -r 66f96b98d219 -r fb29d7cd698b mod_rest/example/app.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_rest/example/app.py Sat Jan 25 00:37:06 2020 +0100 @@ -0,0 +1,51 @@ +from flask import Flask, Response, request, jsonify + +app = Flask("echobot") + + +@app.route("/api", methods=["POST"]) +def hello(): + print(request.data) + if request.is_json: + data = request.get_json() + + if "kind" not in data: + return Response(status=400) + + if data["kind"] == "message" and "body" in data: + return jsonify({"body": "Yes this is flask app"}) + + elif data["kind"] == "iq" and data["type"] == "get": + if "ping" in data: + return Response(status=204) + + elif "disco" in data: + return jsonify( + { + "disco": { + "identities": [ + { + "category": "component", + "type": "generic", + "name": "Flask app", + } + ], + "features": [ + "http://jabber.org/protocol/disco#info", + "http://jabber.org/protocol/disco#items", + "urn:xmpp:ping", + ], + } + } + ) + + elif "items" in data: + return jsonify( + {"items": [{"jid": "example.org", "name": "Example Dot Org"}]} + ) + + return Response(status=501) + + +if __name__ == "__main__": + app.run()