aboutsummaryrefslogtreecommitdiffstats
path: root/mockshoutbox.py
diff options
context:
space:
mode:
authorjantuomi <jans.tuomi@gmail.com>2016-07-18 12:40:45 +0300
committerjantuomi <jans.tuomi@gmail.com>2016-07-18 12:40:45 +0300
commit1aac753ba2e95276af63bbaaedae9c2e89cb91c2 (patch)
treef2b71ebffd789f157df9f429e08ba7474f2d14a0 /mockshoutbox.py
parentaa526d6d1b34113c2fdc6a97d6f46bc41b08713b (diff)
Create JSON Factory, http test server now dumps incoming telegram messages
Diffstat (limited to 'mockshoutbox.py')
-rw-r--r--mockshoutbox.py27
1 files changed, 22 insertions, 5 deletions
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])