public override void RegisterBuilder(WebHostContext context) { context.KestrelOptions.Listen(context.Address, 443, listOptions => { listOptions.UseHttps(); }); }
void IWebServerListener.Listen(WebHostContext context) { var httpsPorts = AppConfig.Options.HttpsPort?.Split(",") ?? new string[] { "443" }; var httpPorts = AppConfig.Options.HttpPorts?.Split(","); if (AppConfig.Options.EnableHttps) { foreach (var httpsPort in httpsPorts) { int.TryParse(httpsPort, out int port); if (string.IsNullOrEmpty(AppConfig.Options.HttpsPort)) { port = 443; } if (port > 0) { context.KestrelOptions.Listen(context.Address, port, listOptions => { X509Certificate2 certificate2 = null; var fileName = AppConfig.Options.CertificateFileName; var password = AppConfig.Options.CertificatePassword; if (fileName != null && password != null) { var pfxFile = Path.Combine(AppContext.BaseDirectory, AppConfig.Options.CertificateFileName); if (File.Exists(pfxFile)) { certificate2 = new X509Certificate2(pfxFile, AppConfig.Options.CertificatePassword); } else { var paths = GetPaths(AppConfig.Options.CertificateLocation); foreach (var path in paths) { pfxFile = Path.Combine(path, AppConfig.Options.CertificateFileName); if (File.Exists(pfxFile)) { certificate2 = new X509Certificate2(pfxFile, AppConfig.Options.CertificatePassword); } } } } listOptions = certificate2 == null ? listOptions.UseHttps() : listOptions.UseHttps(certificate2); }); } } } if (httpPorts != null) { foreach (var httpPort in httpPorts) { int.TryParse(httpPort, out int port); if (port > 0) { context.KestrelOptions.Listen(context.Address, port); } } } }
public void TearDown(WebHostContext context) { var db = context.Properties[NuwaDBContextKey] as ITestDatabase; if (db != null && db.Exist()) { db.Delete(); } }
private void SetKestrelOptions(WebHostContext context) { var requestBodyDataRate = AppConfig.Options.MinRequestBodyDataRate; var responseBodyDataRate = AppConfig.Options.MinResponseDataRate; context.KestrelOptions.Limits.MinRequestBodyDataRate = requestBodyDataRate == null ? null : new MinDataRate(requestBodyDataRate.BytesPerSecond, requestBodyDataRate.GracePeriod); context.KestrelOptions.Limits.MinResponseDataRate = responseBodyDataRate == null ? null : new MinDataRate(responseBodyDataRate.BytesPerSecond, responseBodyDataRate.GracePeriod); context.KestrelOptions.Limits.MaxConcurrentConnections = AppConfig.Options.MaxConcurrentConnections; context.KestrelOptions.Limits.MaxConcurrentUpgradedConnections = AppConfig.Options.MaxConcurrentUpgradedConnections; context.KestrelOptions.Limits.MaxRequestBodySize = AppConfig.Options.MaxRequestBodySize; context.KestrelOptions.Limits.MaxRequestBufferSize = AppConfig.Options.MaxRequestBufferSize; context.KestrelOptions.Limits.MaxRequestHeaderCount = AppConfig.Options.MaxRequestHeaderCount; context.KestrelOptions.Limits.MaxRequestHeadersTotalSize = AppConfig.Options.MaxRequestHeadersTotalSize; context.KestrelOptions.Limits.MaxRequestLineSize = AppConfig.Options.MaxRequestLineSize; context.KestrelOptions.Limits.MaxResponseBufferSize = AppConfig.Options.MaxResponseBufferSize; }
/// <summary> /// Configures the host. /// </summary> /// <param name="moduleProvider">The module provider.</param> /// <param name="context">The context.</param> public static void ConfigureHost(this IModuleProvider moduleProvider, WebHostContext context) { moduleProvider.Modules.ForEach(p => { try { if (p.Enable) { var module = p as KestrelHttpModule; module?.ConfigureWebHost(context); } } catch (Exception ex) { throw ex; } }); }
public void Initialize(WebHostContext context) { ITestDatabase db; string connectionString; string prefix = context.TestType.TestTypeInfo.Type.Name; if (context.HostOptions is IISExpressHostOptions) { connectionString = new ConnectionStringBuilder().UseLocalDB().UseRandomDBName(prefix).ToString(); db = new SqlTestDatabase(connectionString); } else if (context.HostOptions is IISHostOptions) { connectionString = new ConnectionStringBuilder().UseLocalSqlExpress().UseRandomDBName(prefix).ToString(); db = new SqlTestDatabase(connectionString); } else if (context.HostOptions is AzureWebsiteHostOptions) { connectionString = NuwaGlobalConfiguration.SqlAzureConnectionString; db = new SqlTestDatabase(connectionString); } else { throw new NotSupportedException(context.HostOptions.GetType().Name); } if (db.Exist()) { db.Delete(); } context.Properties.Add(NuwaDBContextKey, db); context.DeploymentOptions.WebConfigTransformers.Add(new WebConfigTransformer( config => { config.ClearConnectionStrings(); config.AddConnectionString(ConnectionStringName, connectionString, "System.Data.SqlClient"); })); }
public override void RegisterBuilder(WebHostContext context) { _listener.Listen(context); }
public override void RegisterBuilder(WebHostContext context) { }
void IWebServerListener.Listen(WebHostContext context) { var httpsPorts = AppConfig.Options.HttpsPort?.Split(",") ?? new string[] { "443" }; var httpPorts = AppConfig.Options.HttpPorts?.Split(","); if (AppConfig.Options.EnableHttps) { foreach (var httpsPort in httpsPorts) { int.TryParse(httpsPort, out int port); if (string.IsNullOrEmpty(AppConfig.Options.HttpsPort)) { port = 443; } if (port > 0) { context.KestrelOptions.Listen(context.Address, port, listOptions => { X509Certificate2 certificate2 = null; var fileName = AppConfig.Options.CertificateFileName; var password = AppConfig.Options.CertificatePassword; if (fileName != null && password != null) { var pfxFile = Path.Combine(AppContext.BaseDirectory, AppConfig.Options.CertificateFileName); if (File.Exists(pfxFile)) { certificate2 = new X509Certificate2(pfxFile, AppConfig.Options.CertificatePassword); } else { var paths = GetPaths(AppConfig.Options.CertificateLocation); foreach (var path in paths) { pfxFile = Path.Combine(path, AppConfig.Options.CertificateFileName); if (File.Exists(pfxFile)) { certificate2 = new X509Certificate2(pfxFile, AppConfig.Options.CertificatePassword); } } } } listOptions = certificate2 == null ? listOptions.UseHttps() : listOptions.UseHttps(certificate2); }); } } } if (httpPorts != null) { foreach (var httpPort in httpPorts) { int.TryParse(httpPort, out int port); if (port > 0) { context.KestrelOptions.Listen(context.Address, port); } } } var requestBodyDataRate = AppConfig.Options.MinRequestBodyDataRate; var responseBodyDataRate = AppConfig.Options.MinResponseDataRate; context.KestrelOptions.Limits.MinRequestBodyDataRate = requestBodyDataRate == null?null: new MinDataRate(requestBodyDataRate.BytesPerSecond, requestBodyDataRate.GracePeriod); context.KestrelOptions.Limits.MinResponseDataRate = responseBodyDataRate == null ? null : new MinDataRate(responseBodyDataRate.BytesPerSecond, responseBodyDataRate.GracePeriod); context.KestrelOptions.Limits.MaxConcurrentConnections = AppConfig.Options.MaxConcurrentConnections; context.KestrelOptions.Limits.MaxConcurrentUpgradedConnections = AppConfig.Options.MaxConcurrentUpgradedConnections; context.KestrelOptions.Limits.MaxRequestBodySize = AppConfig.Options.MaxRequestBodySize; context.KestrelOptions.Limits.MaxRequestBufferSize = AppConfig.Options.MaxRequestBufferSize; context.KestrelOptions.Limits.MaxRequestHeaderCount = AppConfig.Options.MaxRequestHeaderCount; context.KestrelOptions.Limits.MaxRequestHeadersTotalSize = AppConfig.Options.MaxRequestHeadersTotalSize; context.KestrelOptions.Limits.MaxRequestLineSize = AppConfig.Options.MaxRequestLineSize; context.KestrelOptions.Limits.MaxResponseBufferSize = AppConfig.Options.MaxResponseBufferSize; }
/// <summary> /// Registers the builder. /// </summary> /// <param name="context">The context.</param> public override void ConfigureWebHost(WebHostContext context) { _listener.Listen(context); }
public override void RegisterBuilder(WebHostContext context) { EnableHttps = context.EnableHttps; _listener.Listen(context); }