Skip to content

Instantly share code, notes, and snippets.

@laddi
Created March 11, 2013 15:03
Show Gist options
  • Select an option

  • Save laddi/5134855 to your computer and use it in GitHub Desktop.

Select an option

Save laddi/5134855 to your computer and use it in GitHub Desktop.
/**
* Module dependencies.
*/
var express = require('express');
var request = require('request');
var mimetype = require('mime');
/**
* Express server.
*/
var app = express();
/**
* Express routes.
*/
app.get('/', function(req, res){
var file = req.query.url;
if (!file) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end();
}
else {
var filename = file.substring(0, file.indexOf('?'));
filename = filename.substring(filename.lastIndexOf('/') + 1);
var type =mimetype.lookup(filename);
var charset = mimetype.charsets.lookup(type);
console.log(type + (charset ? '; charset=' + charset : ''));
res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : ''));
request.get(file).pipe(res);
}
});
/**
* Start server.
*/
app.listen(8889, function() {
console.log("Express server listening on port %d in %s mode", app.settings.port || 8889, app.settings.env);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment