No response using express proxy route

Even simpler with pipe and request-Package

var request = require('request');

app.use('/api', function(req, res) {
  var url = apiUrl + req.url;
  req.pipe(request(url)).pipe(res);
});

It pipes the whole request to the API and pipes the response back to the requestor. This also handles POST/PUT/DELETE and all other requests \o/

If you also care about query string you should pipe it as well

req.pipe(request({ qs:req.query, uri: url })).pipe(res);

Maybe your code is different when you're testing, but I'm querying the same URL as in your code sample using the following:

http://query.yahooapis.com:8080/v1/public/yql?q=show%20tables&format=json&callback=

and I get nothing back. My guess is you want to change port to 80 (from 8080) -- it works when I change it like so:

http://query.yahooapis.com:80/v1/public/yql?q=show%20tables&format=json&callback=

So that means it should be:

proxy.proxyRequest(req, res, {
    host: 'query.yahooapis.com', //yahoo is just an example to verify its not the apis fault
    port: 80
});