'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getJSON = getJSON;
exports.transformRequest = transformRequest;
function getJSON(url) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
function extractResponse(ctx) {
return {
ctx: ctx,
data: JSON.parse(xhr.responseText),
status: xhr.status,
statusText: xhr.statusText,
headers: {},
config: {}
};
}
xhr.addEventListener('load', function (event) {
resolve(extractResponse('load'));
});
xhr.addEventListener('error', function (event) {
console.log('Get JSON request failed', event);
reject(extractResponse('error'));
});
xhr.addEventListener('abort', function (event) {
console.log('Get JSON request has been canceled', event);
reject(extractResponse('abort'));
});
xhr.open('GET', url, true);
xhr.responseType = 'text';
xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
xhr.send();
});
}
function transformRequest(data) {
return JSON.stringify(data);
}
|