Skip to content

Instantly share code, notes, and snippets.

@davidbanham
Last active December 11, 2015 01:58
Show Gist options
  • Save davidbanham/4527102 to your computer and use it in GitHub Desktop.
Save davidbanham/4527102 to your computer and use it in GitHub Desktop.
vastproxy
// Generated by CoffeeScript 1.4.0
(function() {
var fs, http, qs, server;
http = require("http");
qs = require("querystring");
fs = require("fs");
server = http.createServer(function(req, res) {
var innerReq, query;
if (req.url === '/crossdomain.xml') {
return fs.readFile('./crossdomain.xml', function(err, data) {
if (err) {
res.writeHead(500);
return res.end;
} else {
res.writeHead(200);
return res.end(data.toString());
}
});
} else {
query = qs.parse(req.url.split('?')[1]);
if (req.headers['x-forwarded-for'] != null) {
req.headers['x-forwarded-for'] = req.connection.remoteAddress + ', ' + req.headers['x-forwarded-for'];
} else {
req.headers['x-forwarded-for'] = req.connection.remoteAddress;
}
req.headers.host = query.host;
innerReq = http.request({
host: query.host,
port: 80,
path: query.path,
method: "GET",
headers: req.headers
}, function(innerRes) {
var k, v, _ref;
_ref = innerRes.headers;
for (k in _ref) {
v = _ref[k];
res.setHeader(k, v);
}
res.setHeader('Access-Control-Allow-Origin', 'http://motd.pinion.gg');
res.setHeader('Access-Control-Allow-Credentials', 'true');
return innerRes.pipe(res);
});
return innerReq.end();
}
}).listen(8000);
}).call(this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment