code: function getURL(url, callback) {
      Espruino.callProcessor("getURL", { url : url, data : undefined }, function(result) {
        if (result.data!==undefined) {
          callback(result.data);
        } else {
          var resultUrl = result.url ? result.url : url;
          if (typeof process === 'undefined') {
            // Web browser
            $.get( resultUrl, function(d) {
              callback(d);
            }, "text").error(function(xhr,status,err) {
              console.error("getURL("+JSON.stringify(url)+") error : "+err);
              callback(undefined);
            });
          } else {
            // Node.js
            if (resultUrl.substr(0,4)=="http") {
              var m = resultUrl[4]=="s"?"https":"http";
  
              var http_options = Espruino.Config.MODULE_PROXY_ENABLED ? {
                host: Espruino.Config.MODULE_PROXY_URL,
                port: Espruino.Config.MODULE_PROXY_PORT,
                path: resultUrl,
              } : resultUrl;
  
              require(m).get(http_options, function(res) {
                if (res.statusCode != 200) {
                  console.log("Espruino.Core.Utils.getURL: got HTTP status code "+res.statusCode+" for "+url);
                  return callback(undefined);
                }
                var data = "";
                res.on("data", function(d) { data += d; });
                res.on("end", function() {
                  callback(data);
                });
              }).on('error', function(err) {
                console.error("getURL("+JSON.stringify(url)+") error : "+err);
                callback(undefined);
              });
            } else {
              require("fs").readFile(resultUrl, function(err, d) {
                if (err) {
                  console.error(err);
                  callback(undefined);
                } else
                  callback(d.toString());
              });
            }
          }
        }
      });
    }
docs: / Gets a URL, and returns callback(data) or callback(undefined) on error