internal IHost BuildHost()

in src/Google.Cloud.Functions.Testing/FunctionTestServerBuilder.cs [128:164]


        internal IHost BuildHost()
        {
            var loggerProvider = new MemoryLoggerProvider();
            var host = Host.CreateDefaultBuilder()
                .ConfigureWebHostDefaults(webHostBuilder =>
                {
                    // Unconditional configuration
                    webHostBuilder
                        .UseTestServer()
                        .ConfigureLogging(logging => logging.ClearProviders().AddProvider(loggerProvider))
                        .ConfigureServices(services => services.AddSingleton(loggerProvider).AddFunctionTarget(FunctionTarget));

                    // Configuration based on builder state.
                    if (_startups is null)
                    {
                        webHostBuilder.UseFunctionsStartups(FunctionTarget.Assembly, FunctionTarget);
                    }
                    else
                    {
                        foreach (var startup in _startups)
                        {
                            webHostBuilder.UseFunctionsStartup(startup);
                        }
                    }

                    if (_consoleLogging)
                    {
                        webHostBuilder.ConfigureLogging((context, logging) => logging.AddFunctionsConsoleLogging(context));
                    }

                    // When everything else is done, always configure the application to use the Functions Framework.
                    webHostBuilder.Configure((context, app) => app.UseFunctionsFramework(context));
                })
                .Build();
            host.Start();
            return host;
        }