C# Class HttpServer.Server

Inheritance: HttpServer.ServerBase
Afficher le fichier Open project: NyxStudios/HttpServer Class Usage Examples

Méthodes publiques

Méthode Description
Add ( IBodyDecoder decoder ) : void

Add a decoder.

Adding zero decoders will make the server add the default ones which is MultiPartDecoder and UrlDecoder.

Add ( IHttpListener listener ) : void

Add a HTTP listener.

Add ( IModule module ) : void

Add a file module

Add ( IRouter router ) : void

Add a new router.

Server ( ) : System

Initializes a new instance of the Server class.

Server ( HttpFactory factory ) : System

Initializes a new instance of the Server class.

Start ( int backLog ) : void

Start http server.

Stop ( bool removeModules ) : void

Stops the server

Méthodes protégées

Méthode Description
DecodeBody ( IRequest request ) : void
DisplayErrorPage ( IHttpContext context, Exception exception ) : void

An error have occurred and we need to send a result pack to the client

Invoke base class (Server) to send the contents of IHttpContext.Response.

OnAuthentication ( HttpServer.RequestContext context ) : void

Called before anything else.

Looks after a AuthorizationHeader in the request and will use the AuthenticationProvider if found.

OnBeforeModules ( HttpServer.RequestContext context ) : void

All server modules are about to be invoked.

Called when routers have been invoked but no modules yet.

OnBeforeRequest ( HttpServer.RequestContext context ) : void

A request have arrived but not yet been processed yet.

Default implementation adds a Date header and Server header.

ProcessResult ( ProcessingResult result, HttpServer.RequestEventArgs e ) : bool

Process result (check if it should be sent back or not)

RequestAuthentication ( string realm ) : void

Requests authentication from the user.

Used when calculating hashes in Digest authentication.

SendResponse ( IHttpContext context, IRequest request, IResponse response ) : void

Send a response.

Private Methods

Méthode Description
HandleRequest ( HttpServer.RequestEventArgs e ) : ProcessingResult
Listener_OnErrorPage ( object sender, HttpServer.ErrorPageEventArgs e ) : void
OnRequest ( object sender, HttpServer.RequestEventArgs e ) : void
ProcessModules ( HttpServer.RequestContext context ) : ProcessingResult

Go through all modules and check if any of them can handle the current request.

ProcessRouters ( HttpServer.RequestContext context ) : ProcessingResult

Processes all routers.

Method Details

Add() public méthode

Add a decoder.
Adding zero decoders will make the server add the default ones which is MultiPartDecoder and UrlDecoder.
public Add ( IBodyDecoder decoder ) : void
decoder IBodyDecoder decoder to add
Résultat void

Add() public méthode

Add a HTTP listener.
Listener have been started.
public Add ( IHttpListener listener ) : void
listener IHttpListener
Résultat void

Add() public méthode

Add a file module
module is null. Cannot add modules when server have been started.
public Add ( IModule module ) : void
module IModule Module to add
Résultat void

Add() public méthode

Add a new router.
Server have been started.
public Add ( IRouter router ) : void
router IRouter Router to add
Résultat void

DecodeBody() protected méthode

protected DecodeBody ( IRequest request ) : void
request IRequest
Résultat void

DisplayErrorPage() protected méthode

An error have occurred and we need to send a result pack to the client
Invoke base class (Server) to send the contents of IHttpContext.Response.
protected DisplayErrorPage ( IHttpContext context, Exception exception ) : void
context IHttpContext The context.
exception System.Exception The exception.
Résultat void

OnAuthentication() protected méthode

Called before anything else.
Looks after a AuthorizationHeader in the request and will use the AuthenticationProvider if found.
protected OnAuthentication ( HttpServer.RequestContext context ) : void
context HttpServer.RequestContext The context.
Résultat void

OnBeforeModules() protected méthode

All server modules are about to be invoked.
Called when routers have been invoked but no modules yet.
protected OnBeforeModules ( HttpServer.RequestContext context ) : void
context HttpServer.RequestContext The context.
Résultat void

OnBeforeRequest() protected méthode

A request have arrived but not yet been processed yet.
Default implementation adds a Date header and Server header.
protected OnBeforeRequest ( HttpServer.RequestContext context ) : void
context HttpServer.RequestContext The context.
Résultat void

ProcessResult() protected méthode

Process result (check if it should be sent back or not)
protected ProcessResult ( ProcessingResult result, HttpServer.RequestEventArgs e ) : bool
result ProcessingResult
e HttpServer.RequestEventArgs
Résultat bool

RequestAuthentication() protected méthode

Requests authentication from the user.
Used when calculating hashes in Digest authentication.
protected RequestAuthentication ( string realm ) : void
realm string Host/domain name that the server hosts.
Résultat void

SendResponse() protected méthode

Send a response.
protected SendResponse ( IHttpContext context, IRequest request, IResponse response ) : void
context IHttpContext
request IRequest
response IResponse
Résultat void

Server() public méthode

Initializes a new instance of the Server class.
public Server ( ) : System
Résultat System

Server() public méthode

Initializes a new instance of the Server class.
public Server ( HttpFactory factory ) : System
factory HttpFactory Factory used to create objects used in this library.
Résultat System

Start() public méthode

Start http server.
public Start ( int backLog ) : void
backLog int Number of pending connections.
Résultat void

Stop() public méthode

Stops the server
public Stop ( bool removeModules ) : void
removeModules bool true if all modules should be removed.
Résultat void