Skip to content

Instantly share code, notes, and snippets.

@frekw
Created January 21, 2014 14:16
Show Gist options
  • Save frekw/8540890 to your computer and use it in GitHub Desktop.
Save frekw/8540890 to your computer and use it in GitHub Desktop.
var cachedAuth;
function getAuthQueryString() {
if (cachedAuth) return cachedAuth;
var qs = [
'sentry_version=4',
'sentry_client=raven-js/' + Raven.VERSION
];
if (globalKey) {
qs.push('sentry_key=' + globalKey);
}
cachedAuth = qs;
return cachedAuth;
}
function makeRequest(data) {
var imageRequest = function(data){
var img = new Image(),
qs = '?' + getAuthQueryString().join('&');
src = globalServer + qs + '&sentry_data=' + encodeURIComponent(JSON.stringify(data));
img.onload = function success() {
triggerEvent('success', {
data: data,
src: src
});
};
img.onerror = img.onabort = function failure() {
triggerEvent('failure', {
data: data,
src: src
});
};
img.src = src;
};
var xhrRequest = function(data){
var xhr = new XMLHttpRequest(),
src = globalServer,
qs = getAuthQueryString();
xhr.open('POST', src, true);
xhr.setRequestHeader('X-Sentry-Auth', 'Sentry ' + qs.join(','));
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr.onload = function success() {
triggerEvent('success', {
data: data,
src: src
});
};
xhr.onerror = xhr.onabort = function failure() {
triggerEvent('failure', {
data: data,
src: src
});
};
xhr.send(JSON.stringify(data));
};
if(globalOptions.useXHR){
xhrRequest(data);
} else {
imageRequest(data);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment