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;
}