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 @@ - +