| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- var http  = require('http');
 
- var https = require('https');
 
- var parse = require('url').parse;
 
- var httpLibs = { 'http:': http, 'https:': https };
 
- module.exports = function(url, callback) {
 
-   var parsed = parse(url);
 
-   var httpLib = httpLibs[parsed.protocol];
 
-   if (!httpLib) {
 
-     var err = new Error('Invalid URL: ' + url);
 
-     if (callback) {
 
-       callback(err);
 
-     } else {
 
-       throw err;
 
-     }
 
-     return;
 
-   }
 
-   var req = httpLib.get(parsed);
 
-   if (callback) {
 
-     req.on('response', function(res) {
 
-       if (res.statusCode !== 200) {
 
-         callback(new Error('status code ' + res.statusCode));
 
-         return;
 
-       }
 
-       var body = '';
 
-       res.setEncoding('utf8');
 
-       res.on('data', function(chunk) {
 
-         body += chunk;
 
-       });
 
-       res.on('end', function() {
 
-         callback(null, body);
 
-       });
 
-     });
 
-     req.on('error', callback);
 
-   }
 
-   return req;
 
- };
 
 
  |