diff options
Diffstat (limited to 'browserlogger.py')
| -rw-r--r-- | browserlogger.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/browserlogger.py b/browserlogger.py index 24f961d..5466880 100644 --- a/browserlogger.py +++ b/browserlogger.py @@ -1,6 +1,7 @@ from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler from threading import Thread from datetime import datetime +from urlparse import parse_qs from models import BrowserEvent @@ -8,12 +9,13 @@ from models import BrowserEvent class MyHandler(BaseHTTPRequestHandler): def do_POST(self): - time = datetime.utcfromtimestamp(int(self.headers["time"]) / 1000.) - if self.headers["url"] == "null": + length = int(self.headers['Content-Length']) + data = parse_qs(self.rfile.read(length).decode('utf-8')) + time = datetime.utcfromtimestamp(int(data["time"][0]) / 1000.) + if data["url"][0] == "null": url, title = None, None else: - url, title = (self.headers["url"].decode("utf8"), - self.headers["title"].decode("utf8")) + url, title = data["url"][0], data["title"][0] event = BrowserEvent(time=time, url=url, title=title) self.server.logger.info(event) |
