From 1aac753ba2e95276af63bbaaedae9c2e89cb91c2 Mon Sep 17 00:00:00 2001 From: jantuomi Date: Mon, 18 Jul 2016 12:40:45 +0300 Subject: Create JSON Factory, http test server now dumps incoming telegram messages --- mockshoutbox.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'mockshoutbox.py') diff --git a/mockshoutbox.py b/mockshoutbox.py index 2399ba5..7ab1bbc 100644 --- a/mockshoutbox.py +++ b/mockshoutbox.py @@ -2,14 +2,13 @@ import sys import http.server +import traceback from http.server import SimpleHTTPRequestHandler +import json ''' Mock HTTP server to test shoutbox api requests. - -Copyright: linuxjournal.com -Source: http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python ''' class MyHandler(SimpleHTTPRequestHandler): @@ -33,9 +32,27 @@ class MyHandler(SimpleHTTPRequestHandler): self.wfile.write(body.encode()) + def do_POST(self): + content_len = int(self.headers.get('Content-Length')) + post_data = self.rfile.read(content_len) + + try: + message = json.loads(post_data.decode('utf-8')) + print("{}: {}".format(message["user"], message["text"])) + # Begin the response + self.send_response(200) + + except KeyError: + traceback.print_exc() + self.send_response(400) + + self.end_headers() + + return + HandlerClass = MyHandler -ServerClass = http.server.HTTPServer -Protocol = "HTTP/1.0" +ServerClass = http.server.HTTPServer +Protocol = "HTTP/1.0" if sys.argv[1:]: port = int(sys.argv[1]) -- cgit v1.3