generated from nginx/template-repository
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathapiserver.py
executable file
·32 lines (24 loc) · 956 Bytes
/
apiserver.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/python3
from flask import Flask, request, jsonify
from datetime import datetime
import socket
app = Flask(__name__)
# curl -ks -X GET https://127.0.0.1:5000/echo_data | jq
@app.route("/get_data", methods=["GET"])
def get_data():
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
hostname = socket.gethostname()
data = {
"timestamp": timestamp,
"hostname": hostname
}
return jsonify(data)
# curl -ks -X POST https://127.0.0.1:5000/echo_data -d '{"var":123}' -H "Content-Type: application/json"
@app.route("/echo_data", methods=["POST"])
def echo_data():
payload = request.get_json() if request.get_json() != None else ''
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
hostname = socket.gethostname()
return jsonify({"payload": payload, "hostname": hostname, "timestamp": timestamp})
if __name__ == "__main__":
app.run(ssl_context="adhoc",host="0.0.0.0", port=5000)