FYI, I've found the request npm package makes this kind of proxying easy, with something like:

```
    var request = require('request');
    try {
      request.get(url).on('error',
        function(err) { console.log('error doing cors request for ', url);})
      .pipe(res)
      .on('error',
        function(err) { console.log('error doing cors request for ', url);});
    } catch (e) {
      console.log("got exception doing the pipe", e);
      res.json({message: 'No valid url.'}, 500);
      return;
    }
```

which makes me feel good because I'd worry about not monkeypatching all the listeners.