|
// <auto-generated/>
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Context.Features;
using Microsoft.Azure.Functions.Worker.Invocation;
namespace AzureFunctionsEndToEnd.Functions
{
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Azure.Functions.Worker.Sdk.Generators", "1.3.5.0")]
internal class DirectFunctionExecutor : global::Microsoft.Azure.Functions.Worker.Invocation.IFunctionExecutor
{
private readonly global::Microsoft.Azure.Functions.Worker.IFunctionActivator _functionActivator;
private readonly Dictionary<string, Type> types = new Dictionary<string, Type>()
{
{ "AzureFunctionsEndToEnd.Functions.MyAzureBlobTrigger", Type.GetType("AzureFunctionsEndToEnd.Functions.MyAzureBlobTrigger, AzureFunctionsEndToEnd.Functions, Version=42.42.42.42, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51") },
{ "AzureFunctionsEndToEnd.Functions.MyAzureQueueTrigger", Type.GetType("AzureFunctionsEndToEnd.Functions.MyAzureQueueTrigger, AzureFunctionsEndToEnd.Functions, Version=42.42.42.42, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51") },
{ "AspirePlusFunctions.Functions.MyEventHubTrigger", Type.GetType("AspirePlusFunctions.Functions.MyEventHubTrigger, AzureFunctionsEndToEnd.Functions, Version=42.42.42.42, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51") },
{ "AzureFunctionsEndToEnd.Functions.MyHttpTrigger", Type.GetType("AzureFunctionsEndToEnd.Functions.MyHttpTrigger, AzureFunctionsEndToEnd.Functions, Version=42.42.42.42, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51") }
};
public DirectFunctionExecutor(global::Microsoft.Azure.Functions.Worker.IFunctionActivator functionActivator)
{
_functionActivator = functionActivator ?? throw new global::System.ArgumentNullException(nameof(functionActivator));
}
/// <inheritdoc/>
public async global::System.Threading.Tasks.ValueTask ExecuteAsync(global::Microsoft.Azure.Functions.Worker.FunctionContext context)
{
var inputBindingFeature = context.Features.Get<global::Microsoft.Azure.Functions.Worker.Context.Features.IFunctionInputBindingFeature>();
var inputBindingResult = await inputBindingFeature.BindFunctionInputAsync(context);
var inputArguments = inputBindingResult.Values;
if (string.Equals(context.FunctionDefinition.EntryPoint, "AzureFunctionsEndToEnd.Functions.MyAzureBlobTrigger.RunAsync", StringComparison.Ordinal))
{
var instanceType = types["AzureFunctionsEndToEnd.Functions.MyAzureBlobTrigger"];
var i = _functionActivator.CreateInstance(instanceType, context) as global::AzureFunctionsEndToEnd.Functions.MyAzureBlobTrigger;
context.GetInvocationResult().Value = await i.RunAsync((string)inputArguments[0], (global::Microsoft.Azure.Functions.Worker.FunctionContext)inputArguments[1]);
return;
}
if (string.Equals(context.FunctionDefinition.EntryPoint, "AzureFunctionsEndToEnd.Functions.MyAzureQueueTrigger.Run", StringComparison.Ordinal))
{
var instanceType = types["AzureFunctionsEndToEnd.Functions.MyAzureQueueTrigger"];
var i = _functionActivator.CreateInstance(instanceType, context) as global::AzureFunctionsEndToEnd.Functions.MyAzureQueueTrigger;
i.Run((global::Azure.Storage.Queues.Models.QueueMessage)inputArguments[0]);
return;
}
if (string.Equals(context.FunctionDefinition.EntryPoint, "AspirePlusFunctions.Functions.MyEventHubTrigger.Run", StringComparison.Ordinal))
{
var instanceType = types["AspirePlusFunctions.Functions.MyEventHubTrigger"];
var i = _functionActivator.CreateInstance(instanceType, context) as global::AspirePlusFunctions.Functions.MyEventHubTrigger;
i.Run((string[])inputArguments[0]);
return;
}
if (string.Equals(context.FunctionDefinition.EntryPoint, "AzureFunctionsEndToEnd.Functions.MyHttpTrigger.Run", StringComparison.Ordinal))
{
var instanceType = types["AzureFunctionsEndToEnd.Functions.MyHttpTrigger"];
var i = _functionActivator.CreateInstance(instanceType, context) as global::AzureFunctionsEndToEnd.Functions.MyHttpTrigger;
context.GetInvocationResult().Value = i.Run((global::Microsoft.AspNetCore.Http.HttpRequest)inputArguments[0]);
return;
}
}
}
/// <summary>
/// Extension methods to enable registration of the custom <see cref="IFunctionExecutor"/> implementation generated for the current worker.
/// </summary>
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Azure.Functions.Worker.Sdk.Generators", "1.3.5.0")]
public static class FunctionExecutorHostBuilderExtensions
{
///<summary>
/// Configures an optimized function executor to the invocation pipeline.
///</summary>
public static IHostBuilder ConfigureGeneratedFunctionExecutor(this IHostBuilder builder)
{
return builder.ConfigureServices(s =>
{
s.AddSingleton<global::Microsoft.Azure.Functions.Worker.Invocation.IFunctionExecutor, DirectFunctionExecutor>();
});
}
}
/// <summary>
/// Auto startup class to register the custom <see cref="IFunctionExecutor"/> implementation generated for the current worker.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Azure.Functions.Worker.Sdk.Generators", "1.3.5.0")]
public class FunctionExecutorAutoStartup : global::Microsoft.Azure.Functions.Worker.IAutoConfigureStartup
{
/// <summary>
/// Configures the <see cref="IHostBuilder"/> to use the custom <see cref="IFunctionExecutor"/> implementation generated for the current worker.
/// </summary>
/// <param name="hostBuilder">The <see cref="IHostBuilder"/> instance to use for service registration.</param>
public void Configure(IHostBuilder hostBuilder)
{
hostBuilder.ConfigureGeneratedFunctionExecutor();
}
}
} |