-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsync.py
40 lines (30 loc) · 1 KB
/
sync.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
33
34
35
36
37
38
39
40
from http.server import BaseHTTPRequestHandler, HTTPServer
import json
class Controller(BaseHTTPRequestHandler):
def do_POST(self):
# Observed ping object
observed = json.loads(self.rfile.read(
int(self.headers.get("content-length"))))
ping = observed["parent"]
name = ping.get("spec", {}).get("name", "Unknown")
pong = [
{
"apiVersion": "example.com/v1",
"kind": "Pong",
"metadata": {
"name": ping["metadata"]["name"]
},
"spec": {
"message": "Hello %s !!" % (name)
}
}
]
# Generate desired children
desired = {
"children": pong
}
self.send_response(200)
self.send_header("Content-type", "application/json")
self.end_headers()
self.wfile.write(json.dumps(desired).encode())
HTTPServer(("", 8080), Controller).serve_forever()