diff --git a/src/Azure.Functions.Cli/App.config b/src/Azure.Functions.Cli/App.config
index 184744382..bbbbd9ddd 100644
--- a/src/Azure.Functions.Cli/App.config
+++ b/src/Azure.Functions.Cli/App.config
@@ -1,405 +1,169 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -407,28 +171,28 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj b/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj
index 8c538fb9f..8a4ef9860 100644
--- a/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj
+++ b/src/Azure.Functions.Cli/Azure.Functions.Cli.csproj
@@ -10,11 +10,12 @@
Properties
Azure.Functions.Cli
func
- v4.6.1
+ v4.7.1
512
false
+
AnyCPU
@@ -228,59 +229,75 @@
..\..\packages\Microsoft.Azure.NotificationHubs.1.0.7\lib\net45-full\Microsoft.Azure.NotificationHubs.dll
True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Core.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Core.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-beta6-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-beta6-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll
+ True
..\..\packages\Microsoft.Azure.WebJobs.Extensions.BotFramework.1.0.15-beta\lib\net46\Microsoft.Azure.WebJobs.Extensions.BotFramework.dll
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.EventGrid.1.0.0-beta2-10009\lib\net46\Microsoft.Azure.WebJobs.Extensions.EventGrid.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.EventGrid.1.0.0-beta3-10015\lib\net46\Microsoft.Azure.WebJobs.Extensions.EventGrid.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Http.1.0.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.Http.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Http.1.0.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.Http.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Twilio.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.Twilio.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Twilio.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.Twilio.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.Host.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.Host.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Logging.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.Logging.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Logging.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.Logging.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Script.1.0.0-beta3-11469\lib\net451\Microsoft.Azure.WebJobs.Script.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Script.1.0.0-beta3-11510\lib\net451\Microsoft.Azure.WebJobs.Script.dll
+ True
..\..\packages\Microsoft.Azure.WebJobs.Script.Extensibility.1.0.0-beta3-10955\lib\net45\Microsoft.Azure.WebJobs.Script.Extensibility.dll
-
- ..\..\packages\Microsoft.Azure.WebJobs.Script.WebHost.1.0.0-beta3-11469\lib\net451\Microsoft.Azure.WebJobs.Script.WebHost.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Script.WebHost.1.0.0-beta3-11510\lib\net451\Microsoft.Azure.WebJobs.Script.WebHost.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.ServiceBus.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.ServiceBus.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.ServiceBus.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.ServiceBus.dll
+ True
..\..\packages\Microsoft.Azure.WebSites.DataProtection.0.1.81-alpha\lib\net46\Microsoft.Azure.WebSites.DataProtection.dll
diff --git a/src/Azure.Functions.Cli/azurefunctions/functions.js b/src/Azure.Functions.Cli/azurefunctions/functions.js
index a07bac336..b9b320508 100644
--- a/src/Azure.Functions.Cli/azurefunctions/functions.js
+++ b/src/Azure.Functions.Cli/azurefunctions/functions.js
@@ -55,7 +55,7 @@ function createFunction(f) {
origMetric({ name: name, value: value, properties: properties});
};
- context.done = function (err, result) {
+ context.done = function (err, returnValue) {
if (context._done) {
if (context._promise) {
context.log("Error: Choose either to return a promise or call 'done'. Do not use both in your script.");
@@ -70,16 +70,23 @@ function createFunction(f) {
callback(err);
}
else {
- var values = {};
if (context.res && context.bindings.res === undefined) {
context.bindings.res = context.res;
}
+
+ // because Edge.JS interop doesn't flow new values added to objects,
+ // we capture the binding values and pass them back as part of the
+ // result
+ var bindingValues = {};
for (var name in context.bindings) {
- values[name] = context.bindings[name];
+ bindingValues[name] = context.bindings[name];
}
- context.bind(values, function (err) {
- callback(err, result);
- });
+
+ var result = {
+ returnValue: returnValue,
+ bindingValues: bindingValues
+ };
+ callback(null, result);
}
};
diff --git a/src/Azure.Functions.Cli/packages.config b/src/Azure.Functions.Cli/packages.config
index 91062970e..d3ec2b94e 100644
--- a/src/Azure.Functions.Cli/packages.config
+++ b/src/Azure.Functions.Cli/packages.config
@@ -57,24 +57,24 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -116,7 +116,7 @@
-
+
@@ -128,20 +128,20 @@
-
+
-
+
-
-
+
+
@@ -152,18 +152,18 @@
-
+
-
-
+
+
-
+
-
+
@@ -172,7 +172,7 @@
-
+
diff --git a/test/Azure.Functions.Cli.Tests/Azure.Functions.Cli.Tests.csproj b/test/Azure.Functions.Cli.Tests/Azure.Functions.Cli.Tests.csproj
index 2619fcd50..4d1d57e9b 100644
--- a/test/Azure.Functions.Cli.Tests/Azure.Functions.Cli.Tests.csproj
+++ b/test/Azure.Functions.Cli.Tests/Azure.Functions.Cli.Tests.csproj
@@ -12,10 +12,11 @@
Properties
Azure.Functions.Cli.Tests
Azure.Functions.Cli.Tests
- v4.6.1
+ v4.7.1
512
+
true
@@ -126,56 +127,71 @@
..\..\packages\Microsoft.Azure.NotificationHubs.1.0.7\lib\net45-full\Microsoft.Azure.NotificationHubs.dll
True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Core.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Core.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.2.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-beta6-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.ApiHub.1.0.0-beta6-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.ApiHub.dll
+ True
..\..\packages\Microsoft.Azure.WebJobs.Extensions.BotFramework.1.0.15-beta\lib\net46\Microsoft.Azure.WebJobs.Extensions.BotFramework.dll
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.DocumentDB.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.DocumentDB.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.EventGrid.1.0.0-beta2-10009\lib\net46\Microsoft.Azure.WebJobs.Extensions.EventGrid.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.EventGrid.1.0.0-beta3-10015\lib\net46\Microsoft.Azure.WebJobs.Extensions.EventGrid.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Http.1.0.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.Http.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Http.1.0.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.Http.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.MobileApps.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.MobileApps.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.NotificationHubs.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.SendGrid.2.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.SendGrid.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Twilio.1.1.0-beta4-10580\lib\net45\Microsoft.Azure.WebJobs.Extensions.Twilio.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Extensions.Twilio.1.1.0-beta4-10582\lib\net45\Microsoft.Azure.WebJobs.Extensions.Twilio.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.Host.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.Host.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.Logging.ApplicationInsights.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.Script.1.0.0-beta3-11469\lib\net451\Microsoft.Azure.WebJobs.Script.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Script.1.0.0-beta3-11510\lib\net451\Microsoft.Azure.WebJobs.Script.dll
+ True
..\..\packages\Microsoft.Azure.WebJobs.Script.Extensibility.1.0.0-beta3-10955\lib\net45\Microsoft.Azure.WebJobs.Script.Extensibility.dll
-
- ..\..\packages\Microsoft.Azure.WebJobs.Script.WebHost.1.0.0-beta3-11469\lib\net451\Microsoft.Azure.WebJobs.Script.WebHost.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.Script.WebHost.1.0.0-beta3-11510\lib\net451\Microsoft.Azure.WebJobs.Script.WebHost.dll
+ True
-
- ..\..\packages\Microsoft.Azure.WebJobs.ServiceBus.2.1.0-beta4-11129\lib\net45\Microsoft.Azure.WebJobs.ServiceBus.dll
+
+ ..\..\packages\Microsoft.Azure.WebJobs.ServiceBus.2.1.0-beta4-11150\lib\net45\Microsoft.Azure.WebJobs.ServiceBus.dll
+ True
..\..\packages\Microsoft.Bot.Connector.DirectLine.3.0.0-beta\lib\net45\Microsoft.Bot.Connector.DirectLine.dll
diff --git a/test/Azure.Functions.Cli.Tests/app.config b/test/Azure.Functions.Cli.Tests/app.config
index 60f2ce659..743c86e8c 100644
--- a/test/Azure.Functions.Cli.Tests/app.config
+++ b/test/Azure.Functions.Cli.Tests/app.config
@@ -1,223 +1,223 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
diff --git a/test/Azure.Functions.Cli.Tests/azurefunctions/functions.js b/test/Azure.Functions.Cli.Tests/azurefunctions/functions.js
index a07bac336..b9b320508 100644
--- a/test/Azure.Functions.Cli.Tests/azurefunctions/functions.js
+++ b/test/Azure.Functions.Cli.Tests/azurefunctions/functions.js
@@ -55,7 +55,7 @@ function createFunction(f) {
origMetric({ name: name, value: value, properties: properties});
};
- context.done = function (err, result) {
+ context.done = function (err, returnValue) {
if (context._done) {
if (context._promise) {
context.log("Error: Choose either to return a promise or call 'done'. Do not use both in your script.");
@@ -70,16 +70,23 @@ function createFunction(f) {
callback(err);
}
else {
- var values = {};
if (context.res && context.bindings.res === undefined) {
context.bindings.res = context.res;
}
+
+ // because Edge.JS interop doesn't flow new values added to objects,
+ // we capture the binding values and pass them back as part of the
+ // result
+ var bindingValues = {};
for (var name in context.bindings) {
- values[name] = context.bindings[name];
+ bindingValues[name] = context.bindings[name];
}
- context.bind(values, function (err) {
- callback(err, result);
- });
+
+ var result = {
+ returnValue: returnValue,
+ bindingValues: bindingValues
+ };
+ callback(null, result);
}
};
diff --git a/test/Azure.Functions.Cli.Tests/packages.config b/test/Azure.Functions.Cli.Tests/packages.config
index cd8b26294..58eeb85bd 100644
--- a/test/Azure.Functions.Cli.Tests/packages.config
+++ b/test/Azure.Functions.Cli.Tests/packages.config
@@ -27,23 +27,23 @@
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -82,7 +82,7 @@
-
+
@@ -93,18 +93,18 @@
-
+
-
+
-
-
+
+
@@ -115,19 +115,19 @@
-
+
-
+
-
-
+
+
-
+
-
+
@@ -135,7 +135,7 @@
-
+