diff options
| -rw-r--r-- | firefox-addon/README.md | 0 | ||||
| -rw-r--r-- | firefox-addon/doc/main.md | 0 | ||||
| -rw-r--r-- | firefox-addon/lib/main.js | 17 | ||||
| -rw-r--r-- | firefox-addon/package.json | 16 | ||||
| -rw-r--r-- | firefox-addon/test/test-main.js | 12 | ||||
| -rw-r--r-- | firefox-logger.py | 18 |
6 files changed, 63 insertions, 0 deletions
diff --git a/firefox-addon/README.md b/firefox-addon/README.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/firefox-addon/README.md diff --git a/firefox-addon/doc/main.md b/firefox-addon/doc/main.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/firefox-addon/doc/main.md diff --git a/firefox-addon/lib/main.js b/firefox-addon/lib/main.js new file mode 100644 index 0000000..98c57ae --- /dev/null +++ b/firefox-addon/lib/main.js @@ -0,0 +1,17 @@ +var tabs = require("sdk/tabs"); +var Request = require("sdk/request").Request; +var prefs = require("sdk/simple-prefs").prefs; + +function logUrl(tab) { + Request({ + url: prefs.callbackUrl, + headers: { + "url": unescape(encodeURIComponent(tab.url)), + "time": Date.now(), + "title": unescape(encodeURIComponent(tab.title)), + } + }).post(); +}; + +tabs.on("activate", function () { logUrl(tabs.activeTab) }); +tabs.on("pageshow", function(tab) { logUrl(tab) }); diff --git a/firefox-addon/package.json b/firefox-addon/package.json new file mode 100644 index 0000000..b655e9c --- /dev/null +++ b/firefox-addon/package.json @@ -0,0 +1,16 @@ +{ + "name": "url-logger", + "title": "url-logger", + "id": "jid1-KLw59UduPgRwag", + "description": "Notify a callback url whenever a page is loaded/shown.", + "author": "Thibaut Horel <thibaut@horel.org>", + "license": "MPL 2.0", + "version": "0.1", + "preferences": [{ + "name": "callbackUrl", + "type": "string", + "title": "CallbackĀ URL", + "description": "URL to be notified on page load/show.", + "value": "http://localhost:8080" + }] +} diff --git a/firefox-addon/test/test-main.js b/firefox-addon/test/test-main.js new file mode 100644 index 0000000..147f98a --- /dev/null +++ b/firefox-addon/test/test-main.js @@ -0,0 +1,12 @@ +var main = require("./main"); + +exports["test main"] = function(assert) { + assert.pass("Unit test running!"); +}; + +exports["test main async"] = function(assert, done) { + assert.pass("async Unit test running!"); + done(); +}; + +require("sdk/test").run(exports); diff --git a/firefox-logger.py b/firefox-logger.py new file mode 100644 index 0000000..16d2674 --- /dev/null +++ b/firefox-logger.py @@ -0,0 +1,18 @@ +from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler +from datetime import datetime + + +class MyHandler(BaseHTTPRequestHandler): + + def do_POST(self): + time = datetime.utcfromtimestamp(int(self.headers["time"]) / 1000.) + print time.isoformat(), self.headers["url"], self.headers["title"] + self.send_response(202) + self.end_headers() + return + + def log_request(self, code): + pass + +server = HTTPServer(("localhost", 8080), MyHandler) +server.serve_forever() |
