Skip to content

Commit

Permalink
hash query string on cookie if possible
Browse files Browse the repository at this point in the history
  • Loading branch information
Philip Tellis committed Nov 21, 2013
1 parent 7bb7ece commit a38bd52
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
13 changes: 13 additions & 0 deletions boomerang.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,19 @@ boomr = {
return url;
},

hashQueryString: function(url, stripHash) {
if(!url) {
return url;
}
if(stripHash) {
url = url.replace(/#.*/, '');
}
if(!BOOMR.utils.MD5) {
return url;
}
return url.replace(/\?(.*)/, function(m0, m1) { return '?' + BOOMR.utils.MD5(m1); });
},

pluginConfig: function(o, config, plugin_name, properties) {
var i, props=0;

Expand Down
13 changes: 7 additions & 6 deletions plugins/rt.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ impl = {
// We use document.URL instead of location.href because of a bug in safari 4
// where location.href is URL decoded
if(how === "ul" || how === "hd") {
subcookies.r = d.URL.replace(/#.*/, '');
subcookies.r = BOOMR.utils.hashQueryString(d.URL, true);
}

if(how === "cl") {
if(url) {
subcookies.nu = url;
subcookies.nu = BOOMR.utils.hashQueryString(url);
}
else if(subcookies.nu) {
delete subcookies.nu;
Expand Down Expand Up @@ -90,7 +90,7 @@ impl = {
},

initFromCookie: function() {
var subcookies;
var subcookies, url;

if(!this.cookie) {
return;
Expand All @@ -107,13 +107,14 @@ impl = {
BOOMR.debug("Read from cookie " + BOOMR.utils.objectToString(subcookies), "rt");
if(subcookies.s && (subcookies.r || subcookies.nu)) {
this.r = subcookies.r;
url = BOOMR.utils.hashQueryString(d.URL, true);

BOOMR.debug(this.r + " =?= " + this.r2, "rt");
BOOMR.debug(subcookies.s + " <? " + (+subcookies.cl+15), "rt");
BOOMR.debug(subcookies.nu + " =?= " + d.URL.replace(/#.*/, ''), "rt");
BOOMR.debug(subcookies.nu + " =?= " + url, "rt");

if(!this.strict_referrer || this.r === this.r2 ||
( subcookies.s < +subcookies.cl + 15 && subcookies.nu === d.URL.replace(/#.*/, '') )
( subcookies.s < +subcookies.cl + 15 && subcookies.nu === url )
) {
this.t_start = subcookies.s;
if(+subcookies.hd > subcookies.s) {
Expand Down Expand Up @@ -283,7 +284,7 @@ BOOMR.plugins.RT = {
// A beacon may be fired automatically on page load or if the page dev fires
// it manually with their own timers. It may not always contain a referrer
// (eg: XHR calls). We set default values for these cases
impl.r = impl.r2 = d.referrer.replace(/#.*/, '');
impl.r = impl.r2 = BOOMR.utils.hashQueryString(d.referrer, true);

impl.initialized = true;
return this;
Expand Down

0 comments on commit a38bd52

Please sign in to comment.