diff options
Diffstat (limited to 'chrome/js/proxyserver.js')
-rw-r--r-- | chrome/js/proxyserver.js | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/chrome/js/proxyserver.js b/chrome/js/proxyserver.js deleted file mode 100644 index 4881f59..0000000 --- a/chrome/js/proxyserver.js +++ /dev/null @@ -1,58 +0,0 @@ -Components.utils.import("chrome://redirector/content/js/xpcom.js"); - -var EXPORTED_SYMBOLS = ['RedirectorProxy']; - -var RedirectorProxy = { - - start : function(port, getUrl) { - dump('Opening Proxy Server Socket on port ' + port); - this.getUrl = getUrl; - this.serverSocket = new ServerSocket(port, true, -1); - this.serverSocket.asyncListen(this); - }, - - onSocketAccepted: function(serverSocket, clientSocket) { - dump("Accepted connection on "+clientSocket.host+":"+clientSocket.port); - var requestStream = clientSocket.openInputStream(0, 0, 0).QueryInterface(Ci.nsIAsyncInputStream); - var responseStream = clientSocket.openOutputStream(Ci.nsITransport.OPEN_BLOCKING, 0, 0); - var tm = Cc["@mozilla.org/thread-manager;1"].getService(); - requestStream.asyncWait({ - onInputStreamReady : function(inputStream) { - RedirectorProxy.processRequest(clientSocket, inputStream, responseStream); - } - },0,0,tm.mainThread); - }, - - processRequest : function(clientSocket, inputStream, responseStream) { - var requestStream = new ScriptableInputStream(inputStream); - requestStream.available(); - var request = ''; - while (requestStream.available()) { - request = request + requestStream.read(2048); - } - var parts = request.split(' '); - dump('\n\n\n' + request + '\n\n\n'); - dump("\n" + parts[0] + " request for " + parts[1]); - var redirectUrl = 'http://einaregilsson.com';//Redirector.getRedirectUrl(parts[1]); - var outp = 'HTTP/1.1 302 Moved Temporarily'; - outp += '\r\nContent-Length: <cl>'; - outp += '\r\nLocation: ' + redirectUrl; - outp += '\r\nX-Redirected-By: Redirector Firefox Extension' - outp += '\r\n\r\n'; - var cl = outp.length -4; - if (cl < 100) { - cl+=2; - } else if (cl < 1000) { - cl += 3; - } else if (cl < 10000) { - cl += 4; - } else if (cl < 100000) { - cl += 5; - } - outp = outp.replace('<cl>', cl); - dump(outp); - responseStream.write(outp, outp.length); - responseStream.close(); - inputStream.close(); - } -}
\ No newline at end of file |