/**
* It handles the sending of a XHR requests with a javascript wrapper
* @param {json} requestData
* @param {url} url
* @param {function} successFunction
* @param {string} authKey
* @param {string} method
*/
function sendSyncRequest(requestData, url, successFunction, authKey, contextId, method) {
var request = new XMLHttpRequest()
var params = JSON.stringify(requestData)
request.open(method, url, false)
request.setRequestHeader('Content-type', 'application/json')
if (contextId && authKey) {
request.setRequestHeader('Authorization', 'Bearer ' + authKey)
request.setRequestHeader('ContextId', contextId)
} else if (authKey) {
request.setRequestHeader('Authorization', 'Bearer ' + authKey)
}
try {
request.onreadystatechange = function() {
if (request.readyState === 4) {
if (request.status === 200) {
successFunction(request.responseText)
} else {
successFunction(null)
}
}
}
request.onerror = function(e) {
successFunction(null)
}
request.send(params)
} catch (error) {
console.log('Error: request.send failed... continuing')
successFunction(null)
}
}