fd-proxy-server
Version:
Proxy server for http requests
34 lines (29 loc) • 1.37 kB
JavaScript
var express = require('express');
var request = require('request');
var config = require('./config');
var app = express();
var args = process.argv.slice(2);
args.forEach(function(item, index) {
if(item == '--port') config.port = args[index+1] ? args[index+1] : config.port;
if(item == '--origin') config.origin = args[index+1] ? args[index+1] : config.origin;
if(item == '--endpoint') config.url = args[index+1] ? args[index+1] : config.url;
});
console.log('Starting proxy server on localhost:'+config.port+' with endpoint: '+ config.url + ' and with origin:'+config.origin);
app.use(function(req, res, next) {
res.setHeader("Access-Control-Allow-Origin", "http://localhost:"+config.origin);
res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.setHeader("Access-Control-Allow-Credentials", "true");
next();
});
app.use('/', function(req, res) {
var options = {
url: config.url + req.url
};
//console.log(res);
res.setHeader("Access-Control-Allow-Origin", "http://localhost:"+config.origin);
res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
console.log(request(options).host, request(options).path);// REQUEST TO API
req.pipe(request(options)).pipe(res);
});
app.listen(config.port);