# HttpServerHostContextBuilder

Kind: Class  
Namespace: `Sisk.Core.Http.Hosting`  
Assembly: `Sisk.Core.dll`  
Source: https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.html

Represents a context constructor for [HttpServerHostContext](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContext.md).

```csharp
public sealed class HttpServerHostContextBuilder
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← 
[HttpServerHostContextBuilder](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.md)

#### Inherited Members

[object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype), 
[object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring), 
[object.Equals\(object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)), 
[object.Equals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)), 
[object.ReferenceEquals\(object?, object?\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), 
[object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)

## Properties

| Name | Description |
| --- | --- |
| [CatchConfigurationExceptions](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.CatchConfigurationExceptions.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_CatchConfigurationExceptions) | Defines how the constructor should capture errors thrown within [UsePortableConfiguration](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UsePortableConfiguration.md) and display in the Console. |
| [ServerConfiguration](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.ServerConfiguration.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_ServerConfiguration) | Gets the Server Configuration object. |

## Methods

| Name | Description |
| --- | --- |
| [Build\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.Build.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_Build) | Builds an [HttpServerHostContext](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContext.md) with the specified parameters. |
| [UseAutoScan<TModule\>\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseAutoScan.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseAutoScan__1) | This method is an shortcut for calling [AutoScanModules](https://docs.sisk-framework.org/api/Sisk.Core.Routing.Router.AutoScanModules.md). |
| [UseAutoScan<TModule\>\(Assembly\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseAutoScan.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseAutoScan__1_System_Reflection_Assembly_) | This method is an shortcut for calling [AutoScanModules](https://docs.sisk-framework.org/api/Sisk.Core.Routing.Router.AutoScanModules.md). |
| [UseBootstraper\(Action\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseBootstraper.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseBootstraper_System_Action_) | Adds an function that will be executed immediately before starting the HTTP server. |
| [UseBootstraper\(string, Action\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseBootstraper.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseBootstraper_System_String_System_Action_) | Adds an function that will be executed immediately before starting the HTTP server. |
| [UseBootstraper\(Func<Task\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseBootstraper.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseBootstraper_System_Func_System_Threading_Tasks_Task__) | Adds an asynchronous function that will be executed immediately before starting the HTTP server. |
| [UseBootstraper\(string, Func<Task\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseBootstraper.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseBootstraper_System_String_System_Func_System_Threading_Tasks_Task__) | Adds an asynchronous function that will be executed immediately before starting the HTTP server. |
| [UseConfiguration\(Action<HttpServerConfiguration\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseConfiguration.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseConfiguration_System_Action_Sisk_Core_Http_HttpServerConfiguration__) | Calls an action that has the HTTP server configuration as an argument. |
| [UseCors\(Action<CrossOriginResourceSharingHeaders\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseCors.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseCors_System_Action_Sisk_Core_Entity_CrossOriginResourceSharingHeaders__) | Calls an action that has an [CrossOriginResourceSharingHeaders](https://docs.sisk-framework.org/api/Sisk.Core.Entity.CrossOriginResourceSharingHeaders.md) instance from the main listening host as an argument. |
| [UseCors\(CrossOriginResourceSharingHeaders\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseCors.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseCors_Sisk_Core_Entity_CrossOriginResourceSharingHeaders_) | Sets an [CrossOriginResourceSharingHeaders](https://docs.sisk-framework.org/api/Sisk.Core.Entity.CrossOriginResourceSharingHeaders.md) instance in the current listening host. |
| [UseEngine\(HttpServerEngine\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseEngine.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseEngine_Sisk_Core_Http_Engine_HttpServerEngine_) | Sets the HTTP server engine. |
| [UseEngine<TEngine\>\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseEngine.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseEngine__1) | Sets the HTTP server engine using a default constructor. |
| [UseEngine<TEngine\>\(Action<TEngine\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseEngine.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseEngine__1_System_Action___0__) | Sets the HTTP server engine using a default constructor and applies the specified configuration action. |
| [UseEngine<TEngine\>\(Func<TEngine\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseEngine.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseEngine__1_System_Func___0__) | Sets the HTTP server engine using a factory method. |
| [UseFileServer\(string, string\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseFileServer.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseFileServer_System_String_System_String_) | Configures a file server to serve static files from the specified root directory for the given router path. |
| [UseFileServer\(string, string, IRequestHandler\[\]?\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseFileServer.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseFileServer_System_String_System_String_Sisk_Core_Routing_IRequestHandler___) | Configures a file server to serve static files from the specified root directory for the given router path, optionally applying custom request handlers. |
| [UseFileServer\(string, HttpFileServerHandler, IRequestHandler\[\]?\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseFileServer.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseFileServer_System_String_Sisk_Core_Http_FileSystem_HttpFileServerHandler_Sisk_Core_Routing_IRequestHandler___) | Configures a file server to serve static files using the specified [HttpFileServerHandler](https://docs.sisk-framework.org/api/Sisk.Core.Http.FileSystem.HttpFileServerHandler.md) for the given router path, optionally applying custom request handlers. |
| [UseForwardingResolver\(ForwardingResolver\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseForwardingResolver.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseForwardingResolver_Sisk_Core_Http_ForwardingResolver_) | This method is a shortcut for setting [ForwardingResolver](https://docs.sisk-framework.org/api/Sisk.Core.Http.HttpServerConfiguration.ForwardingResolver.md). |
| [UseForwardingResolver<TForwardingResolver\>\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseForwardingResolver.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseForwardingResolver__1) | This method is a shortcut for setting [ForwardingResolver](https://docs.sisk-framework.org/api/Sisk.Core.Http.HttpServerConfiguration.ForwardingResolver.md). |
| [UseHandler<THandler\>\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseHandler.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseHandler__1) | This method is an shortcut for calling [RegisterHandler](https://docs.sisk-framework.org/api/Sisk.Core.Http.HttpServer.RegisterHandler.md). |
| [UseHandler\(HttpServerHandler\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseHandler.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseHandler_Sisk_Core_Http_Handlers_HttpServerHandler_) | This method is an shortcut for calling [RegisterHandler](https://docs.sisk-framework.org/api/Sisk.Core.Http.HttpServer.RegisterHandler.md). |
| [UseHttpServer\(Action<HttpServer\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseHttpServer.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseHttpServer_System_Action_Sisk_Core_Http_HttpServer__) | Calls an action that has the HTTP server instance as an argument. |
| [UseListeningPort\(ushort\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseListeningPort.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseListeningPort_System_UInt16_) | Sets the main [ListeningPort](https://docs.sisk-framework.org/api/Sisk.Core.Http.ListeningPort.md) of this host builder. |
| [UseListeningPort\(string\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseListeningPort.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseListeningPort_System_String_) | Sets the main [ListeningPort](https://docs.sisk-framework.org/api/Sisk.Core.Http.ListeningPort.md) of this host builder. |
| [UseListeningPort\(ListeningPort\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseListeningPort.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseListeningPort_Sisk_Core_Http_ListeningPort_) | Sets the main [ListeningPort](https://docs.sisk-framework.org/api/Sisk.Core.Http.ListeningPort.md) of this host builder. |
| [UseLocale\(CultureInfo\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseLocale.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseLocale_System_Globalization_CultureInfo_) | Changes the default thread current culture through [DefaultThreadCurrentCulture](https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.defaultthreadcurrentculture). |
| [UseMinimalConfiguration\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseMinimalConfiguration.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseMinimalConfiguration) | Configures the HTTP server with a minimal set of default settings. |
| [UsePortableConfiguration\(Action<PortableConfigurationBuilder\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UsePortableConfiguration.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UsePortableConfiguration_System_Action_Sisk_Core_Http_Hosting_PortableConfigurationBuilder__) | Enables the portable configuration for this application, which imports settings, parameters, and other information from a JSON settings file. |
| [UseRouter\(Action<Router\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseRouter.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseRouter_System_Action_Sisk_Core_Routing_Router__) | Calls an action that has an [Router](https://docs.sisk-framework.org/api/Sisk.Core.Routing.Router.md) instance from the host HTTP server. |
| [UseRouter\(Router\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseRouter.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseRouter_Sisk_Core_Routing_Router_) | Sets an [Router](https://docs.sisk-framework.org/api/Sisk.Core.Routing.Router.md) instance in the current listening host. |
| [UseSsl\(ListeningHostSslOptions\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseSsl.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseSsl_Sisk_Core_Http_ListeningHostSslOptions_) | Configures SSL for the listening host using the specified options. |
| [UseSsl\(X509Certificate2\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseSsl.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseSsl_System_Security_Cryptography_X509Certificates_X509Certificate2_) | Configures SSL for the listening host using the specified certificate. |
| [UseSsl\(\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseSsl.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseSsl) | Configures SSL for the listening host using a trusted development certificate for localhost and 127.0.0.1. |
| [UseStartupMessage\(string\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseStartupMessage.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseStartupMessage_System_String_) | Add an optional message to the [HttpServerHostContext](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContext.md) output verbose. |
| [UseStartupMessage\(Func<string\>\)](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContextBuilder.UseStartupMessage.md#Sisk_Core_Http_Hosting_HttpServerHostContextBuilder_UseStartupMessage_System_Func_System_String__) | Adds a function that returns an optional initialization message to the [HttpServerHostContext](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.HttpServerHostContext.md) output verbose. |
