Просмотр исходного кода

HPCC-11587 Revise based on review comments

1. Removed 3 groups of 'initalized' lines;
2. Switch to the deferred/promise style: added 'then' functions;
Moved data processing code from old callback functions to the
'then' functions; Changed 'error' branch args;
3. Removed ESP Exception handling code since the exceptions
have been handled inside the ESPRequest.js. Also removed the
code for checking the status code of ESP response since the
status code has not been used to indicate an error.

Signed-off-by: wangkx <kevin.wang@lexisnexis.com>
wangkx 11 лет назад
Родитель
Сommit
6b33d4f333

+ 19 - 30
esp/src/eclwatch/PackageMapDetailsWidget.js

@@ -102,8 +102,6 @@ define([
         },
 
         init: function (params) {
-            if (this.initalized)
-                return;
 	    if (this.inherited(arguments))
                 return;
 
@@ -132,11 +130,11 @@ define([
             domAttr.set(this.id + "StateIdImage", "title", this.active? this.i18n.Active:this.i18n.NotActive);
         },
 
-        showErrors: function (errMsg, errStack) {
+        showErrors: function (err) {
             topic.publish("hpcc/brToaster", {
                 Severity: "Error",
-                Source: errMsg,
-                Exceptions: [{ Message: errStack }]
+                Source: err.message,
+                Exceptions: [{ Message: err.stack }]
             });
         },
 
@@ -146,15 +144,12 @@ define([
             packageMaps[0] = {Target:this.target,
                 Process:this.process,Id:this.packageMap};
 
-            WsPackageMaps.activatePackageMap(packageMaps, {
-                load: function (response) {
-                    domClass.replace(context.id + "StateIdImage", "iconRunning");
-                    context.active = true;
-                    context.refreshActionState();
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                }
+            WsPackageMaps.activatePackageMap(packageMaps).then(function (response) {
+                domClass.replace(context.id + "StateIdImage", "iconRunning");
+                context.active = true;
+                context.refreshActionState();
+            }, function (err) {
+                context.showErrors(err);
             });
         },
         _onDeactivate: function (event) {
@@ -163,15 +158,12 @@ define([
             packageMaps[0] = {Target:this.target,
                 Process:this.process,Id:this.packageMap};
 
-            WsPackageMaps.deactivatePackageMap(packageMaps, {
-                load: function (response) {
-                    domClass.replace(context.id + "StateIdImage", "iconArchived");
-                    context.active = false;
-                    context.refreshActionState();
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                }
+            WsPackageMaps.deactivatePackageMap(packageMaps).then(function (response) {
+                domClass.replace(context.id + "StateIdImage", "iconArchived");
+                context.active = false;
+                context.refreshActionState();
+            }, function (err) {
+                context.showErrors(err);
             });
         },
         _onDelete: function (event) {
@@ -181,13 +173,10 @@ define([
                 packageMaps[0] = {Target:this.target,
                     Process:this.process,Id:this.packageMap};
 
-                WsPackageMaps.deletePackageMap(packageMaps, {
-                    load: function (response) {
-                        topic.publish("packageMapDeleted", context.tabId);
-                    },
-                    error: function (errMsg, errStack) {
-                        context.showErrors(errMsg, errStack);
-                    }
+                WsPackageMaps.deletePackageMap(packageMaps).then(function (response) {
+                    topic.publish("packageMapDeleted", context.tabId);
+                }, function (err) {
+                    context.showErrors(err);
                 });
             }
         }

+ 33 - 48
esp/src/eclwatch/PackageMapQueryWidget.js

@@ -273,47 +273,38 @@ define([
         _onDelete: function (event) {
             if (confirm('Delete selected packages?')) {
                 var context = this;
-                WsPackageMaps.deletePackageMap(this.packagesGrid.selection.getSelected(), {
-                    load: function (response) {
-                        context.packagesGrid.rowSelectCell.toggleAllSelection(false);
-                        context.refreshGrid(response);
-                    },
-                    error: function (errMsg, errStack) {
-                        context.showErrors(errMsg, errStack);
-                    }
+                WsPackageMaps.deletePackageMap(this.packagesGrid.selection.getSelected()).then(function (response) {
+                    context.packagesGrid.rowSelectCell.toggleAllSelection(false);
+                    context.refreshGrid(response.DeletePackageResponse);
+                }, function (err) {
+                    context.showErrors(err);
                 });
             }
         },
         _onActivate: function (event) {
             var context = this;
-            WsPackageMaps.activatePackageMap(this.packagesGrid.selection.getSelected(), {
-                load: function (response) {
-                    context.packagesGrid.rowSelectCell.toggleAllSelection(false);
-                    context.refreshGrid();
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                }
+            WsPackageMaps.activatePackageMap(this.packagesGrid.selection.getSelected()).then(function (response) {
+                context.packagesGrid.rowSelectCell.toggleAllSelection(false);
+                context.refreshGrid();
+            }, function (err) {
+                context.showErrors(err);
             });
         },
         _onDeactivate: function (event) {
             var context = this;
-            WsPackageMaps.deactivatePackageMap(this.packagesGrid.selection.getSelected(), {
-                load: function (response) {
-                    context.packagesGrid.rowSelectCell.toggleAllSelection(false);
-                    context.refreshGrid();
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                }
+            WsPackageMaps.deactivatePackageMap(this.packagesGrid.selection.getSelected()).then(function (response) {
+                context.packagesGrid.rowSelectCell.toggleAllSelection(false);
+                context.refreshGrid();
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
-        showErrors: function (errMsg, errStack) {
+        showErrors: function (err) {
             topic.publish("hpcc/brToaster", {
                 Severity: "Error",
-                Source: errMsg,
-                Exceptions: [{ Message: errStack }]
+                Source: err.message,
+                Exceptions: [{ Message: err.stack }]
             });
         },
 
@@ -324,25 +315,22 @@ define([
 
             var context = this;
             WsPackageMaps.GetPackageMapSelectOptions({
-                    includeTargets: true,
-                    IncludeProcesses: true,
-                    IncludeProcessFilters: true
-                }, {
-                load: function (response) {
-                    if (lang.exists("Targets.TargetData", response)) {
-                        context.targets = response.Targets.TargetData;
-                        context.initSelections();
-                    }
-                    context.targetSelect.set("value", context.targetSelected);
-                    if (lang.exists("ProcessFilters.Item", response)) {
-                        context.processFilters = response.ProcessFilters.Item;
-                    }
-                    context.initPackagesGrid();
-                    context.initTabs();
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
+                includeTargets: true,
+                IncludeProcesses: true,
+                IncludeProcessFilters: true
+            }).then(function (response) {
+                if (lang.exists("Targets.TargetData", response.GetPackageMapSelectOptionsResponse)) {
+                    context.targets = response.GetPackageMapSelectOptionsResponse.Targets.TargetData;
+                    context.initSelections();
                 }
+                context.targetSelect.set("value", context.targetSelected);
+                if (lang.exists("ProcessFilters.Item", response.GetPackageMapSelectOptionsResponse)) {
+                    context.processFilters = response.GetPackageMapSelectOptionsResponse.ProcessFilters.Item;
+                }
+                context.initPackagesGrid();
+                context.initTabs();
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
@@ -402,9 +390,6 @@ define([
         },
 
         init: function (params) {
-            if (this.initalized)
-                return;
-
             if (this.inherited(arguments))
                 return;
 

+ 22 - 32
esp/src/eclwatch/PackageMapValidateContentWidget.js

@@ -88,9 +88,6 @@ define([
 
         //  Init  ---
         init: function (params) {
-            if (this.initalized)
-                return;
-
             if (this.inherited(arguments))
                 return;
 
@@ -119,19 +116,16 @@ define([
         getSelections: function () {
             var context = this;
             WsPackageMaps.GetPackageMapSelectOptions({
-                    includeTargets: true,
-                    IncludeProcesses: true,
-                    IncludeProcessFilters: true
-                }, {
-                load: function (response) {
-                    if (lang.exists("Targets.TargetData", response)) {
-                        context.targets = response.Targets.TargetData;
-                        context.initSelections(context.targets);
-                    }
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
+                includeTargets: true,
+                IncludeProcesses: true,
+                IncludeProcessFilters: true
+            }).then(function (response) {
+                if (lang.exists("Targets.TargetData", response.GetPackageMapSelectOptionsResponse)) {
+                    context.targets = response.GetPackageMapSelectOptionsResponse.Targets.TargetData;
+                    context.initSelections(context.targets);
                 }
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
@@ -209,21 +203,17 @@ define([
             var context = this;
             this.resultControl.setText("");
             this.validateButton.set("disabled", true);
-            WsPackageMaps.validatePackage(request, {
-                load: function (response) {
-                    var responseText = context.validateResponseToText(response);
-                    if (responseText === '')
-                        context.resultControl.setText(context.i18n.Empty);
-                    else {
-                        responseText = context.i18n.ValidateResult + responseText;
-                        context.resultControl.setText(responseText);
-                    }
-                    context.validateButton.set("disabled", false);
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                    context.validateButton.set("disabled", false);
+            WsPackageMaps.validatePackage(request).then(function (response) {
+                var responseText = context.validateResponseToText(response.ValidatePackageResponse);
+                if (responseText === '')
+                    context.resultControl.setText(context.i18n.Empty);
+                else {
+                    responseText = context.i18n.ValidateResult + responseText;
+                    context.resultControl.setText(responseText);
                 }
+                    context.validateButton.set("disabled", false);
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
@@ -255,11 +245,11 @@ define([
             return text;
         },
 
-        showErrors: function (errMsg, errStack) {
+        showErrors: function (err) {
             topic.publish("hpcc/brToaster", {
                 Severity: "Error",
-                Source: errMsg,
-                Exceptions: [{ Message: errStack }]
+                Source: err.message,
+                Exceptions: [{ Message: err.stack }]
             });
         }
     });

+ 31 - 43
esp/src/eclwatch/PackageMapValidateWidget.js

@@ -86,27 +86,21 @@ define([
         getSelections: function () {
             var context = this;
             WsPackageMaps.GetPackageMapSelectOptions({
-                    includeTargets: true,
-                    IncludeProcesses: true,
-                    IncludeProcessFilters: true
-                }, {
-                load: function (response) {
-                    if (lang.exists("Targets.TargetData", response)) {
-                        context.targets = response.Targets.TargetData;
-                        context.initSelections(context.targets);
-                    }
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
+                includeTargets: true,
+                IncludeProcesses: true,
+                IncludeProcessFilters: true
+            }).then(function (response) {
+                if (lang.exists("Targets.TargetData", response.GetPackageMapSelectOptionsResponse)) {
+                    context.targets = response.GetPackageMapSelectOptionsResponse.Targets.TargetData;
+                    context.initSelections(context.targets);
                 }
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
         //  init this page
         init: function (params) {
-            if (this.initalized)
-                return;
-
 	    if (this.inherited(arguments))
                 return;
 
@@ -195,17 +189,15 @@ define([
             var context = this;
             this.editorControl.setText('');
             WsPackageMaps.getPackage({
-                    target: this.targetSelectControl.getValue(),
-                    process: process
-                }, {
-                load: function (content) {
-                    if (content !== '') {
-                        context.editorControl.setText(content);;
-                    }
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                }
+                target: this.targetSelectControl.getValue(),
+                process: process
+            }).then(function (response) {
+                if (!lang.exists("GetPackageResponse.Info", response))
+                    context.editorControl.setText(i18n.NoContent);
+                else
+                    context.editorControl.setText(response.GetPackageResponse.Info);
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
@@ -221,21 +213,17 @@ define([
             var context = this;
             this.resultControl.setText("");
             this.validateButton.set("disabled", true);
-            WsPackageMaps.validatePackage(request, {
-                load: function (response) {
-                    var responseText = context.validateResponseToText(response);
-                    if (responseText === '')
-                        context.resultControl.setText(context.i18n.Empty);
-                    else {
-                        responseText = context.i18n.ValidateResult + responseText;
-                        context.resultControl.setText(responseText);
-                    }
-                    context.validateButton.set("disabled", false);
-                },
-                error: function (errMsg, errStack) {
-                    context.showErrors(errMsg, errStack);
-                    context.validateButton.set("disabled", false);
+            WsPackageMaps.validatePackage(request).then(function (response) {
+                var responseText = context.validateResponseToText(response.ValidatePackageResponse);
+                if (responseText === '')
+                    context.resultControl.setText(context.i18n.Empty);
+                else {
+                    responseText = context.i18n.ValidateResult + responseText;
+                    context.resultControl.setText(responseText);
                 }
+                context.validateButton.set("disabled", false);
+            }, function (err) {
+                context.showErrors(err);
             });
         },
 
@@ -267,11 +255,11 @@ define([
             return text;
         },
 
-        showErrors: function (errMsg, errStack) {
+        showErrors: function (err) {
             topic.publish("hpcc/brToaster", {
                 Severity: "Error",
-                Source: errMsg,
-                Exceptions: [{ Message: errStack }]
+                Source: err.message,
+                Exceptions: [{ Message: err.stack }]
             });
         }
     });

+ 18 - 22
esp/src/eclwatch/PackageSourceWidget.js

@@ -86,37 +86,33 @@ define([
 
                 var context = this;
                 if (this.isXmlContent) {
-                    WsPackageMaps.getPackageMapById(params, {
-                        load: function (response) {
-                            context.editor.setValue(response);
-                        },
-                        error: function (errMsg, errStack) {
-                            context.showErrors(errMsg, errStack);
-                        }
+                    WsPackageMaps.getPackageMapById(params).then(function (response) {
+                        if (!lang.exists("GetPackageMapByIdResponse.Info", response))
+                            context.editor.setValue(i18n.NoContent);
+                        else
+                            context.editor.setValue(response.GetPackageMapByIdResponse.Info);
+                    }, function (err) {
+                        context.showErrors(err);
                     });
                 }
                 else {
-                    WsPackageMaps.validatePackage(params, {
-                        load: function (response) {
-                            var responseText = context.validateResponseToText(response);
-                            //console.log(responseText);
-                            if (responseText == '')
-                                context.editor.setValue("(Empty)");
-                            else
-                                context.editor.setValue(responseText);
-                        },
-                        error: function (errMsg, errStack) {
-                            context.showErrors(errMsg, errStack);
-                        }
+                    WsPackageMaps.validatePackage(params).then(function (response) {
+                        var responseText = context.validateResponseToText(response.ValidatePackageResponse);
+                        if (responseText == '')
+                            context.editor.setValue("(Empty)");
+                        else
+                            context.editor.setValue(responseText);
+                    }, function (err) {
+                        context.showErrors(err);
                     });
                 }
             },
 
-            showErrors: function (errMsg, errStack) {
+            showErrors: function (err) {
                 topic.publish("hpcc/brToaster", {
                     Severity: "Error",
-                    Source: errMsg,
-                    Exceptions: [{ Message: errStack }]
+                    Source: err.message,
+                Exceptions: [{ Message: err.stack }]
                 });
             },
 

+ 34 - 159
esp/src/eclwatch/WsPackageMaps.js

@@ -31,129 +31,57 @@ define([
             return ESPRequest.send("WsPackageProcess", "ListPackages", params);
         },
 
-        errorMessageCallback: function (callback, message, errorStack)        {
+        errorMessageCallback: function (callback, error)        {
             if (callback && callback.error) {
-                callback.error(message, errorStack);
+                callback.error(error);
             }
         },
 
-        checkExceptions: function (callback, response) {
-            if (!lang.exists("Exceptions.Exception", response))
-                return true;
-            var exceptionCode = response.Exceptions.Exception[0].Code;
-            var exceptionMSG = response.Exceptions.Exception[0].Message;
-            this.errorMessageCallback(callback, i18n.Exception + ":", i18n.Code + ":" +exceptionCode+ " " +i18n.Message+ ":" +exceptionMSG);
-            return false;
-        },
-
-        checkStatus: function (callback, hasStatus, status) {
-            if (hasStatus && (status.Code == 0))
-                return true;
-            if (callback && callback.error) {
-                if (!hasStatus)
-                    this.errorMessageCallback(callback, i18n.InvalidResponse, "");
-                else
-                    this.errorMessageCallback(callback, status.Description, "");
-            }
-            return false;
-        },
-
-        getPackage: function (params, callback) {
-            var request = {
-                Target: params.target,
-                Process: params.process
-            };
-
-            var context = this;
+        getPackage: function (params) {
             return ESPRequest.send("WsPackageProcess", "GetPackage", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("GetPackageResponse.status", response),
-                        response.GetPackageResponse.status))
-                    {
-                        if (!lang.exists("GetPackageResponse.Info", response))
-                            callback.load(i18n.NoContent);
-                        else
-                            callback.load(response.GetPackageResponse.Info);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                request: {
+                    Target: params.target,
+                    Process: params.process
                 }
             });
         },
 
-        getPackageMapById: function (params, callback) {
-            var request = {
-                PackageMapId: params.packageMap
-            };
-
-            var context = this;
+        getPackageMapById: function (params) {
             return ESPRequest.send("WsPackageProcess", "GetPackageMapById", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("GetPackageMapByIdResponse.status", response),
-                        response.GetPackageMapByIdResponse.status))
-                    {
-                        if (!lang.exists("GetPackageMapByIdResponse.Info", response))
-                            callback.load(i18n.NoContent);
-                        else
-                            callback.load(response.GetPackageMapByIdResponse.Info);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                request: {
+                    PackageMapId: params.packageMap
                 }
             });
         },
 
-        GetPackageMapSelectOptions: function (params, callback) {
-            var request = {
-                IncludeTargets: params.includeTargets,
-                IncludeProcesses: params.includeProcesses,
-                IncludeProcessFilters: params.includeProcessFilters
-            };
-            var context = this;
+        GetPackageMapSelectOptions: function (params) {
             return ESPRequest.send("WsPackageProcess", "GetPackageMapSelectOptions", {
-                request: {},
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("GetPackageMapSelectOptionsResponse.status", response),
-                        response.GetPackageMapSelectOptionsResponse.status))
-                    {
-                        callback.load(response.GetPackageMapSelectOptionsResponse);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                request: {
+                    IncludeTargets: params.includeTargets,
+                    IncludeProcesses: params.includeProcesses,
+                    IncludeProcessFilters: params.includeProcessFilters
                 }
             });
         },
 
+        //Not used for now. May be used later.
         listProcessFilters: function (callback) {
             var context = this;
             return ESPRequest.send("WsPackageProcess", "ListProcessFilters", {
                 request: {},
                 load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("ListProcessFiltersResponse.status", response),
-                        response.ListProcessFiltersResponse.status))
-                    {
-                        if (!lang.exists("ListProcessFiltersResponse.ProcessFilters", response))
-                            callback.load(i18n.NoContent);
-                        else
-                            callback.load(response.ListProcessFiltersResponse.ProcessFilters);
-                    }
+                    if (!lang.exists("ListProcessFiltersResponse.ProcessFilters", response))
+                        callback.load(i18n.NoContent);
+                    else
+                        callback.load(response.ListProcessFiltersResponse.ProcessFilters);
                 },
                 error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                    context.errorMessageCallback(callback, err);
                 }
             });
         },
 
-        validatePackage: function ( params, callback) {
+        validatePackage: function ( params) {
             var request = { Target: params.target };
             if ( params.packageMap )
                 request['PMID'] = params.packageMap;
@@ -164,72 +92,30 @@ define([
             if ( params.active )
                 request['Active'] = params.active;
 
-            var context = this;
             return ESPRequest.send("WsPackageProcess", "ValidatePackage", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("ValidatePackageResponse.status", response),
-                        response.ValidatePackageResponse.status))
-                    {
-                        //console.log(response.ValidatePackageResponse);
-                        callback.load(response.ValidatePackageResponse);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
-                }
+                request: request
             });
         },
 
-        activatePackageMap: function (packageMaps, callback) {
-            var request = {
-                Target: packageMaps[0].Target,
-                Process: packageMaps[0].Process,
-                PackageMap: packageMaps[0].Id
-            };
-
-            var context = this;
+        activatePackageMap: function (packageMaps) {
             return ESPRequest.send("WsPackageProcess", "ActivatePackage", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("ActivatePackageResponse.status", response),
-                        response.ActivatePackageResponse.status))
-                    {
-                        callback.load(response.ActivatePackageResponse);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                request: {
+                    Target: packageMaps[0].Target,
+                    Process: packageMaps[0].Process,
+                    PackageMap: packageMaps[0].Id
                 }
             });
         },
-        deactivatePackageMap: function (packageMaps, callback) {
-            var request = {
-                Target: packageMaps[0].Target,
-                Process: packageMaps[0].Process,
-                PackageMap: packageMaps[0].Id
-            };
-
-            var context = this;
+        deactivatePackageMap: function (packageMaps) {
             return ESPRequest.send("WsPackageProcess", "DeActivatePackage", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("DeActivatePackageResponse.status", response),
-                        response.DeActivatePackageResponse.status))
-                    {
-                        callback.load(response.DeActivatePackageResponse);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
+                request: {
+                    Target: packageMaps[0].Target,
+                    Process: packageMaps[0].Process,
+                    PackageMap: packageMaps[0].Id
                 }
             });
         },
-        deletePackageMap: function (packageMaps, callback) {
-            var context = this;
+        deletePackageMap: function (packageMaps) {
             var request = {};
             arrayUtil.forEach(packageMaps, function (item, idx) {
                 request["PackageMaps.PackageMapEntry." + idx + ".Id"] = item.Id;
@@ -240,18 +126,7 @@ define([
                 "PackageMaps.PackageMapEntry.itemcount": packageMaps.length
             });
             return ESPRequest.send("WsPackageProcess", "DeletePackage", {
-                request: request,
-                load: function (response) {
-                    if (context.checkExceptions(callback, response) &&
-                        context.checkStatus(callback, lang.exists("DeletePackageResponse.status", response),
-                        response.DeletePackageResponse.status))
-                    {
-                        callback.load(response.DeletePackageResponse);
-                    }
-                },
-                error: function (err) {
-                    context.errorMessageCallback(callback, err.message, err.stack);
-                }
+                request: request
             });
         }
     };