Namespace EmbedIO
Classes
CompressionMethodNames
Exposes constants for possible values of the Content-Encoding
HTTP header.
ExceptionHandler
Provides standard handlers for unhandled exceptions at both module and server level.
HttpContextExtensions
Provides extension methods for types implementing IHttpContext.
HttpException
When thrown, breaks the request handling control flow and sends an error response to the client.
HttpExceptionHandler
Provides standard handlers for HTTP exceptions at both module and server level.
HttpHeaderNames
Exposes known HTTP header names.
HttpNotAcceptableException
When thrown, breaks the request handling control flow and sends a redirection response to the client.
HttpRangeNotSatisfiableException
When thrown, breaks the request handling control flow and sends a redirection response to the client.
HttpRedirectException
When thrown, breaks the request handling control flow and sends a redirection response to the client.
HttpRequestExtensions
Provides extension methods for types implementing IHttpRequest.
HttpResponseExtensions
Provides extension methods for types implementing IHttpResponse.
HttpStatusDescription
Provides standard HTTP status descriptions.
Data contained in this class comes from the following sources:
- RFC7231 Section 6 (HTTP/1.1 Semantics and Content)
- RFC6585 (Additional HTTP Status Codes)
- RFC2774 Section 7 (An HTTP Extension Framework)
- RFC7540 Section 9.1.2 (HTTP/2)
- RFC4918 Section 11 (WebDAV)
- RFC5842 Section 7 (Binding Extensions to WebDAV)
- RFC7538 Section 3 (HTTP Status Code 308)
- RFC3229 Section 10.4.1 (Delta encoding in HTTP)
- RFC8297 Section 2 (Early Hints)
- RFC7725 Section 3 (HTTP-status-451)
- RFC2295 Section 8.1 (Transparent Content Negotiation)
MimeType
Provides constants for commonly-used MIME types and association between file extensions and MIME types.
MimeTypeCustomizerExtensions
Provides extension methods for types implementing IMimeTypeCustomizer.
ModuleGroup
Groups modules under a common base URL path.
The BaseRoute property
of modules contained in a ModuleGroup
is relative to the
ModuleGroup
's BaseRoute property.
For example, given the following code:
new ModuleGroup("/download")
.WithStaticFilesAt("/docs", "/var/my/documents");
files contained in the /var/my/documents
folder will be
available to clients under the /download/docs/
URL.
RequestDeserializer
Provides standard request deserialization callbacks.
RequestHandler
Provides standard request handler callbacks.
ResponseSerializer
Provides standard response serializer callbacks.
WebModuleBase
Base class to define web modules.
Although it is not required that a module inherits from this class, it provides some useful features:
- validation and immutability of the BaseRoute property, which are of paramount importance for the correct functioning of a web server;
- support for configuration locking upon web server startup
(see the
property and the method); - a basic implementation of the Start(CancellationToken) method for modules that do not need to do anything upon web server startup;
- implementation of the OnUnhandledException callback property.
WebModuleContainer
Provides useful constants for dealing with module containers.
WebModuleContainerExtensions
Contains extension methods for types implementing IWebModuleContainer.
WebModuleExtensions
Provides extension methods for types implementing IWebModule.
WebServer
EmbedIO's web server. This is the default implementation of IWebServer.
This class also contains some useful constants related to EmbedIO's internal working.
WebServerBase<TOptions>
Base class for IWebServer implementations.
WebServerExtensions
Provides extension methods for types implementing IWebServer.
WebServerOptions
Contains options for configuring an instance of WebServer.
WebServerOptionsBase
Base class for web server options.
WebServerOptionsBaseExtensions
Provides extension methods for classes derived from WebServerOptionsBase.
WebServerOptionsExtensions
Provides extension methods for WebServerOptions.
WebServerStateChangedEventArgs
Represents event arguments whenever the state of a web server changes.
Interfaces
ICookieCollection
Interface for Cookie Collection.
IHttpContext
Represents the context of a HTTP(s) request being handled by a web server.
IHttpContextHandler
Represents an object that can handle a HTTP context.
This API supports the EmbedIO infrastructure and is not intended to be used directly from your code.
IHttpContextImpl
Represents a HTTP context implementation, i.e. a HTTP context as seen internally by EmbedIO.
This API mainly supports the EmbedIO infrastructure; it is not intended to be used directly from your code, unless to address specific needs in the implementation of EmbedIO plug-ins (e.g. modules).
IHttpException
Represents an exception that results in a particular HTTP response to be sent to the client.
This interface is meant to be implemented
by classes derived from
Either as message or a data object can be attached to the exception; which one, if any, is sent to the client will depend upon the handler used to send the response.
IHttpListener
Interface to create a HTTP Listener.
IHttpMessage
Represents a HTTP request or response.
IHttpRequest
Interface to create a HTTP Request.
IHttpResponse
Interface to create a HTTP Response.
IMimeTypeCustomizer
Represents an object that can set information about specific MIME types and media ranges, to be later retrieved via an IMimeTypeProvider interface.
IMimeTypeProvider
Represents an object that contains information on specific MIME types and media ranges.
IWebModule
Represents a module.
IWebModuleContainer
Represents an object that contains a collection of IWebModule interfaces.
IWebModuleImpl
Represents a module implementation, i.e. a module as seen internally by EmbedIO.
This API mainly supports the EmbedIO infrastructure; it is not intended to be used directly from your code, unless to address specific needs in the implementation of EmbedIO plug-ins (e.g. modules).
IWebServer
Represents a web server.
The basic usage of a web server is as follows:
- add modules to the Modules collection;
- set a SessionManager if needed;
- call RunAsync(CancellationToken) to respond to incoming requests.
Enums
CompressionMethod
Specifies the compression method used to compress a message on the WebSocket connection.
HttpListenerMode
Defines the HTTP listeners available for use in a WebServer.
HttpVerb
Enumerates the different HTTP Verbs.
WebServerState
Represents the state of a web server.
Delegates
ExceptionHandlerCallback
A callback used to provide information about an unhandled exception occurred while processing a request.
HttpExceptionHandlerCallback
A callback used to build the contents of the response for an IHttpException.
RequestDeserializerCallback<TData>
A callback used to deserialize an HTTP request body.
RequestHandlerCallback
A callback used to handle a request.
ResponseSerializerCallback
A callback used to serialize data to a HTTP response.