bhubbard
3/31/2016 - 11:02 PM

https://www.edge-cloud.net/2016/02/05/rum-light-with-cloudflare/ https://www.edge-cloud.net/2015/10/04/cloudflare-pops-in-google-analytics/

function processData(x) {
  var y = {};
  for (var i = 0; i < x.length-1; i++) {
    var split = x[i].split('=');
    y[split[0].trim()] = split[1].trim();
  } 
  return y;
} 

function objData(x) { 
  return obj[x]; 
} 

function loc(){
var req = new XMLHttpRequest();
req.open('HEAD', document.location, false);
req.send(null);
return (req.getResponseHeader("cf-ray").split("-"))[1];
}

function isIPv6() { 
  ipv6 = (objData('ip').indexOf(":") > -1);
  switch (ipv6){
    case true:
      return "IPv6";
      break;
    default:
      return "IPv4";
  }
}

var data;
var obj;
var client = new XMLHttpRequest();
client.open("GET", "/cdn-cgi/trace", false);
client.onreadystatechange =
        function () {
                if(client.readyState === 4){
                        if(client.status === 200 || client.status == 0){
                                data = client.responseText.split("\n");
                        }
                }
        };
client.send(null);
obj= processData(data);

__gaTracker('set','dimension1',loc());
//__gaTracker('set','dimension1',objData('colo'));
__gaTracker('set','dimension2',isIPv6());
__gaTracker('set','dimension3',objData('spdy'));