@aappddeevv/dynamics-client-ui
Version:
## What is it? A library to help you create great dynamics applications.
50 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function fetch(config, request, callback) {
var self = this;
var req = new XMLHttpRequest();
//req.open(method, encodeURI(url), true);
req.open(request.method, request.url, true);
if (config.AccessToken)
req.setRequestHeader("Authorization", "Bearer " + config.AccessToken());
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
//req.setRequestHeader("Access-Control-Allow-Origin", "*")
if (config.callerId)
req.setRequestHeader("MSCRMCallerID", config.callerId);
if (config.CallerID)
req.setRequestHeader("MSCRMCallerID", config.CallerID);
if (['POST', 'PUT', 'PATCH'].indexOf(request.method) >= 0) {
// GL: Browser should set this itself.
//req.setRequestHeader("Content-Length", payload.data.length);
req.setRequestHeader("Content-Type", "application/json");
}
if (typeof request.headers !== 'undefined') {
for (var name in request.headers) {
req.setRequestHeader(name, request.headers[name]);
}
}
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
req.onreadystatechange = () => { };
if ((this.status >= 200) && (this.status < 300)) {
callback(false, {
'response': this.response,
'headers': self.parseResponseHeaders(this.getAllResponseHeaders())
});
}
else {
callback(true, this);
}
}
};
if (['POST', 'PUT', 'PATCH'].indexOf(request.method) >= 0) {
req.send(request.data);
}
else {
req.send();
}
}
exports.fetch = fetch;
//# sourceMappingURL=XMLHTTPRequest.js.map