in lib/odata.js [130:166]
exports.request = function (request, success, error, handler, httpClient, metadata) {
success = success || exports.defaultSuccess;
error = error || exports.defaultError;
handler = handler || exports.defaultHandler;
httpClient = httpClient || odataNet.defaultHttpClient;
metadata = metadata || exports.defaultMetadata;
// Augment the request with additional defaults.
request.recognizeDates = utils.defined(request.recognizeDates, odataJson.jsonHandler.recognizeDates);
request.callbackParameterName = utils.defined(request.callbackParameterName, odataNet.defaultHttpClient.callbackParameterName);
request.formatQueryString = utils.defined(request.formatQueryString, odataNet.defaultHttpClient.formatQueryString);
request.enableJsonpCallback = utils.defined(request.enableJsonpCallback, odataNet.defaultHttpClient.enableJsonpCallback);
// Create the base context for read/write operations, also specifying complete settings.
var context = {
metadata: metadata,
recognizeDates: request.recognizeDates,
callbackParameterName: request.callbackParameterName,
formatQueryString: request.formatQueryString,
enableJsonpCallback: request.enableJsonpCallback
};
try {
odataUtils.prepareRequest(request, handler, context);
return odataUtils.invokeRequest(request, success, error, handler, httpClient, context);
} catch (err) {
// errors in success handler for sync requests are catched here and result in error handler calls.
// So here we fix this and throw that error further.
if (err.bIsSuccessHandlerError) {
throw err;
} else {
error(err);
}
}
};