OSDN Git Service

tornado like scripting
authoryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 7 Sep 2018 09:54:39 +0000 (18:54 +0900)
committeryamat0jp <yamat0jp@yahoo.co.jp>
Fri, 7 Sep 2018 09:54:39 +0000 (18:54 +0900)
bot.py

diff --git a/bot.py b/bot.py
index 33860a9..14004f9 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -56,13 +56,14 @@ class WebHookHandler(tornado.web.RequestHandler):
         return ans
             
     def post(self):
-        header = json.load(self.request.headers)
-        body = json.load(self.request.body)
-        hashid = hmac.new(header['X-LINE-SIGNATURE'].encode('utf-8'),
+        header = tornado.escape.json_decode(self.request.headers)
+        body = tornado.escape.json_decode(self.request.body)
+        hashid = hmac.new(header['X-Line-Signature'].encode('utf-8'),
             body.encode('utf-8'), hashlib.sha256).digest()
         signature = base64.b64encode(hashid)
+        handle = WebhookHandler(ch)
         try:
-            events = webhook.parse(body, signature)
+            events = handle.handle(body, signature)
         except InvalidSignatureError:
             raise tornado.web.HTTPError(400)
             return