-
Notifications
You must be signed in to change notification settings - Fork 16
/
python2-tornado.py
39 lines (29 loc) · 1.31 KB
/
python2-tornado.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
from __future__ import print_function
import tornado.web
import tornado.ioloop
# incoming HTTP POST request handler
class MainHandler(tornado.web.RequestHandler):
def post(self):
# read all data in request as str
json_str = self.request.body
# now json_str will be something like this:
# [{"channel.id":94,"ident":"1234","peer":"127.0.0.1:57632","protocol.id":19,
# "server.timestamp":1554357439.356658,"timestamp":1554357439.356658}]
# more details about available message content:
# https://flespi.com/kb/messages-basic-information-units
# you may use json_str to parse json, using json.loads(json_str)
# but in this example we are just storing it in a file
# please note that it will be overwritten on each new request
with open("messages.json", "wb") as f:
f.write(json_str)
# NOTE: it's important to send HTTP 200 OK status
# to acknowledge successful messages delivering
self.set_status(200)
if __name__ == "__main__":
app = tornado.web.Application([
# setup corrent path for your handler ("/" string)
(r"/", MainHandler),
])
# setup correct host and port to listen for your HTTP server
app.listen(7777, address="localhost")
tornado.ioloop.IOLoop.current().start()