From 93b092e8985f207f5347eb708b724ecb6b0ce57d Mon Sep 17 00:00:00 2001 From: Lloyd Hilaiel <lloyd@hilaiel.com> Date: Fri, 13 Jan 2012 15:46:47 -0700 Subject: [PATCH] a tiny http proxy for constant local testing of http forwarding - issue #904 --- bin/proxy | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 bin/proxy diff --git a/bin/proxy b/bin/proxy new file mode 100755 index 000000000..abb513380 --- /dev/null +++ b/bin/proxy @@ -0,0 +1,37 @@ +#!/usr/bin/env node + +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// I proxy requests. That's what I do. + +const +http = require('http'), +forward = require('../lib/http_forward.js'); + +var port = process.env['PORT'] || 0; +var addy = process.env['IP_ADDRESS'] || '127.0.0.1'; + +const allowed = /^https:\/\/[a-zA-Z\.\-_]+\/\.well-known\/browserid$/; + +var server = http.createServer(function (req, res) { + var url = req.url; + if (!allowed.test(url)) { + console.log('there'); + res.writeHead(400); + res.end('You can\'t get there from here'); + return; + } + + forward(url, req, res, function(err) { + if (err) { + res.writeHead(400); + res.end('Oops: ' + err.toString()); + return; + } + }); +}).listen(port, addy, function () { + var a = server.address(); + console.log("lil' HTTP proxy running: http://" + a.address + ":" + a.port); +}); -- GitLab