C# Class HttpServer.HttpClientContext

Contains a connection to a browser/client.
Remember to Start after you have hooked the RequestReceived event.
Inheritance: IHttpClientContext, IDisposable
Show file Open project: aurora-sim/Aurora-Libs Class Usage Examples

Public Properties

Property Type Description
Available bool

Private Properties

Property Type Description
Dispose void
OnReceive void
OnRequestCompleted void
OnRequestLine void

Public Methods

Method Description
Cleanup ( ) : void

Clean up context.

Make sure to call base.Cleanup() if you override the method.

Close ( ) : void
Disconnect ( SocketError error ) : void

Disconnect from client

Dispose ( ) : void
HttpClientContext ( bool secured, IPEndPoint remoteEndPoint, Stream stream, IRequestParserFactory parserFactory, int bufferSize, Socket sock, ILogWriter log ) : System

Initializes a new instance of the HttpClientContext class.

Respond ( string body ) : void

Send a response.

Respond ( string httpVersion, HttpServer.HttpStatusCode statusCode, string reason ) : void

Send a response.

Respond ( string httpVersion, HttpServer.HttpStatusCode statusCode, string reason, string body, string contentType ) : void

Send a response.

Send ( byte buffer ) : void

send a whole buffer

Send ( byte buffer, int offset, int size ) : void

Send data using the stream

Start ( ) : void

Start reading content.

Make sure to call base.Start() if you override this method.

Protected Methods

Method Description
OnBodyBytesReceived ( object sender, HttpServer.Parser.BodyEventArgs e ) : void

Process incoming body bytes.

OnHeaderReceived ( object sender, HttpServer.Parser.HeaderEventArgs e ) : void

Private Methods

Method Description
Dispose ( bool unmanaged ) : void
OnReceive ( IAsyncResult ar ) : void
OnRequestCompleted ( object source, EventArgs args ) : void
OnRequestLine ( object sender, HttpServer.Parser.RequestLineEventArgs e ) : void

Method Details

Cleanup() public method

Clean up context.
Make sure to call base.Cleanup() if you override the method.
public Cleanup ( ) : void
return void

Close() public method

public Close ( ) : void
return void

Disconnect() public method

Disconnect from client
public Disconnect ( SocketError error ) : void
error SocketError error to report in the event.
return void

Dispose() public method

public Dispose ( ) : void
return void

HttpClientContext() public method

Initializes a new instance of the HttpClientContext class.
If fails Stream must be writable and readable.
public HttpClientContext ( bool secured, IPEndPoint remoteEndPoint, Stream stream, IRequestParserFactory parserFactory, int bufferSize, Socket sock, ILogWriter log ) : System
secured bool true if the connection is secured (SSL/TLS)
remoteEndPoint System.Net.IPEndPoint client that connected.
stream Stream Stream used for communication
parserFactory IRequestParserFactory Used to create a .
bufferSize int Size of buffer to use when reading data. Must be at least 4096 bytes.
sock Socket
log ILogWriter
return System

OnBodyBytesReceived() protected method

Process incoming body bytes.
protected OnBodyBytesReceived ( object sender, HttpServer.Parser.BodyEventArgs e ) : void
sender object
e HttpServer.Parser.BodyEventArgs Bytes
return void

OnHeaderReceived() protected method

protected OnHeaderReceived ( object sender, HttpServer.Parser.HeaderEventArgs e ) : void
sender object
e HttpServer.Parser.HeaderEventArgs
return void

Respond() public method

Send a response.
public Respond ( string body ) : void
body string
return void

Respond() public method

Send a response.
public Respond ( string httpVersion, HttpServer.HttpStatusCode statusCode, string reason ) : void
httpVersion string Either or
statusCode HttpServer.HttpStatusCode HTTP status code
reason string reason for the status code.
return void

Respond() public method

Send a response.
If is invalid.
public Respond ( string httpVersion, HttpServer.HttpStatusCode statusCode, string reason, string body, string contentType ) : void
httpVersion string Either or
statusCode HttpServer.HttpStatusCode HTTP status code
reason string reason for the status code.
body string HTML body contents, can be null or empty.
contentType string A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty
return void

Send() public method

send a whole buffer
public Send ( byte buffer ) : void
buffer byte buffer to send
return void

Send() public method

Send data using the stream
public Send ( byte buffer, int offset, int size ) : void
buffer byte Contains data to send
offset int Start position in buffer
size int number of bytes to send
return void

Start() public method

Start reading content.
Make sure to call base.Start() if you override this method.
public Start ( ) : void
return void

Property Details

Available public property

public bool Available
return bool