/// <summary> /// Default constructor that AWS Lambda will invoke. /// </summary> protected APIGatewayProxyFunction() { var builder = new WebHostBuilder(); Init(builder); // Add the API Gateway services in case the override Init method didn't add it. UseApiGateway will // not add anything if API Gateway has already been added. builder.UseApiGateway(); _host = builder.Build(); _host.Start(); _server = _host.Services.GetService(typeof(Microsoft.AspNetCore.Hosting.Server.IServer)) as APIGatewayServer; }
/// <summary> /// Should be called in the derived constructor /// </summary> protected void Start() { var builder = CreateWebHostBuilder(); Init(builder); _host = builder.Build(); _host.Start(); _server = _host.Services.GetService(typeof(Microsoft.AspNetCore.Hosting.Server.IServer)) as APIGatewayServer; if (_server == null) { throw new Exception("Failed to find the implementation APIGatewayServer for the IServer registration. This can happen if UseApiGateway was not called."); } }