6188 lines
273 KiB
XML
6188 lines
273 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>HttpServer</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:HttpServer.SocketFilterEventArgs">
|
|
<summary>
|
|
Used by <see cref="E:HttpServer.HttpListener.SocketAccepted"/> to filter out unwanted connections.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.SocketFilterEventArgs.#ctor(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.SocketFilterEventArgs"/> class.
|
|
</summary>
|
|
<param name="socket">The socket.</param>
|
|
</member>
|
|
<member name="P:HttpServer.SocketFilterEventArgs.IsSocketOk">
|
|
<summary>
|
|
Gets or sets if socket can be accepted.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.SocketFilterEventArgs.Socket">
|
|
<summary>
|
|
Gets socket.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RequestEventArgs">
|
|
<summary>
|
|
A request have been received.
|
|
</summary>
|
|
<remarks>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpContext,HttpServer.IRequest,HttpServer.IResponse)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class.
|
|
</summary>
|
|
<param name="context">context that received the request.</param>
|
|
<param name="request">Received request.</param>
|
|
<param name="response">Response to send.</param>
|
|
</member>
|
|
<member name="P:HttpServer.RequestEventArgs.Context">
|
|
<summary>
|
|
Gets context that received the request.
|
|
</summary>
|
|
<remarks>
|
|
Do not forget to set <see cref="P:HttpServer.RequestEventArgs.IsHandled"/> to <c>true</c> if you are sending
|
|
back a response manually through <see cref="P:HttpServer.IHttpContext.Stream"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.RequestEventArgs.IsHandled">
|
|
<summary>
|
|
Gets or sets if the request have been handled.
|
|
</summary>
|
|
<remarks>
|
|
The library will not attempt to send the response object
|
|
back to the client if this property is set to <c>true</c>.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.RequestEventArgs.Request">
|
|
<summary>
|
|
Gets request object.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestEventArgs.Response">
|
|
<summary>
|
|
Gets response object.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.ResponseCookieCollection">
|
|
<summary>
|
|
Cookies that should be set.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookieCollection.Add(HttpServer.Messages.ResponseCookie)">
|
|
<summary>
|
|
Adds a cookie in the collection.
|
|
</summary>
|
|
<param name="cookie">cookie to add</param>
|
|
<exception cref="T:System.ArgumentNullException">cookie is <c>null</c></exception>
|
|
<exception cref="T:System.ArgumentException">Name and Content must be specified.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookieCollection.Add(HttpServer.Messages.RequestCookie,System.DateTime)">
|
|
<summary>
|
|
Copy a request cookie
|
|
</summary>
|
|
<param name="cookie"></param>
|
|
<param name="expires">When the cookie should expire</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookieCollection.Clear">
|
|
<summary>
|
|
Remove all cookies
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookieCollection.GetEnumerator">
|
|
<summary>
|
|
Gets a collection enumerator on the cookie list.
|
|
</summary>
|
|
<returns>collection enumerator</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookieCollection.System#Collections#Generic#IEnumerable{HttpServer#Messages#ResponseCookie}#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.ResponseCookieCollection.Count">
|
|
<summary>
|
|
Gets the count of cookies in the collection.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.ResponseCookieCollection.Item(System.String)">
|
|
<summary>
|
|
Gets the cookie of a given identifier.
|
|
</summary>
|
|
<value>Cookie if found; otherwise <c>null</c>.</value>
|
|
</member>
|
|
<member name="T:HttpServer.ExceptionEventArgs">
|
|
<summary>
|
|
An exception that can't be handled by the library have been thrown.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ExceptionEventArgs.#ctor(System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ExceptionEventArgs"/> class.
|
|
</summary>
|
|
<param name="exception">The exception.</param>
|
|
</member>
|
|
<member name="P:HttpServer.ExceptionEventArgs.Exception">
|
|
<summary>
|
|
Gets caught exception.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.DecodedData">
|
|
<summary>
|
|
Data decoded from a POST body.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.DecodedData.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.BodyDecoders.DecodedData"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.DecodedData.Files">
|
|
<summary>
|
|
Gets or sets decoded files.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.DecodedData.Parameters">
|
|
<summary>
|
|
Gets or sets decoded parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.SessionFileStore">
|
|
<summary>
|
|
Stores sessions in files.
|
|
</summary>
|
|
<remarks>
|
|
All session parameters must be serializable.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.ISessionStore">
|
|
<summary>
|
|
Stores sessions in your favorite store
|
|
</summary>
|
|
<remarks>
|
|
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.ISessionStore.Save(HttpServer.Sessions.Session)">
|
|
<summary>
|
|
Saves the specified session.
|
|
</summary>
|
|
<param name="session">The session.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.ISessionStore.Touch(System.String)">
|
|
<summary>
|
|
Touches the specified session
|
|
</summary>
|
|
<param name="id">Session id.</param>
|
|
<remarks>
|
|
Used to prevent sessions from expiring.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.ISessionStore.Load(System.String)">
|
|
<summary>
|
|
Loads a session
|
|
</summary>
|
|
<param name="id">Session id.</param>
|
|
<returns>Session if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.ISessionStore.Delete(System.String)">
|
|
<summary>
|
|
Delete a session
|
|
</summary>
|
|
<param name="id">Id of session</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionFileStore.Save(HttpServer.Sessions.Session)">
|
|
<summary>
|
|
Saves the specified session.
|
|
</summary>
|
|
<param name="session">The session.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionFileStore.Touch(System.String)">
|
|
<summary>
|
|
Touches the specified session
|
|
</summary>
|
|
<param name="id">Session id.</param>
|
|
<remarks>
|
|
Used to prevent sessions from expiring.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionFileStore.Load(System.String)">
|
|
<summary>
|
|
Loads a session
|
|
</summary>
|
|
<param name="id">Session id.</param>
|
|
<returns>Session if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Method">
|
|
<summary>
|
|
HTTP methods.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Unknown">
|
|
<summary>
|
|
Unknown method
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Post">
|
|
<summary>
|
|
Posting data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Get">
|
|
<summary>
|
|
Get data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Put">
|
|
<summary>
|
|
Update data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Delete">
|
|
<summary>
|
|
Remove data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Head">
|
|
<summary>
|
|
Get only HTTP headers.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Options">
|
|
<summary>
|
|
Options HTTP 1.1 header.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpListener">
|
|
<summary>
|
|
Http listener.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpListener">
|
|
<summary>
|
|
Http listener
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpListener.Start(System.Int32)">
|
|
<summary>
|
|
Start listener.
|
|
</summary>
|
|
<param name="backLog">Number of pending accepts.</param>
|
|
<remarks>
|
|
Make sure that you are subscribing on <see cref="E:HttpServer.IHttpListener.RequestReceived"/> first.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
|
|
<exception cref="T:System.Net.Sockets.SocketException">Failed to start socket.</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">Invalid port number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpListener.Stop">
|
|
<summary>
|
|
Stop listener.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.Address">
|
|
<summary>
|
|
Gets listener address.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.IsSecure">
|
|
<summary>
|
|
Gets if listener is secure.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.IsStarted">
|
|
<summary>
|
|
Gets if listener have been started.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.Logger">
|
|
<summary>
|
|
Gets or sets logger.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.Port">
|
|
<summary>
|
|
Gets listening port.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpListener.ContentLengthLimit">
|
|
<summary>
|
|
Gets the maximum content size.
|
|
</summary>
|
|
<value>The content length limit.</value>
|
|
<remarks>
|
|
Used when responding to 100-continue.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpListener.RequestReceived">
|
|
<summary>
|
|
A new request have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpListener.SocketAccepted">
|
|
<summary>
|
|
Can be used to reject certain clients.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpListener.ErrorPageRequested">
|
|
<summary>
|
|
A HTTP exception have been thrown.
|
|
</summary>
|
|
<remarks>
|
|
Fill the body with a user friendly error page, or redirect to somewhere else.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
|
|
</summary>
|
|
<param name="address">The address.</param>
|
|
<param name="port">The port.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.HttpFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
|
|
</summary>
|
|
<param name="address">The address.</param>
|
|
<param name="port">The port.</param>
|
|
<param name="httpFactory">The HTTP factory.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)">
|
|
<summary>
|
|
Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
|
|
</summary>
|
|
<param name="address">Address that the listener should accept connections on.</param>
|
|
<param name="port">Port that listener should accept connections on.</param>
|
|
<returns>Created HTTP listener.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,HttpServer.HttpFactory)">
|
|
<summary>
|
|
Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
|
|
</summary>
|
|
<param name="address">Address that the listener should accept connections on.</param>
|
|
<param name="port">Port that listener should accept connections on.</param>
|
|
<param name="factory">Factory used to create different types in the framework.</param>
|
|
<returns>Created HTTP listener.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
|
|
<summary>
|
|
Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
|
|
</summary>
|
|
<param name="address">Address that the listener should accept connections on.</param>
|
|
<param name="port">Port that listener should accept connections on.</param>
|
|
<param name="certificate">Certificate to use</param>
|
|
<returns>Created HTTP listener.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.CreateContext(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create a new context
|
|
</summary>
|
|
<param name="socket">Accepted socket</param>
|
|
<returns>A new context.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.OnRequest(System.Object,HttpServer.RequestEventArgs)">
|
|
<exception cref="T:System.Exception">Throwing exception if in debug mode and not exception handler have been specified.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.Start(System.Int32)">
|
|
<summary>
|
|
Start listener.
|
|
</summary>
|
|
<param name="backLog">Number of pending accepts.</param>
|
|
<remarks>
|
|
Make sure that you are subscribing on <see cref="E:HttpServer.HttpListener.RequestReceived"/> first.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
|
|
<exception cref="T:System.Net.Sockets.SocketException">Failed to start socket.</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">Invalid port number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.Stop">
|
|
<summary>
|
|
Stop listener.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.Factory">
|
|
<summary>
|
|
Gets HTTP factory used to create types used by this HTTP library.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.ContentLengthLimit">
|
|
<summary>
|
|
Gets or sets the maximum number of bytes that the request body can contain.
|
|
</summary>
|
|
<value>The content length limit.</value>
|
|
<remarks>
|
|
<para>
|
|
Used when responding to 100-continue.
|
|
</para>
|
|
<para>
|
|
0 = turned off.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.Address">
|
|
<summary>
|
|
Gets listener address.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.IsSecure">
|
|
<summary>
|
|
Gets if listener is secure.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.IsStarted">
|
|
<summary>
|
|
Gets if listener have been started.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.Logger">
|
|
<summary>
|
|
Gets or sets logger.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListener.Port">
|
|
<summary>
|
|
Gets listening port.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListener.RequestReceived">
|
|
<summary>
|
|
A new request have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListener.SocketAccepted">
|
|
<summary>
|
|
Can be used to reject certain clients.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListener.ErrorPageRequested">
|
|
<summary>
|
|
A HTTP exception have been thrown.
|
|
</summary>
|
|
<remarks>
|
|
Fill the body with a user friendly error page, or redirect to somewhere else.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListener.ContinueResponseRequested">
|
|
<summary>
|
|
Client asks if he may continue.
|
|
</summary>
|
|
<remarks>
|
|
If the body is too large or anything like that you should respond <see cref="F:System.Net.HttpStatusCode.ExpectationFailed"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.CookieHeader">
|
|
<summary>
|
|
Contents of a cookie header.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.IHeader">
|
|
<summary>
|
|
Header in a message
|
|
</summary>
|
|
<remarks>
|
|
Important! Each header should override ToString()
|
|
and return it's data correctly formatted as a HTTP header value.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.IHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.IHeader.HeaderValue">
|
|
<summary>
|
|
Gets value as it would be sent back to client.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.CookieHeader.#ctor(HttpServer.Messages.RequestCookieCollection)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.CookieHeader"/> class.
|
|
</summary>
|
|
<param name="collection">The collection.</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>collection</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.CookieHeader.Cookies">
|
|
<summary>
|
|
Gets cookie collection
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.CookieHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.CookieHeader.HeaderValue">
|
|
<summary>
|
|
Gets value as it would be sent back to client.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="T:HttpServer.BadRequestException">
|
|
<summary>
|
|
Request couldn't be parsed successfully.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpException">
|
|
<summary>
|
|
Exception thrown from HTTP server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpException"/> class.
|
|
</summary>
|
|
<param name="code">HTTP status code.</param>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpException"/> class.
|
|
</summary>
|
|
<param name="code">HTTP status code.</param>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Inner exception.</param>
|
|
</member>
|
|
<member name="P:HttpServer.HttpException.Code">
|
|
<summary>
|
|
Gets HTTP status code.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.BadRequestException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.BadRequestException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.BadRequestException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.BadRequestException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Exception description.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.ParserException">
|
|
<summary>
|
|
Something failed during parsing.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.ParserException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.ParserException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.ParserException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.ParserException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Inner exception.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.IHeaderParser">
|
|
<summary>
|
|
Used to parse header values
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.IHeaderParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.BodyDecoderCollection">
|
|
<summary>
|
|
Collection of body decoders.
|
|
</summary>
|
|
<remarks>
|
|
Body decoders are used to parse request body and convert it
|
|
into a <see cref="T:HttpServer.HttpFileCollection"/> and a <see cref="T:HttpServer.ParameterCollection"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.BodyDecoderCollection.Add(HttpServer.BodyDecoders.IBodyDecoder)">
|
|
<summary>
|
|
Add another body decoder.
|
|
</summary>
|
|
<param name="decoder"></param>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.BodyDecoderCollection.Decode(System.IO.Stream,HttpServer.Headers.ContentTypeHeader,System.Text.Encoding)">
|
|
<summary>
|
|
Decode body stream
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type header</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
<returns>Decoded data.</returns>
|
|
<exception cref="T:System.FormatException">Body format is invalid for the specified content type.</exception>
|
|
<exception cref="T:HttpServer.InternalServerException">Something unexpected failed.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.BodyDecoderCollection.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.BodyDecoderCollection.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.BodyDecoderCollection.Count">
|
|
<summary>
|
|
Gets number of decoders.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Transports.ReusableSocketNetworkStream">
|
|
<summary>
|
|
Custom network stream to mark sockets as reusable when disposing the stream.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />.
|
|
</summary>
|
|
<param name="socket">
|
|
The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is <c>null</c>.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
The <paramref name="socket" /> parameter is not connected.
|
|
-or-
|
|
The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
|
|
-or-
|
|
The <paramref name="socket" /> parameter is in a nonblocking state.
|
|
</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
|
|
</summary>
|
|
<param name="socket">
|
|
The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
|
|
</param>
|
|
<param name="ownsSocket">
|
|
Set to <c>true</c> to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, <c>false</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is <c>null</c>.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
The <paramref name="socket" /> parameter is not connected.
|
|
-or-
|
|
the value of the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
|
|
-or-
|
|
the <paramref name="socket" /> parameter is in a nonblocking state.
|
|
</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)">
|
|
<summary>
|
|
Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights.
|
|
</summary>
|
|
<param name="socket">
|
|
The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
|
|
</param>
|
|
<param name="access">
|
|
A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specify the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is <c>null</c>.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
The <paramref name="socket" /> parameter is not connected.
|
|
-or-
|
|
the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
|
|
-or-
|
|
the <paramref name="socket" /> parameter is in a nonblocking state.
|
|
</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)">
|
|
<summary>
|
|
Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights and the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
|
|
</summary>
|
|
<param name="socket">
|
|
The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
|
|
</param>
|
|
<param name="access">
|
|
A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specifies the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
|
|
</param>
|
|
<param name="ownsSocket">
|
|
Set to <c>true</c> to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, <c>false</c>.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is <c>null</c>.
|
|
</exception>
|
|
<exception cref="T:System.IO.IOException">
|
|
The <paramref name="socket" /> parameter is not connected.
|
|
-or-
|
|
The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
|
|
-or-
|
|
The <paramref name="socket" /> parameter is in a nonblocking state.
|
|
</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.Close">
|
|
<summary>
|
|
Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ReusableSocketNetworkStream.Dispose(System.Boolean)">
|
|
<summary>
|
|
Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources.
|
|
</summary>
|
|
<param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.UrlParser">
|
|
<summary>
|
|
Parses query string
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.UrlParser.Parse(HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a query string
|
|
</summary>
|
|
<param name="reader">string to parse</param>
|
|
<returns>A collection</returns>
|
|
<exception cref="T:System.ArgumentNullException"><c>reader</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.UrlParser.Parse(System.String)">
|
|
<summary>
|
|
Parse a query string
|
|
</summary>
|
|
<param name="queryString">string to parse</param>
|
|
<returns>A collection</returns>
|
|
<exception cref="T:System.ArgumentNullException"><c>queryString</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.SimpleServer">
|
|
<summary>
|
|
Convention over configuration server.
|
|
</summary>
|
|
<remarks>
|
|
Used to make it easy to create and use a web server.
|
|
<para>
|
|
All resources must exist in the "YourProject.Content" namespace (or a subdirectory called "Content" relative to yourapp.exe).
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Server">
|
|
<summary>
|
|
Http server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Server.#ctor(HttpServer.HttpFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Server"/> class.
|
|
</summary>
|
|
<param name="factory">Factory used to create objects used in this library.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Server.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Server"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Add(HttpServer.BodyDecoders.IBodyDecoder)">
|
|
<summary>
|
|
Add a decoder.
|
|
</summary>
|
|
<param name="decoder">decoder to add</param>
|
|
<remarks>
|
|
Adding zero decoders will make the server add the
|
|
default ones which is <see cref="T:HttpServer.BodyDecoders.MultiPartDecoder"/> and <see cref="T:HttpServer.BodyDecoders.UrlDecoder"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Add(HttpServer.Routing.IRouter)">
|
|
<summary>
|
|
Add a new router.
|
|
</summary>
|
|
<param name="router">Router to add</param>
|
|
<exception cref="T:System.InvalidOperationException">Server have been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Add(HttpServer.Modules.IModule)">
|
|
<summary>
|
|
Add a file module
|
|
</summary>
|
|
<param name="module">Module to add</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>module</c> is <c>null</c>.</exception>
|
|
<exception cref="T:System.InvalidOperationException">Cannot add modules when server have been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Add(HttpServer.IHttpListener)">
|
|
<summary>
|
|
Add a HTTP listener.
|
|
</summary>
|
|
<param name="listener"></param>
|
|
<exception cref="T:System.InvalidOperationException">Listener have been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Server.DisplayErrorPage(HttpServer.IHttpContext,System.Exception)">
|
|
<summary>
|
|
An error have occurred and we need to send a result pack to the client
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
<param name="exception">The exception.</param>
|
|
<remarks>
|
|
Invoke base class (<see cref="T:HttpServer.Server"/>) to send the contents
|
|
of <see cref="P:HttpServer.IHttpContext.Response"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Server.OnAuthentication(HttpServer.RequestContext)">
|
|
<summary>
|
|
Called before anything else.
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
<remarks>
|
|
Looks after a <see cref="T:HttpServer.Headers.AuthorizationHeader"/> in the request and will
|
|
use the <see cref="P:HttpServer.Server.AuthenticationProvider"/> if found.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Server.OnBeforeModules(HttpServer.RequestContext)">
|
|
<summary>
|
|
All server modules are about to be invoked.
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
<remarks>
|
|
Called when routers have been invoked but no modules yet.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Server.OnBeforeRequest(HttpServer.RequestContext)">
|
|
<summary>
|
|
A request have arrived but not yet been processed yet.
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
<remarks>
|
|
Default implementation adds a <c>Date</c> header and <c>Server</c> header.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Server.ProcessModules(HttpServer.RequestContext)">
|
|
<summary>
|
|
Go through all modules and check if any of them can handle the current request.
|
|
</summary>
|
|
<param name="context"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Server.ProcessResult(HttpServer.ProcessingResult,HttpServer.RequestEventArgs)">
|
|
<summary>
|
|
Process result (check if it should be sent back or not)
|
|
</summary>
|
|
<param name="result"></param>
|
|
<param name="e"></param>
|
|
<returns><c>true</c> if request was processed properly.; otherwise <c>false</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Server.ProcessRouters(HttpServer.RequestContext)">
|
|
<summary>
|
|
Processes all routers.
|
|
</summary>
|
|
<param name="context">Request context.</param>
|
|
<returns>Processing result.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Server.RequestAuthentication(System.String)">
|
|
<summary>
|
|
Requests authentication from the user.
|
|
</summary>
|
|
<param name="realm">Host/domain name that the server hosts.</param>
|
|
<remarks>
|
|
Used when calculating hashes in Digest authentication.
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.Authentication.DigestAuthentication"/>
|
|
<seealso cref="M:HttpServer.Authentication.DigestAuthentication.GetHA1(System.String,System.String,System.String)"/>
|
|
</member>
|
|
<member name="M:HttpServer.Server.SendResponse(HttpServer.IHttpContext,HttpServer.IRequest,HttpServer.IResponse)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<param name="context"></param>
|
|
<param name="request"></param>
|
|
<param name="response"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Start(System.Int32)">
|
|
<summary>
|
|
Start http server.
|
|
</summary>
|
|
<param name="backLog">Number of pending connections.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Server.Stop(System.Boolean)">
|
|
<summary>
|
|
Stops the server
|
|
</summary>
|
|
<param name="removeModules">true if all modules should be removed.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Server.AuthenticationProvider">
|
|
<summary>
|
|
Gets the authentication provider.
|
|
</summary>
|
|
<remarks>
|
|
A authentication provider is used to keep track of all authentication types
|
|
that can be used.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Server.ContentLengthLimit">
|
|
<summary>
|
|
Gets or sets number of bytes that a body can be.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Used to determine the answer to a 100-continue request.
|
|
</para>
|
|
<para>
|
|
0 = turned off.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Server.Current">
|
|
<summary>
|
|
Gets current server.
|
|
</summary>
|
|
<remarks>
|
|
Only valid when a request have been received and is being processed.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Server.MaxContentSize">
|
|
<summary>
|
|
Gets or sets the maximum size of request body (in bytes)
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Server.ServerName">
|
|
<summary>
|
|
Gets or sets server name.
|
|
</summary>
|
|
<remarks>
|
|
Used in the "Server" header when serving requests.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.Server.SendingResponse">
|
|
<summary>
|
|
Invoked just before a response is sent back to the client.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Server.RequestReceived">
|
|
<summary>
|
|
Invoked *after* the web server has tried to handled the request.
|
|
</summary>
|
|
<remarks>
|
|
The event can be used to handle the request after all routes and modules
|
|
have tried to process the request.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.Server.PrepareRequest">
|
|
<summary>
|
|
Invoked *before* the web server has tried to handled the request.
|
|
</summary>
|
|
<remarks>
|
|
Event can be used to load a session from a cookie or to force
|
|
authentication or anything other you might need t do before a request
|
|
is handled.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.Server.ErrorPageRequested">
|
|
<summary>
|
|
An error page have been requested.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.SimpleServer.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.SimpleServer"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.HeaderFactory">
|
|
<summary>
|
|
Used to build headers.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderFactory.Add(System.String,HttpServer.Headers.Parsers.IHeaderParser)">
|
|
<summary>
|
|
Add a parser
|
|
</summary>
|
|
<param name="name">Header that the parser is for.</param>
|
|
<param name="parser">Parser implementation</param>
|
|
<remarks>
|
|
Will replace any existing parser for the specified header.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderFactory.AddDefaultParsers">
|
|
<summary>
|
|
Add all default (built-in) parsers.
|
|
</summary>
|
|
<remarks>
|
|
Will not replace previously added parsers.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderFactory.CreateParser(System.Type)">
|
|
<summary>
|
|
Create a header parser
|
|
</summary>
|
|
<param name="type"><see cref="T:HttpServer.Headers.Parsers.IHeaderParser"/> implementation.</param>
|
|
<remarks>
|
|
<para>
|
|
Uses <see cref="T:HttpServer.Headers.Parsers.ParserForAttribute"/> attribute to find which headers
|
|
the parser is for.
|
|
</para>
|
|
<para>Will not replace previously added parsers.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderFactory.Parse(System.String,System.String)">
|
|
<summary>
|
|
Parse a header.
|
|
</summary>
|
|
<param name="name">Name of header</param>
|
|
<param name="value">Header value</param>
|
|
<returns>Header.</returns>
|
|
<exception cref="T:System.FormatException">Value is not a well formatted header value.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.IRequest">
|
|
<summary>
|
|
Request sent to a HTTP server.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Messages.Request"/>
|
|
</member>
|
|
<member name="T:HttpServer.IMessage">
|
|
<summary>
|
|
Base interface for request and response.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IMessage.Add(System.String,HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<param name="value"></param>
|
|
</member>
|
|
<member name="M:HttpServer.IMessage.Add(HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="header">Header to add.</param>
|
|
</member>
|
|
<member name="P:HttpServer.IMessage.Body">
|
|
<summary>
|
|
Gets body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IMessage.ContentLength">
|
|
<summary>
|
|
Size of the body. MUST be specified before sending the header,
|
|
unless property Chunked is set to <c>true</c>.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IMessage.ContentType">
|
|
<summary>
|
|
Kind of content in the body
|
|
</summary>
|
|
<remarks>Default is <c>text/html</c></remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IMessage.Encoding">
|
|
<summary>
|
|
Gets or sets encoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IMessage.Headers">
|
|
<summary>
|
|
Gets headers.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IRequest.Get``1(System.String)">
|
|
<summary>
|
|
Get a header
|
|
</summary>
|
|
<typeparam name="T">Type that it should be cast to</typeparam>
|
|
<param name="headerName">Name of header</param>
|
|
<returns>Header if found and casted properly; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Connection">
|
|
<summary>
|
|
Gets or sets connection header.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Cookies">
|
|
<summary>
|
|
Gets cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Files">
|
|
<summary>
|
|
Gets all uploaded files.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Form">
|
|
<summary>
|
|
Gets form parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.HttpVersion">
|
|
<summary>
|
|
Gets or sets HTTP version.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.IsAjax">
|
|
<summary>
|
|
Gets if request is an Ajax request.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Method">
|
|
<summary>
|
|
Gets or sets HTTP method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Parameters">
|
|
<summary>
|
|
Gets query string and form parameters
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.QueryString">
|
|
<summary>
|
|
Gets query string.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IRequest.Uri">
|
|
<summary>
|
|
Gets requested URI.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.FileResources">
|
|
<summary>
|
|
Load resources from disk.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.IResourceLoader">
|
|
<summary>
|
|
Loads resources from a specific location (such as assembly, hard drive etc).
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceLoader.Exists(System.String)">
|
|
<summary>
|
|
Checks if a resource exists in the specified directory
|
|
</summary>
|
|
<param name="uriPath">Uri path to resource</param>
|
|
<returns><c>true</c> if resource was found; otherwise <c>false</c>.</returns>
|
|
<example>
|
|
<code>
|
|
if (resources.Exists("/files/user/user.png"))
|
|
Debug.WriteLine("Resource exists.");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceLoader.Find(System.String,System.Collections.Generic.List{System.String})">
|
|
<summary>
|
|
Find all views in a folder/path.
|
|
</summary>
|
|
<param name="path">Absolute Uri path to files that should be found, can end with wild card.</param>
|
|
<param name="viewNames">Collection to add all view names to.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceLoader.Get(System.String)">
|
|
<summary>
|
|
Gets a resource.
|
|
</summary>
|
|
<param name="uriPath">Uri path to resource.</param>
|
|
<returns>Resource</returns>
|
|
<exception cref="T:HttpServer.ForbiddenException">Uri contains forbidden characters.</exception>
|
|
<example>
|
|
<code>
|
|
Resource resource = resources.Get("/files/user/user.png");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="F:HttpServer.Resources.FileResources.DefaultForbiddenChars">
|
|
<summary>
|
|
Default forbidden characters.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Resources.FileResources._paths">
|
|
<summary>
|
|
relative to absolute path mappings.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Resources.FileResources"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Resources.FileResources"/> class.
|
|
</summary>
|
|
<param name="uri">Request URI path</param>
|
|
<param name="absolutePath">Disk path</param>
|
|
<remarks>
|
|
File names should not be included in URI or path.
|
|
</remarks>
|
|
<example>
|
|
<code>
|
|
new FileResources("/files/user/", "C:\\intetpub\\files\users\\");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a new resource mapping.
|
|
</summary>
|
|
<param name="uri">Request URI path</param>
|
|
<param name="absolutePath">Disk path</param>
|
|
<remarks>
|
|
File names should not be included in URI or path.
|
|
</remarks>
|
|
<example>
|
|
<code>
|
|
resources.Add("/files/", "C:\\intetpub\\files\\");
|
|
</code>
|
|
</example>
|
|
<exception cref="T:System.IO.DirectoryNotFoundException"><c>absolutePath</c> is not found.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
|
|
<summary>
|
|
check if source contains any of the chars.
|
|
</summary>
|
|
<param name="source">string to check</param>
|
|
<param name="chars">Characters to fined</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.GetFullFilePath(System.String)">
|
|
<summary>
|
|
Go through all mappings and find requested Uri.
|
|
</summary>
|
|
<param name="uriPath">Uri to get local path for.</param>
|
|
<returns>Path if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.Exists(System.String)">
|
|
<summary>
|
|
Checks if a resource exists in the specified directory
|
|
</summary>
|
|
<param name="uriPath">Uri path to resource</param>
|
|
<returns><c>true</c> if resource was found; otherwise <c>false</c>.</returns>
|
|
<example>
|
|
<code>
|
|
if (resources.Exists("/files/user/user.png"))
|
|
Debug.WriteLine("Resource exists.");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.Get(System.String)">
|
|
<summary>
|
|
Gets a resource.
|
|
</summary>
|
|
<param name="uriPath">Uri path to resource.</param>
|
|
<returns>Resource</returns>
|
|
<exception cref="T:HttpServer.ForbiddenException">Uri contains forbidden characters.</exception>
|
|
<example>
|
|
<code>
|
|
Resource resource = resources.Get("/files/user/user.png");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.FileResources.Find(System.String,System.Collections.Generic.List{System.String})">
|
|
<summary>
|
|
Find all views in a folder/path.
|
|
</summary>
|
|
<param name="path">Absolute Uri path to files that should be found, can end with wild card.</param>
|
|
<param name="viewNames">Collection to add all view names to.</param>
|
|
<exception cref="T:HttpServer.ForbiddenException">Uri contains forbidden characters.</exception>
|
|
<example>
|
|
Find("
|
|
</example>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.FileResources.ForbiddenCharacters">
|
|
<summary>
|
|
Gets or sets forbidden characters.
|
|
</summary>
|
|
<remarks>
|
|
Used to revoke access to any system files.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.FileResources.Mapping.AbsolutePath">
|
|
<summary>
|
|
Gets or sets absolute path on disk, including file name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.FileResources.Mapping.RelativePath">
|
|
<summary>
|
|
Gets or sets relative file path.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.FileResources.Mapping.UriPath">
|
|
<summary>
|
|
Gets or sets Uri path, excluding file name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.ResponseWriter">
|
|
<summary>
|
|
Used to send a response back to the client.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Writes a <see cref="T:HttpServer.IResponse"/> object into a stream.
|
|
</para>
|
|
<para>
|
|
Important! ResponseWriter do not throw any exceptions. Instead it just logs them and
|
|
let them die peacefully. This is since the response writer is used from
|
|
catch blocks here and there.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseWriter.Send(HttpServer.IHttpContext,HttpServer.IResponse)">
|
|
<summary>
|
|
Sends response using the specified context.
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
<param name="response">The response.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseWriter.Send(HttpServer.IHttpContext,System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Converts and sends a string.
|
|
</summary>
|
|
<param name="context"></param>
|
|
<param name="data"></param>
|
|
<param name="encoding">Encoding used to transfer string</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseWriter.SendBody(HttpServer.IHttpContext,System.IO.Stream)">
|
|
<summary>
|
|
Send a body to the client
|
|
</summary>
|
|
<param name="context">Context containing the stream to use.</param>
|
|
<param name="body">Body to send</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseWriter.SendHeaders(HttpServer.IHttpContext,HttpServer.IResponse)">
|
|
<summary>
|
|
Send all headers to the client
|
|
</summary>
|
|
<param name="response">Response containing call headers.</param>
|
|
<param name="context">Content used to send headers.</param>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.IBodyDecoder">
|
|
<summary>
|
|
Decodes body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.IBodyDecoder.Decode(System.IO.Stream,HttpServer.Headers.ContentTypeHeader,System.Text.Encoding)">
|
|
<summary>
|
|
Decode body stream
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type header</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
<returns>Decoded data.</returns>
|
|
<exception cref="T:System.FormatException">Body format is invalid for the specified content type.</exception>
|
|
<exception cref="T:HttpServer.InternalServerException">Something unexpected failed.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.IBodyDecoder.ContentTypes">
|
|
<summary>
|
|
All content types that the decoder can parse.
|
|
</summary>
|
|
<returns>A collection of all content types that the decoder can handle.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.MultiPartDecoder">
|
|
<summary>
|
|
Decodes forms that have multiple sections.
|
|
</summary>
|
|
<remarks>
|
|
http://www.faqs.org/rfcs/rfc1867.html
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.BodyDecoders.MultiPartDecoder.FormData">
|
|
<summary>
|
|
form-data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.BodyDecoders.MultiPartDecoder.MimeType">
|
|
<summary>
|
|
multipart/form-data
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.MultiPartDecoder.Decode(System.IO.Stream,HttpServer.Headers.ContentTypeHeader,System.Text.Encoding)">
|
|
<summary>
|
|
Decode body stream
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type header</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
<returns>Decoded data.</returns>
|
|
<exception cref="T:System.FormatException">Body format is invalid for the specified content type.</exception>
|
|
<exception cref="T:HttpServer.InternalServerException">Something unexpected failed.</exception>
|
|
<exception cref="T:System.ArgumentNullException"><c>stream</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.MultiPartDecoder.ContentTypes">
|
|
<summary>
|
|
All content types that the decoder can parse.
|
|
</summary>
|
|
<returns>A collection of all content types that the decoder can handle.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.SessionProvider`1">
|
|
<summary>
|
|
Provides sessions.
|
|
</summary>
|
|
<typeparam name="T">Type of session object</typeparam>
|
|
<remarks>
|
|
<para>Will always use files for sessions (utilizing the binary formatter), but can
|
|
also cache them in memory.</para>
|
|
<para>
|
|
If caching is enabled, it will only write sessions to disk every 20 seconds if they have
|
|
been accessed the last minute (to not keep writing dead sessions to disk).
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.SessionProvider`1"/> class.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">Session type must use [Serializable] attribute.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.Create">
|
|
<summary>
|
|
Create a new session.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.Load(System.String)">
|
|
<summary>
|
|
Load session
|
|
</summary>
|
|
<param name="sessionId">Id of session.</param>
|
|
<returns>Session if found; otherwise <c>null</c>.</returns>
|
|
<exception cref="T:System.ArgumentNullException"><c>sessionId</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.OnLoadSession(System.Object,HttpServer.RequestEventArgs)">
|
|
<summary>
|
|
Load session when a new request comes in.
|
|
</summary>
|
|
<param name="sender"></param>
|
|
<param name="e"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.Save(`0)">
|
|
<summary>
|
|
Save a session to disk.
|
|
</summary>
|
|
<param name="session">Session to write to disk.</param>
|
|
<remarks>
|
|
You are responsible for writing sessions to disk if you are not using caching.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.Start(HttpServer.Server)">
|
|
<summary>
|
|
Start the session system and hook
|
|
</summary>
|
|
<param name="webServer"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.SessionProvider`1.Stop">
|
|
<summary>
|
|
Stop session handling
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.SessionProvider`1.CookieName">
|
|
<summary>
|
|
Gets or sets session cookie name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.SessionProvider`1.Cache">
|
|
<summary>
|
|
Gets or sets cache
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.SessionProvider`1.Current">
|
|
<summary>
|
|
Gets current session.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.SessionProvider`1.SessionExpireSeconds">
|
|
<summary>
|
|
Gets or sets number of seconds before a session expired.
|
|
</summary>
|
|
<remarks>
|
|
A session have expired if nothing have accessed it for X seconds. This
|
|
class modifies the write time each time it's accessed.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.SessionProvider`1.SetCookie">
|
|
<summary>
|
|
Determines if cookie should be set in the response.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.SessionChangedHandler">
|
|
<summary>
|
|
Invoked when a session have been changed and should be written to disc.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.ResponseLineEventArgs">
|
|
<summary>
|
|
First line in a response have been received
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.ResponseLineEventArgs.ReasonPhrase">
|
|
<summary>
|
|
Gets or sets motivation to why the status code was used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.ResponseLineEventArgs.StatusCode">
|
|
<summary>
|
|
Gets or sets message status code
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.ResponseLineEventArgs.Version">
|
|
<summary>
|
|
Gets or sets sip protocol version used.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.FactoryRequestEventArgs">
|
|
<summary>
|
|
A request have been parsed successfully by the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.FactoryRequestEventArgs.#ctor(HttpServer.IRequest)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.FactoryRequestEventArgs"/> class.
|
|
</summary>
|
|
<param name="request">Received request.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.FactoryRequestEventArgs.Request">
|
|
<summary>
|
|
Gets received request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.IUserProvider">
|
|
<summary>
|
|
Provider returning user to be authenticated.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.IUserProvider.Lookup(System.String,System.String)">
|
|
<summary>
|
|
Lookups the specified user
|
|
</summary>
|
|
<param name="userName">User name.</param>
|
|
<param name="host">Typically web server domain name.</param>
|
|
<returns>User if found; otherwise <c>null</c>.</returns>
|
|
<remarks>
|
|
User name can basically be anything. For instance name entered by user when using
|
|
basic or digest authentication, or SID when using Windows authentication.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.IUserProvider.GetPrincipal(HttpServer.Authentication.IAuthenticationUser)">
|
|
<summary>
|
|
Gets the principal to use.
|
|
</summary>
|
|
<param name="user">Successfully authenticated user.</param>
|
|
<returns></returns>
|
|
<remarks>
|
|
Invoked when a user have successfully been authenticated.
|
|
</remarks>
|
|
<seealso cref="T:System.Security.Principal.GenericPrincipal"/>
|
|
<seealso cref="T:System.Security.Principal.WindowsPrincipal"/>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.IAuthenticationUser">
|
|
<summary>
|
|
User information used during authentication process.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.IAuthenticationUser.Username">
|
|
<summary>
|
|
Gets or sets user name used during authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.IAuthenticationUser.Password">
|
|
<summary>
|
|
Gets or sets unencrypted password.
|
|
</summary>
|
|
<remarks>
|
|
Password as clear text. You could use <see cref="P:HttpServer.Authentication.IAuthenticationUser.HA1"/> instead if your passwords
|
|
are encrypted in the database.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.IAuthenticationUser.HA1">
|
|
<summary>
|
|
Gets or sets HA1 hash.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
Digest authentication requires clear text passwords to work. If you
|
|
do not have that, you can store a HA1 hash in your database (which is part of
|
|
the Digest authentication process).
|
|
</para>
|
|
<para>
|
|
A HA1 hash is simply a Md5 encoded string: "UserName:Realm:Password". The quotes should
|
|
not be included. Realm is the currently requested Host (as in <c>Request.Headers["host"]</c>).
|
|
</para>
|
|
<para>
|
|
Leave the string as <c>null</c> if you are not using HA1 hashes.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.Properties.PropertyProvider">
|
|
<summary>
|
|
Used to get or set properties on objects.
|
|
</summary>
|
|
<remarks>
|
|
This class should be a bit faster than the standard reflection.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.PropertyProvider.Get(System.Type)">
|
|
<summary>
|
|
Get cached type.
|
|
</summary>
|
|
<param name="type">Type to get/set properties in</param>
|
|
<returns>Type to use</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.SessionProvider`1">
|
|
<summary>
|
|
Used to load/store sessions in the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionProvider`1.#ctor(HttpServer.Server,HttpServer.Sessions.ISessionStore)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Sessions.SessionProvider`1"/> class.
|
|
</summary>
|
|
<param name="server">Web server that the provider is for..</param>
|
|
<param name="store">Store to use.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionProvider`1.#ctor(HttpServer.Server)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Sessions.SessionProvider`1"/> class.
|
|
</summary>
|
|
<param name="server">The server.</param>
|
|
<remarks>
|
|
Uses a file store.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.SessionProvider`1.OnRequest(System.Object,HttpServer.RequestEventArgs)">
|
|
<summary>
|
|
Loads a session for all requests that got the session cookie.
|
|
</summary>
|
|
<param name="sender">The sender.</param>
|
|
<param name="e">The <see cref="T:HttpServer.RequestEventArgs"/> instance containing the event data.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.SessionProvider`1.CurrentSession">
|
|
<summary>
|
|
Gets current session
|
|
</summary>
|
|
<value>Session if set, otherwise <c>null</c>.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.SessionProvider`1.SessionLifeTime">
|
|
<summary>
|
|
Gets or sets the session life time in minutes.
|
|
</summary>
|
|
<value>The session life time.</value>
|
|
</member>
|
|
<member name="E:HttpServer.Sessions.SessionProvider`1.SessionLoaded">
|
|
<summary>
|
|
A session have been loaded. Use <see cref="P:HttpServer.Sessions.SessionProvider`1.CurrentSession"/> to access it.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.SecureHttpListener">
|
|
<summary>
|
|
Secure version of the HTTP listener.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.SecureHttpListener.#ctor(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.SecureHttpListener"/> class.
|
|
</summary>
|
|
<param name="address">Address to accept new connections on.</param>
|
|
<param name="port">Port to accept connections on.</param>
|
|
<param name="certificate">Certificate securing the connection.</param>
|
|
</member>
|
|
<member name="M:HttpServer.SecureHttpListener.CreateContext(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create a new context
|
|
</summary>
|
|
<param name="socket">Accepted socket</param>
|
|
<returns>A new context.</returns>
|
|
<remarks>
|
|
Factory is assigned by the <see cref="T:HttpServer.HttpListener"/> on each incoming request.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpListener.IsSecure">
|
|
<summary>
|
|
Gets if listener is secure.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpListener.Protocol">
|
|
<summary>
|
|
Gets or sets SSL protocol.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpListener.UseClientCertificate">
|
|
<summary>
|
|
Gets or sets if client certificate should be used.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.BodyEventArgs">
|
|
<summary>
|
|
Arguments used when more body bytes have come.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.BodyEventArgs"/> class.
|
|
</summary>
|
|
<param name="buffer">buffer that contains the received bytes.</param>
|
|
<param name="offset">offset in buffer where to start processing.</param>
|
|
<param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>buffer</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.BodyEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.BodyEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.BodyEventArgs.Buffer">
|
|
<summary>
|
|
Gets or sets buffer that contains the received bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.BodyEventArgs.Count">
|
|
<summary>
|
|
Gets or sets number of bytes from <see cref="P:HttpServer.Messages.Parser.BodyEventArgs.Offset"/> that should be parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.BodyEventArgs.Offset">
|
|
<summary>
|
|
Gets or sets offset in buffer where to start processing.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Modules.IModule">
|
|
<summary>
|
|
HTTP Module
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Modules.IModule.Process(HttpServer.RequestContext)">
|
|
<summary>
|
|
Process a request.
|
|
</summary>
|
|
<param name="context">Request information</param>
|
|
<returns>What to do next.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.InternalServerException">
|
|
<summary>
|
|
Something unexpected went wrong.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.InternalServerException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.InternalServerException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.InternalServerException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.InternalServerException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Inner exception.</param>
|
|
</member>
|
|
<member name="T:HttpServer.HttpFile">
|
|
<summary>
|
|
File sent from remote end.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.ContentType">
|
|
<summary>
|
|
Gets or sets content type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.Name">
|
|
<summary>
|
|
Gets or sets name in form.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.OriginalFileName">
|
|
<summary>
|
|
Gets or sets name original file name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.TempFileName">
|
|
<summary>
|
|
Gets or sets filename for locally stored file.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.CookieParser">
|
|
<summary>
|
|
Parses Cookie header.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.CookieParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.UrlDecoder">
|
|
<summary>
|
|
Decodes URL encoded values.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.BodyDecoders.UrlDecoder.Decode(System.IO.Stream,HttpServer.Headers.ContentTypeHeader,System.Text.Encoding)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type header</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
<returns>Collection with all parameters.</returns>
|
|
<exception cref="T:System.FormatException">Body format is invalid for the specified content type.</exception>
|
|
<exception cref="T:HttpServer.InternalServerException">Failed to read all bytes from body stream.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.BodyDecoders.UrlDecoder.ContentTypes">
|
|
<summary>
|
|
All content types that the decoder can parse.
|
|
</summary>
|
|
<returns>A collection of all content types that the decoder can handle.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.Session">
|
|
<summary>
|
|
Base class for sessions.
|
|
</summary>
|
|
<remarks>
|
|
Your class must be tagged with <see cref="T:System.Runtime.Serialization.ISerializable"/> attribute to be able to use sessions.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Session.TriggerChanged">
|
|
<summary>
|
|
The session have been changed and should be written to disk.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Tools.Session.Changed">
|
|
<summary>
|
|
Session have been changed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Session.AccessedAt">
|
|
<summary>
|
|
Gets or sets when session was accessed last
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Session.CurrentSession">
|
|
<summary>
|
|
Gets current session.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Session.SessionId">
|
|
<summary>
|
|
Gets or sets session id.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Session.WrittenAt">
|
|
<summary>
|
|
Gets or sets when the session was last written to disk.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.MessageFactory">
|
|
<summary>
|
|
Parses and builds messages
|
|
</summary>
|
|
<remarks>
|
|
<para>The message factory takes care of building messages
|
|
from all end points.</para>
|
|
<para>
|
|
Since both message and packet protocols are used, the factory
|
|
hands out contexts to all end points. The context keeps a state
|
|
to be able to parse partial messages properly.
|
|
</para>
|
|
<para>
|
|
Each end point need to hand the context back to the message factory
|
|
when the client disconnects (or a message have been parsed).
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactory.#ctor(HttpServer.Headers.HeaderFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.MessageFactory"/> class.
|
|
</summary>
|
|
<param name="factory">Factory used to create headers.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactory.CreateNewContext">
|
|
<summary>
|
|
Create a new message factory context.
|
|
</summary>
|
|
<returns>A new context.</returns>
|
|
<remarks>
|
|
A context is used to parse messages from a specific endpoint.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactory.Release(HttpServer.Messages.MessageFactoryContext)">
|
|
<summary>
|
|
Release a used factory context.
|
|
</summary>
|
|
<param name="factoryContext"></param>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.MessageFactory.RequestReceived">
|
|
<summary>
|
|
A request have been received from one of the end points.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.MessageFactory.ResponseReceived">
|
|
<summary>
|
|
A response have been received from one of the end points.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.ILogger">
|
|
<summary>
|
|
Interface used to write to log files.
|
|
</summary>
|
|
<remarks>
|
|
If you want to use the built in filtering mechanism, create a constructor
|
|
which takes one parameter, a <see cref="T:HttpServer.Logging.ILogFilter"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Debug(System.String)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Debug(System.String,System.Exception)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Error(System.String)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Error(System.String,System.Exception)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Fatal(System.String)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Fatal(System.String,System.Exception)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Info(System.String)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Info(System.String,System.Exception)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Trace(System.String)">
|
|
<summary>
|
|
Write a entry that helps when trying to find hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Trace(System.String,System.Exception)">
|
|
<summary>
|
|
Write a entry that helps when trying to find hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Warning(System.String)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogger.Warning(System.String,System.Exception)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.RequestCookie">
|
|
<summary>
|
|
cookie sent by the client/browser
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Messages.ResponseCookie"/>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookie.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Constructor.
|
|
</summary>
|
|
<param name="id">cookie identifier</param>
|
|
<param name="content">cookie content</param>
|
|
<exception cref="T:System.ArgumentNullException">id or content is null</exception>
|
|
<exception cref="T:System.ArgumentException">id is empty</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookie.ToString">
|
|
<summary>
|
|
Gets the cookie HTML representation.
|
|
</summary>
|
|
<returns>cookie string</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.RequestCookie.Name">
|
|
<summary>
|
|
Gets the cookie identifier.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.RequestCookie.Value">
|
|
<summary>
|
|
Gets value.
|
|
</summary>
|
|
<remarks>
|
|
Set to <c>null</c> to remove cookie.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.ErrorPageEventArgs">
|
|
<summary>
|
|
Arguments for <see cref="E:HttpServer.Server.ErrorPageRequested"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ErrorPageEventArgs.#ctor(HttpServer.IHttpContext)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ErrorPageEventArgs"/> class.
|
|
</summary>
|
|
<param name="context">The context.</param>
|
|
</member>
|
|
<member name="P:HttpServer.ErrorPageEventArgs.Exception">
|
|
<summary>
|
|
Gets or sets thrown exception
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ErrorPageEventArgs.IsHandled">
|
|
<summary>
|
|
Gets or sets if error page was provided.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ErrorPageEventArgs.Request">
|
|
<summary>
|
|
Gets requested resource.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ErrorPageEventArgs.Response">
|
|
<summary>
|
|
Gets response to send
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.DigestAuthentication">
|
|
<summary>
|
|
Implements HTTP Digest authentication. It's more secure than Basic auth since password is
|
|
encrypted with a "key" from the server.
|
|
</summary>
|
|
<remarks>
|
|
Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.IAuthenticator">
|
|
<summary>
|
|
Authenticates requests
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.IAuthenticator.Authenticate(HttpServer.Headers.AuthorizationHeader,System.String,System.String)">
|
|
<summary>
|
|
Authenticate request
|
|
</summary>
|
|
<param name="header">Authorization header send by web client</param>
|
|
<param name="realm">Realm to authenticate in, typically a domain name.</param>
|
|
<param name="httpVerb">HTTP Verb used in the request.</param>
|
|
<returns><c>User</c> if authentication was successful; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.IAuthenticator.CreateChallenge(System.String)">
|
|
<summary>
|
|
Create a authentication challenge.
|
|
</summary>
|
|
<param name="realm">Realm that the user should authenticate in</param>
|
|
<returns>A WWW-Authenticate header.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If realm is empty or <c>null</c>.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.IAuthenticator.Scheme">
|
|
<summary>
|
|
Gets authenticator scheme
|
|
</summary>
|
|
<example>
|
|
digest
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.IUserProvider)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
|
|
</summary>
|
|
<param name="userProvider">Supplies users during authentication process.</param>
|
|
</member>
|
|
<member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck">
|
|
<summary>
|
|
Used by test classes to be able to use hardcoded values
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(HttpServer.Headers.AuthorizationHeader,System.String,System.String)">
|
|
<summary>
|
|
An authentication response have been received from the web browser.
|
|
Check if it's correct
|
|
</summary>
|
|
<param name="header">Contents from the Authorization header</param>
|
|
<param name="realm">Realm that should be authenticated</param>
|
|
<param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
|
|
<returns>
|
|
Authentication object that is stored for the request. A user class or something like that.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
|
|
<exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
|
|
<summary>
|
|
Encrypts parameters into a Digest string
|
|
</summary>
|
|
<param name="realm">Realm that the user want to log into.</param>
|
|
<param name="userName">User logging in</param>
|
|
<param name="password">Users password.</param>
|
|
<param name="method">HTTP method.</param>
|
|
<param name="uri">Uri/domain that generated the login prompt.</param>
|
|
<param name="qop">Quality of Protection.</param>
|
|
<param name="nonce">"Number used ONCE"</param>
|
|
<param name="nc">Hexadecimal request counter.</param>
|
|
<param name="cnonce">"Client Number used ONCE"</param>
|
|
<returns>Digest encrypted string</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param>
|
|
<param name="ha2">Md5 hex encoded "method:uri", without the quotes</param>
|
|
<param name="qop">Quality of Protection</param>
|
|
<param name="nonce">"Number used ONCE"</param>
|
|
<param name="nc">Hexadecimal request counter.</param>
|
|
<param name="cnonce">Client number used once</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.CreateChallenge(System.String)">
|
|
<summary>
|
|
Create a authentication challenge.
|
|
</summary>
|
|
<param name="realm">Realm that the user should authenticate in</param>
|
|
<returns>A correct auth request.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce">
|
|
<summary>
|
|
Gets the current nonce.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)">
|
|
<summary>
|
|
Gets the Md5 hash bin hex2.
|
|
</summary>
|
|
<param name="toBeHashed">To be hashed.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)">
|
|
<summary>
|
|
determines if the nonce is valid or has expired.
|
|
</summary>
|
|
<param name="nonce">nonce value (check wikipedia for info)</param>
|
|
<returns><c>true</c> if the nonce has not expired.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.DigestAuthentication.Name">
|
|
<summary>
|
|
Gets authentication scheme name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.DigestAuthentication.Scheme">
|
|
<summary>
|
|
Gets authenticator scheme
|
|
</summary>
|
|
<value></value>
|
|
<example>
|
|
digest
|
|
</example>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.AuthenticationProvider">
|
|
<summary>
|
|
Provides authentication in the web server.
|
|
</summary>
|
|
<remarks>
|
|
To initiate authentication you just need to throw a Una
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationProvider.Add(HttpServer.Authentication.IAuthenticator)">
|
|
<summary>
|
|
Add a authenticator.
|
|
</summary>
|
|
<param name="authenticator"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationProvider.Authenticate(HttpServer.IRequest)">
|
|
<summary>
|
|
Authenticate request.
|
|
</summary>
|
|
<param name="request"></param>
|
|
<returns></returns>
|
|
<remarks>
|
|
Requires that a <c>AuthorizationHeader</c> have been sent by the client. If not,
|
|
request one by sending a WWW-Authentication header (can be generated by the Challenge method).
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException">Authorization header was not found in the request.</exception>
|
|
<exception cref="T:System.NotSupportedException">Requested authentication scheme is not supported.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationProvider.CreateChallenge(HttpServer.IResponse,System.String)">
|
|
<summary>
|
|
Create a challenge header (WWW-authenticate)
|
|
</summary>
|
|
<param name="response">Response that the authentication header should be added to</param>
|
|
<param name="realm">Realm that the user should authenticate in</param>
|
|
<returns>WWW-Authenticate header.</returns>
|
|
<remarks>
|
|
<para>
|
|
Scheme can currently be <c>basic</c> or <c>digest</c>. Basic is not very safe, but easier to use.
|
|
Digest is quite safe.
|
|
</para><para>
|
|
</para>
|
|
</remarks>
|
|
<exception cref="T:System.NotSupportedException">Requested scheme is not supported.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.ConsoleLogFactory">
|
|
<summary>
|
|
Creates a console logger.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.ILogFactory">
|
|
<summary>
|
|
Factory implementation used to create logs.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogFactory.CreateLogger(System.Type)">
|
|
<summary>
|
|
Create a new logger.
|
|
</summary>
|
|
<param name="type">Type that requested a logger.</param>
|
|
<returns>Logger for the specified type;</returns>
|
|
<remarks>
|
|
MUST ALWAYS return a logger. Return <see cref="T:HttpServer.Logging.NullLogWriter"/> if no logging
|
|
should be used.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogFactory.#ctor(HttpServer.Logging.ILogFilter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Logging.ConsoleLogFactory"/> class.
|
|
</summary>
|
|
<param name="filter">The filter.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogFactory.CreateLogger(System.Type)">
|
|
<summary>
|
|
Create a new logger.
|
|
</summary>
|
|
<param name="type">Type that requested a logger.</param>
|
|
<returns>Logger for the specified type;</returns>
|
|
<remarks>
|
|
MUST ALWAYS return a logger. Return <see cref="T:HttpServer.Logging.NullLogWriter"/> if no logging
|
|
should be used.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Routing.SimpleRouter">
|
|
<summary>
|
|
redirects from one URL to another.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Routing.IRouter">
|
|
<summary>
|
|
Rules are used to perform operations before a request is being handled.
|
|
Rules can be used to create routing etc.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.IRouter.Process(HttpServer.RequestContext)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="context">Request context information.</param>
|
|
<returns>Processing result.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.SimpleRouter.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Routing.SimpleRouter"/> class.
|
|
</summary>
|
|
<param name="fromUrl">Absolute path (no server name)</param>
|
|
<param name="toUrl">Absolute path (no server name)</param>
|
|
<example>
|
|
server.Add(new RedirectRule("/", "/user/index"));
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.SimpleRouter.#ctor(System.String,System.String,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Routing.SimpleRouter"/> class.
|
|
</summary>
|
|
<param name="fromUrl">Absolute path (no server name)</param>
|
|
<param name="toUrl">Absolute path (no server name)</param>
|
|
<param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param>
|
|
<example>
|
|
server.Add(new RedirectRule("/", "/user/index"));
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.SimpleRouter.Process(HttpServer.RequestContext)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="context">Request context.</param>
|
|
<returns>Processing result.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Routing.SimpleRouter.FromUrl">
|
|
<summary>
|
|
Gets string to match request URI with.
|
|
</summary>
|
|
<remarks>Is compared to request.Uri.AbsolutePath</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Routing.SimpleRouter.ShouldRedirect">
|
|
<summary>
|
|
Gets whether the server should redirect the client instead of simply modifying the URI.
|
|
</summary>
|
|
<remarks>
|
|
<c>false</c> means that the rule will replace
|
|
the current request URI with the new one from this class.
|
|
<c>true</c> means that a redirect response is sent to the client.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Routing.SimpleRouter.ToUrl">
|
|
<summary>
|
|
Gets where to redirect.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.ConnectionHeader">
|
|
<summary>
|
|
The Connection general-header field allows the sender to specify options
|
|
that are desired for that particular connection and MUST NOT be
|
|
communicated by proxies over further connections.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
HTTP/1.1 proxies MUST parse the Connection header field before a
|
|
message is forwarded and, for each connection-token in this field,
|
|
remove any header field(s) from the message with the same name as the
|
|
connection-token. Connection options are signaled by the presence of
|
|
a connection-token in the Connection header field, not by any
|
|
corresponding additional header field(s), since the additional header
|
|
field may not be sent if there are no parameters associated with that
|
|
connection option.
|
|
</para><para>
|
|
Message headers listed in the Connection header MUST NOT include
|
|
end-to-end headers, such as Cache-Control.
|
|
</para><para>
|
|
HTTP/1.1 defines the "close" connection option for the sender to
|
|
signal that the connection will be closed after completion of the
|
|
response. For example,
|
|
<example>
|
|
Connection: close
|
|
</example>
|
|
in either the request or the response header fields indicates that
|
|
the connection SHOULD NOT be considered `persistent' (section 8.1)
|
|
after the current request/response is complete.
|
|
</para><para>
|
|
HTTP/1.1 applications that do not support persistent connections MUST
|
|
include the "close" connection option in every message.
|
|
</para><para>
|
|
A system receiving an HTTP/1.0 (or lower-version) message that
|
|
includes a Connection header MUST, for each connection-token in this
|
|
field, remove and ignore any header field(s) from the message with
|
|
the same name as the connection-token. This protects against mistaken
|
|
forwarding of such header fields by pre-HTTP/1.1 proxies. See section
|
|
19.6.2 in RFC2616.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionHeader.NAME">
|
|
<summary>
|
|
Header name
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionHeader.Default10">
|
|
<summary>
|
|
Default connection header for HTTP/1.0
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionHeader.Default11">
|
|
<summary>
|
|
Default connection header for HTTP/1.1
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ConnectionHeader.#ctor(HttpServer.Headers.ConnectionType,HttpServer.Headers.HeaderParameterCollection)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.ConnectionHeader"/> class.
|
|
</summary>
|
|
<param name="type">Connection type.</param>
|
|
<param name="parameters">The parameters.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ConnectionHeader.#ctor(HttpServer.Headers.ConnectionType)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.ConnectionHeader"/> class.
|
|
</summary>
|
|
<param name="type">The type.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ConnectionHeader.ToString">
|
|
<summary>
|
|
Returns data formatted as a HTTP header value.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ConnectionHeader.Parameters">
|
|
<summary>
|
|
Gets connection parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ConnectionHeader.Type">
|
|
<summary>
|
|
Gets or sets connection type
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ConnectionHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.ConnectionType">
|
|
<summary>
|
|
Type of HTTP connection
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionType.Close">
|
|
<summary>
|
|
Connection is closed after each request-response
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionType.KeepAlive">
|
|
<summary>
|
|
Connection is kept alive for X seconds (unless another request have been made)
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ConnectionType.TransferEncoding">
|
|
<summary>
|
|
Requests message-body be sent with an encoding to be specified in the "Transfer-Encoding" header.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ContentTypeHelper">
|
|
<summary>
|
|
Helper for content types.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.ObjectPool`1">
|
|
<summary>
|
|
Flyweight design pattern implementation.
|
|
</summary>
|
|
<typeparam name="T">Type of object.</typeparam>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ObjectPool`1.#ctor(HttpServer.Tools.CreateHandler{`0})">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.ObjectPool`1"/> class.
|
|
</summary>
|
|
<param name="createHandler">How large buffers to allocate.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ObjectPool`1.Dequeue">
|
|
<summary>
|
|
Get an object.
|
|
</summary>
|
|
<returns>Created object.</returns>
|
|
<remarks>Will create one if queue is empty.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ObjectPool`1.Enqueue(`0)">
|
|
<summary>
|
|
Enqueues the specified buffer.
|
|
</summary>
|
|
<param name="value">Object to enqueue.</param>
|
|
<exception cref="T:System.ArgumentOutOfRangeException">Buffer is is less than the minimum requirement.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.CreateHandler`1">
|
|
<summary>
|
|
Used to create new objects.
|
|
</summary>
|
|
<typeparam name="T">Type of objects to create.</typeparam>
|
|
<returns>Newly created object.</returns>
|
|
<seealso cref="T:HttpServer.Tools.ObjectPool`1"/>.
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.HttpParser">
|
|
<summary>
|
|
A HTTP parser using delegates to which parsing methods.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.HttpParser"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.GetBody">
|
|
<summary>
|
|
Parser method to copy all body bytes.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>Needed since a TCP packet can contain multiple messages
|
|
after each other, or partial messages.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.GetHeaderName">
|
|
<summary>
|
|
Try to find a header name.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.GetHeaderValue">
|
|
<summary>
|
|
Get header values.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>Will also look for multi header values and automatically merge them to one line.</remarks>
|
|
<exception cref="T:HttpServer.Messages.Parser.ParserException">Content length is not a number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.OnBodyBytes(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Toggle body bytes event.
|
|
</summary>
|
|
<param name="bytes"></param>
|
|
<param name="offset"></param>
|
|
<param name="count"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.OnComplete">
|
|
<summary>
|
|
Raise the <see cref="E:HttpServer.Messages.Parser.HttpParser.MessageComplete"/> event, since we have successfully parsed a message and it's body.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.OnFirstLine(System.String[])">
|
|
<summary>
|
|
First message line.
|
|
</summary>
|
|
<param name="words">Will always contain three elements.</param>
|
|
<remarks>Used to raise the <see cref="E:HttpServer.Messages.Parser.HttpParser.RequestLineParsed"/> or <see cref="E:HttpServer.Messages.Parser.HttpParser.ResponseLineParsed"/> event
|
|
depending on the words in the array.</remarks>
|
|
<exception cref="T:HttpServer.BadRequestException"><c>BadRequestException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.Parse(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Continue parsing a message
|
|
</summary>
|
|
<param name="buffer">Byte buffer containing bytes</param>
|
|
<param name="offset">Where to start the parsing</param>
|
|
<param name="count">Number of bytes to parse</param>
|
|
<returns>index where the parsing stopped.</returns>
|
|
<exception cref="T:HttpServer.Messages.Parser.ParserException">Parsing failed.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.ParseFirstLine">
|
|
<summary>
|
|
Parses the first line in a request/response.
|
|
</summary>
|
|
<returns><c>true</c> if first line is well formatted; otherwise <c>false</c>.</returns>
|
|
<exception cref="T:HttpServer.BadRequestException">Invalid request/response line.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HttpParser.Reset">
|
|
<summary>
|
|
Reset parser to initial state.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.HttpParser.LineNumber">
|
|
<summary>
|
|
Gets or sets current line number.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.Parser.HttpParser.RequestLineParsed">
|
|
<summary>
|
|
The request line has been parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.Parser.HttpParser.ResponseLineParsed">
|
|
<summary>
|
|
Response line has been parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.Parser.HttpParser.HeaderParsed">
|
|
<summary>
|
|
Parsed a header.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.Parser.HttpParser.BodyBytesReceived">
|
|
<summary>
|
|
Received body bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.Parser.HttpParser.MessageComplete">
|
|
<summary>
|
|
A message have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.HttpParser.ParserMethod">
|
|
<summary>
|
|
Used to be able to quickly swap parser method.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpFactory">
|
|
<summary>
|
|
Get or create components used in the web server framework
|
|
</summary>
|
|
<remarks>
|
|
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpFactory.Get``1(System.Object[])">
|
|
<summary>
|
|
Get or create a type.
|
|
</summary>
|
|
<typeparam name="T">Type to create</typeparam>
|
|
<returns>Created type.</returns>
|
|
<remarks>
|
|
Gets or creates types in the framework.
|
|
Check <see cref="T:HttpServer.HttpFactory"/> for more information on which
|
|
types the factory should contain.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.HttpFactory">
|
|
<summary>
|
|
Used to create all key types in the HTTP server.
|
|
</summary>
|
|
<remarks>
|
|
<para>Should have factory methods at least for the following types:
|
|
<see cref="T:HttpServer.IRequest"/>, <see cref="T:HttpServer.IResponse"/>,
|
|
<see cref="T:HttpServer.Headers.HeaderFactory"/>, <see cref="T:HttpServer.Messages.MessageFactory"/>,
|
|
<see cref="T:HttpServer.HttpContext"/>, <see cref="T:HttpServer.SecureHttpContext"/>,
|
|
<see cref="T:HttpServer.IResponse"/>, <see cref="T:HttpServer.IRequest"/>,
|
|
<see cref="T:HttpServer.Messages.ResponseWriter"/>.
|
|
</para>
|
|
<para>Check the default implementations to see which constructor
|
|
parameters you will get.</para>
|
|
</remarks>
|
|
<example>
|
|
HttpFactory.Add(typeof(IRequest), (type, args) => new MyRequest((string)args[0]));
|
|
</example>
|
|
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpFactory"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.Add(System.Type,HttpServer.FactoryMethod)">
|
|
<summary>
|
|
Add a factory method for a type.
|
|
</summary>
|
|
<param name="type">Type to create</param>
|
|
<param name="handler">Method creating the type.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.FindFactoryMethod(System.Type)">
|
|
<summary>
|
|
Used to
|
|
</summary>
|
|
<param name="type"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.OnSetupHeaderFactory(System.Type,System.Object[])">
|
|
<summary>
|
|
Setup our singleton.
|
|
</summary>
|
|
<param name="type"></param>
|
|
<param name="arguments"></param>
|
|
<returns></returns>
|
|
<remarks>
|
|
We want to use a singleton, but we also want to be able
|
|
to let the developer to setup his own header factory.
|
|
Therefore we use this method to create our own factory only if the user
|
|
have not specified one.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.OnSetupMessageFactory(System.Type,System.Object[])">
|
|
<summary>
|
|
Small method to create a message factory singleton and replace then default delegate method.
|
|
</summary>
|
|
<param name="type"></param>
|
|
<param name="arguments"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFactory.Get``1(System.Object[])">
|
|
<summary>
|
|
Create a type.
|
|
</summary>
|
|
<typeparam name="T">Type to create</typeparam>
|
|
<returns>Created type.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFactory.Current">
|
|
<summary>
|
|
Gets http factory for the current listener.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.FactoryMethod">
|
|
<summary>
|
|
Delegate used to create a certain type
|
|
</summary>
|
|
<returns>Created type.</returns>
|
|
<remarks>
|
|
Method must never fail.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.ParserForAttribute">
|
|
<summary>
|
|
Used to define which headers a parse is for.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.ParserForAttribute.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.Parsers.ParserForAttribute"/> class.
|
|
</summary>
|
|
<param name="headerName">Name of the header.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.Parsers.ParserForAttribute.HeaderName">
|
|
<summary>
|
|
Gets name of header that this parser is for.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.DateParser">
|
|
<summary>
|
|
Parses "Date" header.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.DateParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.AuthorizationHeader">
|
|
<summary>
|
|
Authorization response
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
A user agent that wishes to authenticate itself with a server--
|
|
usually, but not necessarily, after receiving a 401 response--does
|
|
so by including an Authorization request-header field with the
|
|
request. The Authorization field value consists of credentials
|
|
containing the authentication information of the user agent for
|
|
the realm of the resource being requested.
|
|
</para>
|
|
<example>
|
|
Authorization = "Authorization" ":" credentials
|
|
</example>
|
|
<para>
|
|
HTTP access authentication is described in "HTTP Authentication:
|
|
Basic and Digest Access Authentication" [43]. If a request is
|
|
authenticated and a realm specified, the same credentials SHOULD
|
|
be valid for all other requests within this realm (assuming that
|
|
the authentication scheme itself does not require otherwise, such
|
|
as credentials that vary according to a challenge value or using
|
|
synchronized clocks).
|
|
When a shared cache (see section 13.7) receives a request
|
|
containing an Authorization field, it MUST NOT return the
|
|
corresponding response as a reply to any other request, unless one
|
|
of the following specific exceptions holds:
|
|
</para>
|
|
<list type="number">
|
|
<item>
|
|
If the response includes the "s-maxage" cache-control
|
|
directive, the cache MAY use that response in replying to a
|
|
subsequent request. But (if the specified maximum age has
|
|
passed) a proxy cache MUST first revalidate it with the origin
|
|
server, using the request-headers from the new request to allow
|
|
the origin server to authenticate the new request. (This is the
|
|
defined behavior for s-maxage.) If the response includes "s-
|
|
maxage=0", the proxy MUST always revalidate it before re-using
|
|
it.
|
|
</item><item>
|
|
If the response includes the "must-revalidate" cache-control
|
|
directive, the cache MAY use that response in replying to a
|
|
subsequent request. But if the response is stale, all caches
|
|
MUST first revalidate it with the origin server, using the
|
|
request-headers from the new request to allow the origin server
|
|
to authenticate the new request.
|
|
</item><item>
|
|
If the response includes the "public" cache-control directive,
|
|
it MAY be returned in reply to any subsequent request.
|
|
</item>
|
|
</list>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.AuthorizationHeader.NAME">
|
|
<summary>
|
|
Name constant
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.AuthorizationHeader.Data">
|
|
<summary>
|
|
Gets or sets authentication data.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.AuthorizationHeader.Scheme">
|
|
<summary>
|
|
Gets or sets authentication protocol.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.AuthorizationHeader.Name">
|
|
<summary>
|
|
Gets name of header.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.AuthenticationRequiredException">
|
|
<summary>
|
|
User needs to authenticate.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ForbiddenException"/>
|
|
<seealso cref="T:HttpServer.Authentication.AuthenticationProvider"/>
|
|
</member>
|
|
<member name="M:HttpServer.AuthenticationRequiredException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.AuthenticationRequiredException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Inner exception.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.FactoryResponseEventArgs">
|
|
<summary>
|
|
A response have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.FactoryResponseEventArgs.#ctor(HttpServer.IResponse)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.FactoryResponseEventArgs"/> class.
|
|
</summary>
|
|
<param name="response">The response.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.FactoryResponseEventArgs.Response">
|
|
<summary>
|
|
Gets or sets response.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.MessageFactoryContext">
|
|
<summary>
|
|
Creates a single message for one of the end points.
|
|
</summary>
|
|
<remarks>
|
|
The factory is
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactoryContext.#ctor(HttpServer.Messages.MessageFactory,HttpServer.Headers.HeaderFactory,HttpServer.Messages.Parser.HttpParser)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.MessageFactoryContext"/> class.
|
|
</summary>
|
|
<param name="msgFactory">The MSG factory.</param>
|
|
<param name="factory">The factory.</param>
|
|
<param name="parser">The parser.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactoryContext.Dispose">
|
|
<summary>
|
|
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
|
</summary>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactoryContext.OnHeader(System.Object,HttpServer.Messages.Parser.HeaderEventArgs)">
|
|
<summary>
|
|
Received a header from parser
|
|
</summary>
|
|
<param name="sender"></param>
|
|
<param name="e"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactoryContext.Parse(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Will continue the parsing until nothing more can be parsed.
|
|
</summary>
|
|
<param name="buffer">buffer to parse</param>
|
|
<param name="offset">where to start in the buffer</param>
|
|
<param name="length">number of bytes to process.</param>
|
|
<returns>Position where parser stopped parsing.</returns>
|
|
<exception cref="T:HttpServer.Messages.Parser.ParserException">Parsing failed.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.MessageFactoryContext.Reset">
|
|
<summary>
|
|
Reset parser.
|
|
</summary>
|
|
<remarks>
|
|
Something failed, reset parser so it can start on a new request.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.MessageFactoryContext.RequestCompleted">
|
|
<summary>
|
|
A request have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.MessageFactoryContext.ResponseCompleted">
|
|
<summary>
|
|
A response have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Messages.MessageFactoryContext.ContinueResponseRequested">
|
|
<summary>
|
|
Client asks if he may continue.
|
|
</summary>
|
|
<remarks>
|
|
If the body is too large or anything like that you should respond <see cref="F:System.Net.HttpStatusCode.ExpectationFailed"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.ContinueEventArgs">
|
|
<summary>
|
|
Used to notify about 100-continue header.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ContinueEventArgs.#ctor(HttpServer.IRequest)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.ContinueEventArgs"/> class.
|
|
</summary>
|
|
<param name="request">request that want to continue.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.ContinueEventArgs.Request">
|
|
<summary>
|
|
Gets request that want to continue
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.LogFilter">
|
|
<summary>
|
|
Default log filter implementation.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.ILogFilter">
|
|
<summary>
|
|
Determines which classes can log
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ILogFilter.CanLog(HttpServer.Logging.LogLevel,System.Type)">
|
|
<summary>
|
|
Checks if the specified type can send
|
|
log entries at the specified level.
|
|
</summary>
|
|
<param name="level">Log level</param>
|
|
<param name="type">Type that want to write a log entry.</param>
|
|
<returns><c>true</c> if logging is allowed; otherwise <c>false</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.AddNameSpace(System.String,HttpServer.Logging.LogLevel)">
|
|
<summary>
|
|
Add a name space filter.
|
|
</summary>
|
|
<param name="ns">Name space to add filter for.</param>
|
|
<param name="level">Minimum log level required.</param>
|
|
<example>
|
|
<code>
|
|
// Parsing can only add error and fatal messages
|
|
AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error);
|
|
AddType(typeof(SipParser), LogLevel.Error);
|
|
|
|
// Transport layer can only log warnings, errors and fatal messages
|
|
AddNamespace("SipSharp.Transports.*", LogLevel.Warning);
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.AddStandardRules">
|
|
<summary>
|
|
Used to specify standard filter rules
|
|
</summary>
|
|
<remarks>
|
|
Parser can only display errors. Transports only warnings.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.AddType(System.Type,HttpServer.Logging.LogLevel)">
|
|
<summary>
|
|
Add filter for a type
|
|
</summary>
|
|
<param name="type">Type to add filter for.</param>
|
|
<param name="level">Minimum log level required.</param>
|
|
<example>
|
|
<code>
|
|
// Parsing can only add error and fatal messages
|
|
AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error);
|
|
AddType(typeof(SipParser), LogLevel.Error);
|
|
|
|
// Transport layer can only log warnings, errors and fatal messages
|
|
AddNamespace("SipSharp.Transports.*", LogLevel.Warning);
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.AddType(System.String,HttpServer.Logging.LogLevel)">
|
|
<summary>
|
|
Add filter for a type
|
|
</summary>
|
|
<param name="typeStr">Type to add filter for.</param>
|
|
<param name="level">Minimum log level required.</param>
|
|
<example>
|
|
<code>
|
|
// Parsing can only add error and fatal messages
|
|
AddNamespace("SipSharp.Messages.Headers.Parsers", LogLevel.Error);
|
|
AddType("SipSharp.Messages.MessageFactory", LogLevel.Error);
|
|
|
|
// Transport layer can only log warnings, errors and fatal messages
|
|
AddNamespace("SipSharp.Transports.*", LogLevel.Warning);
|
|
</code>
|
|
</example>
|
|
<exception cref="T:System.ArgumentException">Type could not be identified.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.HttpServer#Logging#ILogFilter#CanLog(HttpServer.Logging.LogLevel,System.Type)">
|
|
<summary>
|
|
Checks if the specified type can send
|
|
log entries at the specified level.
|
|
</summary>
|
|
<param name="level">Log level</param>
|
|
<param name="type">Type that want to write a log entry.</param>
|
|
<returns><c>true</c> if logging is allowed; otherwise <c>false</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFilter.NamespaceFilter.#ctor(System.String,HttpServer.Logging.LogLevel)">
|
|
<exception cref="T:System.ArgumentException">No filters = everything logged. <see cref="T:HttpServer.Logging.NullLogFactory"/> = no logs. Don't use a rule with '*' or '.*'</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Logging.LogFilter.NamespaceFilter.IsWildcard">
|
|
<summary>
|
|
User have specified a wild card filter.
|
|
</summary>
|
|
<remarks>
|
|
Wild card filters are used to log a name space and
|
|
all it's children name spaces.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.ProcessingResult">
|
|
<summary>
|
|
Result of processing.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ProcessingResult.Continue">
|
|
<summary>
|
|
Continue with the next handler
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ProcessingResult.SendResponse">
|
|
<summary>
|
|
No more handlers can process the request.
|
|
</summary>
|
|
<remarks>
|
|
The server will process the response object and
|
|
generate a HTTP response from it.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.ProcessingResult.Abort">
|
|
<summary>
|
|
Response have been sent back by the handler.
|
|
</summary>
|
|
<remarks>
|
|
This option should only be used if you are streaming
|
|
something or sending back a custom result. The server will
|
|
not process the response object or send anything back
|
|
to the client.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.StringHeader">
|
|
<summary>
|
|
Used to store all headers that that aren't recognized.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.StringHeader.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.StringHeader"/> class.
|
|
</summary>
|
|
<param name="name">The name.</param>
|
|
<param name="value">The value.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.StringHeader.Value">
|
|
<summary>
|
|
Gets or sets value
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.StringHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.ConnectionParser">
|
|
<summary>
|
|
Parses <see cref="T:HttpServer.Headers.ConnectionHeader"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.ConnectionParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.IParameterCollection">
|
|
<summary>
|
|
Collection of parameters
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IParameterCollection.Get(System.String)">
|
|
<summary>
|
|
Get a parameter.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.IParameterCollection.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a query string parameter.
|
|
</summary>
|
|
<param name="name">Parameter name</param>
|
|
<param name="value">Value</param>
|
|
</member>
|
|
<member name="M:HttpServer.IParameterCollection.Exists(System.String)">
|
|
<summary>
|
|
Checks if the specified parameter exists
|
|
</summary>
|
|
<param name="name">Parameter name.</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>;</returns>
|
|
</member>
|
|
<member name="P:HttpServer.IParameterCollection.Count">
|
|
<summary>
|
|
Gets number of parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IParameterCollection.Item(System.String)">
|
|
<summary>
|
|
Gets last value of an parameter.
|
|
</summary>
|
|
<param name="name">Parameter name</param>
|
|
<returns>String if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.IParameter">
|
|
<summary>
|
|
Parameter in <see cref="T:HttpServer.IParameterCollection"/>
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IParameter.Value">
|
|
<summary>
|
|
Gets *last* value.
|
|
</summary>
|
|
<remarks>
|
|
Parameters can have multiple values. This property will always get the last value in the list.
|
|
</remarks>
|
|
<value>String if any value exist; otherwise <c>null</c>.</value>
|
|
</member>
|
|
<member name="P:HttpServer.IParameter.Name">
|
|
<summary>
|
|
Gets or sets name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IParameter.Values">
|
|
<summary>
|
|
Gets a list of all values.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Parameter">
|
|
<summary>
|
|
A parameter in <see cref="T:HttpServer.IParameterCollection"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parameter.System#Collections#Generic#IEnumerable{System#String}#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.Parameter.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Parameter.Value">
|
|
<summary>
|
|
Gets last value.
|
|
</summary>
|
|
<remarks>
|
|
Parameters can have multiple values. This property will always get the last value in the list.
|
|
</remarks>
|
|
<value>String if any value exist; otherwise <c>null</c>.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Parameter.Name">
|
|
<summary>
|
|
Gets or sets name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parameter.Values">
|
|
<summary>
|
|
Gets a list of all values.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.RequestLineEventArgs">
|
|
<summary>
|
|
Used when the request line have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.RequestLineEventArgs"/> class.
|
|
</summary>
|
|
<param name="method">The HTTP method.</param>
|
|
<param name="uriPath">The URI path.</param>
|
|
<param name="version">The HTTP version.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.RequestLineEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.RequestLineEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.RequestLineEventArgs.Method">
|
|
<summary>
|
|
Gets or sets HTTP method.
|
|
</summary>
|
|
<remarks>
|
|
Should be one of the methods declared in <see cref="P:HttpServer.Messages.Parser.RequestLineEventArgs.Method"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.RequestLineEventArgs.UriPath">
|
|
<summary>
|
|
Gets or sets requested URI path.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.RequestLineEventArgs.Version">
|
|
<summary>
|
|
Gets or sets the version of the SIP protocol that the client want to use.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.ContentTypeHeader">
|
|
<summary>
|
|
Content-type
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.ContentTypeHeader.NAME">
|
|
<summary>
|
|
Header name.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ContentTypeHeader.#ctor(System.String,HttpServer.Headers.HeaderParameterCollection)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.ContentTypeHeader"/> class.
|
|
</summary>
|
|
<param name="contentType">Type of the content.</param>
|
|
<param name="parameterCollection">Value parameters.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ContentTypeHeader.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.ContentTypeHeader"/> class.
|
|
</summary>
|
|
<param name="contentType">Type of the content.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.ContentTypeHeader.ToString">
|
|
<summary>
|
|
Returns data formatted as a HTTP header value.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ContentTypeHeader.Parameters">
|
|
<summary>
|
|
Gets all parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ContentTypeHeader.Value">
|
|
<summary>
|
|
Gets content type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.ContentTypeHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ForbiddenException">
|
|
<summary>
|
|
Requested resource may not be accessed.
|
|
</summary>
|
|
<remarks>
|
|
Normally thrown after an authentication attempt have failed too many times.
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.AuthenticationRequiredException"/>
|
|
</member>
|
|
<member name="M:HttpServer.ForbiddenException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ForbiddenException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ForbiddenException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ForbiddenException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Inner exception.</param>
|
|
</member>
|
|
<member name="T:HttpServer.BodyDecoders.Mono.HttpMultipart">
|
|
<summary>
|
|
Stream-based multipart handling.
|
|
|
|
In this incarnation deals with an HttpInputStream as we are now using
|
|
IntPtr-based streams instead of byte []. In the future, we will also
|
|
send uploads above a certain threshold into the disk (to implement
|
|
limit-less HttpInputFiles).
|
|
</summary>
|
|
<remarks>
|
|
Taken from HttpRequest in mono (http://www.mono-project.com)
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Transports.ClientCertificate">
|
|
<summary>
|
|
Client X.509 certificate, X.509 chain, and any SSL policy errors encountered
|
|
during the SSL stream creation
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Transports.ClientCertificate.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Transports.ClientCertificate"/> class.
|
|
</summary>
|
|
<param name="certificate">The certificate.</param>
|
|
<param name="chain">Client security certificate chain.</param>
|
|
<param name="sslPolicyErrors">Any SSL policy errors encountered during the SSL stream creation.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Transports.ClientCertificate.Certificate">
|
|
<summary>
|
|
Client security certificate
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Transports.ClientCertificate.Chain">
|
|
<summary>
|
|
Client security certificate chain
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Transports.ClientCertificate.SslPolicyErrors">
|
|
<summary>
|
|
Any SSL policy errors encountered during the SSL stream creation
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.Properties.EmitHelper">
|
|
<summary>
|
|
Credits and description: http://theinstructionlimit.com/?p=76
|
|
</summary>
|
|
<remarks>
|
|
Converted to .Net 2.0
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.Session">
|
|
<summary>
|
|
Session in the system
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.Session.SessionId">
|
|
<summary>
|
|
Gets or sets session id.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.NullLogFactory">
|
|
<summary>
|
|
Factory creating null logger.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogFactory.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Logging.NullLogFactory"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogFactory.CreateLogger(System.Type)">
|
|
<summary>
|
|
Create a new logger.
|
|
</summary>
|
|
<param name="type">Type that requested a logger.</param>
|
|
<returns>Logger for the specified type;</returns>
|
|
<remarks>
|
|
MUST ALWAYS return a logger. Return <see cref="T:HttpServer.Logging.NullLogWriter"/> if no logging
|
|
should be used.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Logging.NullLogFactory.Instance">
|
|
<summary>
|
|
Logger instance.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.ResourceProvider">
|
|
<summary>
|
|
Provides resources.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.IResourceProvider">
|
|
<summary>
|
|
Used to access resources.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceProvider.Add(HttpServer.Resources.IResourceLoader)">
|
|
<summary>
|
|
Add a new resource loader.
|
|
</summary>
|
|
<param name="loader">Provider to add.</param>
|
|
<exception cref="T:System.InvalidOperationException">Manager have been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceProvider.Exists(System.String)">
|
|
<summary>
|
|
Check if a resource exists.
|
|
</summary>
|
|
<param name="uriPath">Uri to check</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>.</returns>
|
|
<example>
|
|
<code>
|
|
if (manager.Exists("/views/user/view.haml"))
|
|
return true
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceProvider.Get(System.String)">
|
|
<summary>
|
|
Get a resource.
|
|
</summary>
|
|
<param name="uri">Uri path to resource.</param>
|
|
<returns>Resource if found; otherwise <c>null</c>.</returns>
|
|
<example>
|
|
<code>
|
|
Resource resource = manager.Get("/views/user/view.haml");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.IResourceProvider.Start">
|
|
<summary>
|
|
Start manager.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.IResourceProvider.Count">
|
|
<summary>
|
|
Gets number of resource providers
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.ResourceProvider.Find(System.String)">
|
|
<summary>
|
|
Get all view names from a folder.
|
|
</summary>
|
|
<param name="path">Path to find views in.</param>
|
|
<returns>A collection of view names (without path).</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.ResourceProvider.Add(HttpServer.Resources.IResourceLoader)">
|
|
<summary>
|
|
Add a new resource loader.
|
|
</summary>
|
|
<param name="loader">Provider to add.</param>
|
|
<exception cref="T:System.InvalidOperationException">Manager have been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.ResourceProvider.Start">
|
|
<summary>
|
|
Start manager.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.ResourceProvider.Exists(System.String)">
|
|
<summary>
|
|
Check if a resource exists.
|
|
</summary>
|
|
<param name="uriPath">Uri to check</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>.</returns>
|
|
<example>
|
|
<code>
|
|
if (manager.Exists("/views/user/view.haml"))
|
|
return true
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.ResourceProvider.Get(System.String)">
|
|
<summary>
|
|
Get a resource.
|
|
</summary>
|
|
<param name="uri">Uri path to resource.</param>
|
|
<returns>Resource if found; otherwise <c>null</c>.</returns>
|
|
<example>
|
|
<code>
|
|
Resource resource = manager.Get("/views/user/view.haml");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.ResourceProvider.Count">
|
|
<summary>
|
|
Gets number of resource providers
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.EmbeddedResourceLoader">
|
|
<summary>
|
|
Loads resources that are embedded in assemblies.
|
|
</summary>
|
|
<remarks>
|
|
No locks used internally since all mappings are loaded during start up.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Resources.EmbeddedResourceLoader"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.#ctor(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Resources.EmbeddedResourceLoader"/> class.
|
|
</summary>
|
|
<param name="path">Path (Uri) requested by clients</param>
|
|
<param name="assembly">Assembly that the resources exist in</param>
|
|
<param name="nameSpace">Name space that the resources exist in</param>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.Add(System.String,System.Reflection.Assembly,System.String,System.String)">
|
|
<summary>
|
|
Add a specific resource.
|
|
</summary>
|
|
<param name="path">Path (Uri) requested by clients</param>
|
|
<param name="assembly">Assembly that the resources exist in</param>
|
|
<param name="rootNameSpace">Name space to root folder under (all name spaces below the specified one are considered as folders)</param>
|
|
<param name="fullResourceName">Name space and name of resource.</param>
|
|
<example>
|
|
<code>
|
|
Add("/", Assembly.GetExecutingAssembly(), "MyApplication.Files", "Myapplication.Files.Images.MyImage.png");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.AddFile(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Add resources.
|
|
</summary>
|
|
<param name="path">Path (Uri) requested by clients</param>
|
|
<param name="assembly">Assembly that the resources exist in</param>
|
|
<param name="resourceName">Name of resource, including name space.</param>
|
|
<returns><c>true</c> if file was found (and has not previously been added); otherwise <c>false</c>.</returns>
|
|
<remarks>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.AddFilesInFolder(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Add resources in a specific path (will not work with sub folders)
|
|
</summary>
|
|
<param name="path">Path (Uri) requested by clients</param>
|
|
<param name="assembly">Assembly that the resources exist in</param>
|
|
<param name="rootNameSpace">Name space to root folder under which all name spaces exists in,</param>
|
|
<returns><c>true</c> if any files was found; otherwise <c>false</c>.</returns>
|
|
<remarks>
|
|
<para>
|
|
Adds all views in the specified folder. Sub folders are not supported since it's hard to determine
|
|
with parts are the path and witch parts are the filename. Use <see cref="M:HttpServer.Resources.EmbeddedResourceLoader.AddPath(System.String,System.Reflection.Assembly,System.String)"/> to get support
|
|
for sub folders.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
<code>
|
|
Add("/user/", typeof(MyController).Assembly, "YourProject.Users.Views");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.AddPath(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Add resources in a folder and it's sub folder
|
|
</summary>
|
|
<param name="path"></param>
|
|
<param name="assembly"></param>
|
|
<param name="rootNameSpace"></param>
|
|
<remarks>
|
|
<para>This method is not going to map files but keep the mapping and
|
|
try to look up views every time they are requested. This is the method
|
|
to use to add a resource folder that has sub folders.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.LoadMappingFromPath(System.String)">
|
|
<summary>
|
|
Tries to load file by using previously added paths.
|
|
</summary>
|
|
<param name="uriPath">Uri path including file name</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.Exists(System.String)">
|
|
<summary>
|
|
Checks if a resource exists in the specified directory
|
|
</summary>
|
|
<param name="uriPath">Uri path to resource</param>
|
|
<returns><c>true</c> if resource was found; otherwise <c>false</c>.</returns>
|
|
<example>
|
|
<code>
|
|
if (resources.Exists("/files/user/user.png"))
|
|
Debug.WriteLine("Resource exists.");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.Get(System.String)">
|
|
<summary>
|
|
Load a resource.
|
|
</summary>
|
|
<param name="uri">Uri of resource.</param>
|
|
<returns>Resource if found and loaded; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.Find(System.String,System.Collections.Generic.List{System.String})">
|
|
<summary>
|
|
Find all views in a folder/path.
|
|
</summary>
|
|
<param name="path">Uri path</param>
|
|
<param name="viewNames">Collection to add all view names to.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Resources.EmbeddedResourceLoader.LoadFromPathMappings(System.String)">
|
|
<summary>
|
|
Loads all files in a resource directory
|
|
</summary>
|
|
<param name="path"></param>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.Mapping.Assembly">
|
|
<summary>
|
|
Gets or sets assembly that the resource exists in.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.Mapping.FileName">
|
|
<summary>
|
|
Gets or sets resource name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.Mapping.FullResourceName">
|
|
<summary>
|
|
Gets or sets full name space path to resource.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.Mapping.TypeExtension">
|
|
<summary>
|
|
Gets or sets if this file is for a certain content type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.Mapping.UriPath">
|
|
<summary>
|
|
Gets or sets full "virtual" Uri path, excluding file name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.PathMapping.Assembly">
|
|
<summary>
|
|
Gets or sets assembly
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.PathMapping.RootNameSpace">
|
|
<summary>
|
|
Gets or sets name space root.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.EmbeddedResourceLoader.PathMapping.UriPath">
|
|
<summary>
|
|
Gets or sets uri path.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.RequestCookieCollection">
|
|
<summary>
|
|
A list of request cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.#ctor(System.String)">
|
|
<summary>
|
|
Let's copy all the cookies.
|
|
</summary>
|
|
<param name="cookies">value from cookie header.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.RequestCookieCollection"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.Add(HttpServer.Messages.RequestCookie)">
|
|
<summary>
|
|
Adds a cookie in the collection.
|
|
</summary>
|
|
<param name="cookie">cookie to add</param>
|
|
<exception cref="T:System.ArgumentNullException">cookie is <c>null</c></exception>
|
|
<exception cref="T:System.ArgumentException">Name must be specified.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.Clear">
|
|
<summary>
|
|
Remove all cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.Remove(System.String)">
|
|
<summary>
|
|
Remove a cookie from the collection.
|
|
</summary>
|
|
<param name="cookieName">Name of cookie.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.GetEnumerator">
|
|
<summary>
|
|
Gets a collection enumerator on the cookie list.
|
|
</summary>
|
|
<returns>collection enumerator</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.RequestCookieCollection.System#Collections#Generic#IEnumerable{HttpServer#Messages#RequestCookie}#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.RequestCookieCollection.Count">
|
|
<summary>
|
|
Gets the count of cookies in the collection.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.RequestCookieCollection.Item(System.String)">
|
|
<summary>
|
|
Gets the cookie of a given identifier (<c>null</c> if not existing).
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.HeaderCollection">
|
|
<summary>
|
|
Collection of headers.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.IHeaderCollection">
|
|
<summary>
|
|
Collection of headers.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.IHeaderCollection.Item(System.String)">
|
|
<summary>
|
|
Gets a header
|
|
</summary>
|
|
<param name="name">header name.</param>
|
|
<returns>header if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.#ctor(HttpServer.Headers.HeaderFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.HeaderCollection"/> class.
|
|
</summary>
|
|
<param name="factory">Factory used to created headers.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.Add(HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Adds a header
|
|
</summary>
|
|
<remarks>
|
|
Will replace any existing header with the same name.
|
|
</remarks>
|
|
<param name="header">header to add</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>header</c> is <c>null</c>.</exception>
|
|
<exception cref="T:System.ArgumentException">Header name cannot be <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a header.
|
|
</summary>
|
|
<param name="name">Header name</param>
|
|
<param name="value">Header value</param>
|
|
<remarks>
|
|
Will try to parse the header and create a <see cref="T:HttpServer.Headers.IHeader"/> object.
|
|
</remarks>
|
|
<exception cref="T:System.FormatException">Header value is not correctly formatted.</exception>
|
|
<exception cref="T:System.ArgumentNullException"><c>name</c> or <c>value</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.Add(System.String,HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a header.
|
|
</summary>
|
|
<param name="name">Header name</param>
|
|
<param name="value">Header value</param>
|
|
<remarks>
|
|
Will try to parse the header and create a <see cref="T:HttpServer.Headers.IHeader"/> object.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentNullException"><c>name</c> or <c>value</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.Get``1(System.String)">
|
|
<summary>
|
|
Get a header
|
|
</summary>
|
|
<typeparam name="T">Type that it should be cast to</typeparam>
|
|
<param name="headerName">Name of header</param>
|
|
<returns>Header if found and casted properly; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderCollection.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.HeaderCollection.Item(System.String)">
|
|
<summary>
|
|
Gets a header
|
|
</summary>
|
|
<param name="name">header name.</param>
|
|
<returns>header if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.DateHeader">
|
|
<summary>
|
|
Header for "Date" and "If-Modified-Since"
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
The field value is an HTTP-date, as described in section 3.3.1 in RFC2616;
|
|
it MUST be sent in RFC 1123 [8]-date format. An example is
|
|
<example>
|
|
Date: Tue, 15 Nov 1994 08:12:31 GMT
|
|
</example>
|
|
</para><para>Origin servers MUST include a Date header field in all
|
|
responses, except in these cases:
|
|
<list type="number">
|
|
<item>If the response status code is 100 (Continue) or 101 (Switching
|
|
Protocols), the response MAY include a Date header field, at the server's
|
|
option.
|
|
</item><item>If the response status code conveys a server error, e.g. 500
|
|
(Internal Server Error) or 503 (Service Unavailable), and it is inconvenient
|
|
or impossible to generate a valid Date.
|
|
</item><item>If the server does not have a clock that can provide a
|
|
reasonable approximation of the current time, its responses MUST NOT include
|
|
a Date header field. In this case, the rules in section 14.18.1 in RFC2616
|
|
MUST be followed.
|
|
</item>
|
|
</list>
|
|
</para><para>A received message that does not have a Date header field MUST
|
|
be assigned one by the recipient if the message will be cached by that
|
|
recipient or gatewayed via a protocol which requires a Date. An HTTP
|
|
implementation without a clock MUST NOT cache responses without revalidating
|
|
them on every use. An HTTP cache, especially a shared cache, SHOULD use a
|
|
mechanism, such as NTP [28], to synchronize its clock with a reliable
|
|
external standard.
|
|
</para><para>Clients SHOULD only send a Date header field in messages that
|
|
include an entity-body, as in the case of the PUT and POST requests, and
|
|
even then it is optional. A client without a clock MUST NOT send a Date
|
|
header field in a request.
|
|
</para><para>The HTTP-date sent in a Date header SHOULD NOT represent a date
|
|
and time subsequent to the generation of the message. It SHOULD represent
|
|
the best available approximation of the date and time of message generation,
|
|
unless the implementation has no means of generating a reasonably accurate
|
|
date and time. In theory, the date ought to represent the moment just before
|
|
the entity is generated. In practice, the date can be generated at any time
|
|
during the message origination without affecting its semantic value.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.DateHeader.NAME">
|
|
<summary>
|
|
Header name
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.DateHeader.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.DateHeader"/> class.
|
|
</summary>
|
|
<param name="name">Header name.</param>
|
|
<exception cref="T:System.ArgumentException">Name must not be empty.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.DateHeader.#ctor(System.String,System.DateTime)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.DateHeader"/> class.
|
|
</summary>
|
|
<param name="name">Header name.</param>
|
|
<param name="value">Universal time.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.DateHeader.ToString">
|
|
<summary>
|
|
Returns data formatted as a HTTP header value.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.DateHeader.Value">
|
|
<summary>
|
|
Gets or sets date time.
|
|
</summary>
|
|
<value>Should be in UTC.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.DateHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.Properties.ICachedType">
|
|
<summary>
|
|
Type cached for fast property value modifications.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.ICachedType.GetValue(System.Object,System.String)">
|
|
<summary>
|
|
Get a property value.
|
|
</summary>
|
|
<param name="instance">Instance to get value from.</param>
|
|
<param name="propertyName">Name of property.</param>
|
|
<returns>Property value.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.ICachedType.SetConvertedValue(System.Object,System.String,System.Object)">
|
|
<summary>
|
|
Assign a value, try to convert it if it's not the same type as the property type.
|
|
</summary>
|
|
<param name="instance">Object containing the property</param>
|
|
<param name="propertyName">Name of property</param>
|
|
<param name="value">Value to convert and assign</param>
|
|
<exception cref="T:System.InvalidOperationException">Failed to find property.</exception>
|
|
<exception cref="T:System.InvalidCastException">Could not convert value type to property type.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.ICachedType.SetValue(System.Object,System.String,System.Object)">
|
|
<summary>
|
|
Assign value to a property
|
|
</summary>
|
|
<param name="instance">Object containing the property</param>
|
|
<param name="propertyName">Name of property</param>
|
|
<param name="value">Value to assign, must be of the same type as the property.</param>
|
|
<exception cref="T:System.InvalidOperationException">Failed to find property.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.Properties.CachedType">
|
|
<summary>
|
|
Used to cache property information
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.CachedType.GetProperty(System.String)">
|
|
<summary>
|
|
Gets the property.
|
|
</summary>
|
|
<param name="name">The name.</param>
|
|
<returns></returns>
|
|
<exception cref="T:System.InvalidOperationException">Failed to find property.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.CachedType.ToDate(System.Type,System.Object)">
|
|
<exception cref="T:System.InvalidCastException"><c>InvalidCastException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.CachedType.GetValue(System.Object,System.String)">
|
|
<summary>
|
|
Get a property value.
|
|
</summary>
|
|
<param name="instance">Instance to get value from.</param>
|
|
<param name="propertyName">Name of property.</param>
|
|
<returns>Property value.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.CachedType.SetConvertedValue(System.Object,System.String,System.Object)">
|
|
<summary>
|
|
Assign a value, try to convert it if it's not the same type as the property type.
|
|
</summary>
|
|
<param name="instance">Object containing the property</param>
|
|
<param name="propertyName">Name of property</param>
|
|
<param name="value">Value to convert and assign</param>
|
|
<exception cref="T:System.InvalidOperationException">Failed to find property.</exception>
|
|
<exception cref="T:System.InvalidCastException">Could not convert value type to property type.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.Properties.CachedType.SetValue(System.Object,System.String,System.Object)">
|
|
<summary>
|
|
Assign value to a property
|
|
</summary>
|
|
<param name="instance">Object containing the property</param>
|
|
<param name="propertyName">Name of property</param>
|
|
<param name="value">Value to assign, must be of the same type as the property.</param>
|
|
<exception cref="T:System.InvalidOperationException">Failed to find property.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Properties.CachedType.CachedProperty.MemberInfo">
|
|
<summary>
|
|
Gets or sets member info
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.Properties.CachedType.CachedProperty.MemberType">
|
|
<summary>
|
|
Gets or sets member type
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.ITextReader">
|
|
<summary>
|
|
Base interface to read string tokens from different sources.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Assign(System.Object,System.Int32,System.Int32)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process.</param>
|
|
<param name="offset">Where to start process buffer</param>
|
|
<param name="count">Buffer length</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Assign(System.Object)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Consume">
|
|
<summary>
|
|
Consume current character.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Consume(System.Char[])">
|
|
<summary>
|
|
Consume specified characters
|
|
</summary>
|
|
<param name="chars">One or more characters.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ConsumeWhiteSpaces">
|
|
<summary>
|
|
Consumes horizontal white spaces (space and tab).
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ConsumeWhiteSpaces(System.Char)">
|
|
<summary>
|
|
Consume horizontal white spaces and the specified character.
|
|
</summary>
|
|
<param name="extraCharacter">Extra character to consume</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Contains(System.Char)">
|
|
<summary>
|
|
Checks if one of the remaining bytes are a specified character.
|
|
</summary>
|
|
<param name="ch">Character to find.</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.Read">
|
|
<summary>
|
|
Read a character.
|
|
</summary>
|
|
<returns>Character if not EOF; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadLine">
|
|
<summary>
|
|
Get a text line.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>Will merge multiline headers.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadQuotedString">
|
|
<summary>
|
|
Read quoted string
|
|
</summary>
|
|
<returns>string if current character (in buffer) is a quote; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadToEnd(System.String)">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadToEnd">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadToEnd(System.Char)">
|
|
<summary>
|
|
Read to end of buffer, or until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Delimiter to find.</param>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadUntil(System.Char)">
|
|
<summary>
|
|
Will read until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Character to stop at.</param>
|
|
<returns>A string if the delimiter was found; otherwise <c>null</c>.</returns>
|
|
<remarks>
|
|
Will trim away spaces and tabs from the end.
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadUntil(System.String)">
|
|
<summary>
|
|
Read until one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>A string if one of the delimiters was found; otherwise <c>null</c>.</returns>
|
|
<remarks>
|
|
Will trim away spaces and tabs from the end.
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.ITextReader.ReadWord">
|
|
<summary>
|
|
Read until a horizontal white space occurs.
|
|
</summary>
|
|
<returns>A string if a white space was found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.Current">
|
|
<summary>
|
|
Gets current character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.EOF">
|
|
<summary>
|
|
Gets if end of buffer have been reached
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.HasMore">
|
|
<summary>
|
|
Gets if more bytes can be processed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.Index">
|
|
<summary>
|
|
Gets or sets current position in buffer.
|
|
</summary>
|
|
<remarks>
|
|
THINK before you manually change the position since it can blow up
|
|
the whole parsing in your face.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.Length">
|
|
<summary>
|
|
Gets total length of buffer.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.LineNumber">
|
|
<summary>
|
|
Gets or sets line number.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.Peek">
|
|
<summary>
|
|
Gets next character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.ITextReader.RemainingLength">
|
|
<summary>
|
|
Gets number of bytes left.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.LogFactory">
|
|
<summary>
|
|
Factory is used to create new logs in the system.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFactory.Assign(HttpServer.Logging.ILogFactory)">
|
|
<summary>
|
|
Assigns log factory being used.
|
|
</summary>
|
|
<param name="logFactory">The log factory.</param>
|
|
<exception cref="T:System.InvalidOperationException">A factory have already been assigned.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.LogFactory.CreateLogger(System.Type)">
|
|
<summary>
|
|
Create a new logger.
|
|
</summary>
|
|
<param name="type">Type that requested a logger.</param>
|
|
<returns>Logger for the specified type;</returns>
|
|
</member>
|
|
<member name="T:HttpServer.ComponentAttribute">
|
|
<summary>
|
|
Component that should be registered in the container.
|
|
</summary>
|
|
<remarks>
|
|
Register using all interfaces that is specified in this assembly.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.IAuthenticationProvider">
|
|
<summary>
|
|
Used to authenticate users
|
|
</summary>
|
|
<remarks>
|
|
Authentication is requested by throwing
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Request">
|
|
<summary>
|
|
Request implementation.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Request"/> class.
|
|
</summary>
|
|
<param name="method">The method.</param>
|
|
<param name="path">The path.</param>
|
|
<param name="version">The version.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.Get``1(System.String)">
|
|
<summary>
|
|
Get a header
|
|
</summary>
|
|
<typeparam name="T">Type that it should be cast to</typeparam>
|
|
<param name="headerName">Name of header</param>
|
|
<returns>Header if found and casted properly; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.Add(System.String,HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<param name="value"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.Add(HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="header">Header to add.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Request.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Item(System.String)">
|
|
<summary>
|
|
Gets a header.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Uri">
|
|
<summary>
|
|
Gets request URI.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Cookies">
|
|
<summary>
|
|
Gets cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Files">
|
|
<summary>
|
|
Gets all uploaded files.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Parameters">
|
|
<summary>
|
|
Gets query string and form parameters
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Form">
|
|
<summary>
|
|
Gets form parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.QueryString">
|
|
<summary>
|
|
Gets query string.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.IsAjax">
|
|
<summary>
|
|
Gets if request is an Ajax request.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Connection">
|
|
<summary>
|
|
Gets or sets connection header.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.HttpVersion">
|
|
<summary>
|
|
Gets or sets HTTP version.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Method">
|
|
<summary>
|
|
Gets or sets HTTP method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.HttpServer#IRequest#Uri">
|
|
<summary>
|
|
Gets requested URI.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.ContentType">
|
|
<summary>
|
|
Kind of content in the body
|
|
</summary>
|
|
<remarks>Default is <c>text/html</c></remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Encoding">
|
|
<summary>
|
|
Gets or sets encoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Headers">
|
|
<summary>
|
|
Gets headers.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.Body">
|
|
<summary>
|
|
Gets body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Request.ContentLength">
|
|
<summary>
|
|
Size of the body. MUST be specified before sending the header,
|
|
unless property Chunked is set to <c>true</c>.
|
|
</summary>
|
|
<value>
|
|
Any specifically assigned value or Body stream length.
|
|
</value>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.HeaderEventArgs">
|
|
<summary>
|
|
Event arguments used when a new header have been parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HeaderEventArgs.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.HeaderEventArgs"/> class.
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="value">Header value.</param>
|
|
<exception cref="T:System.ArgumentException">Name cannot be empty</exception>
|
|
<exception cref="T:System.ArgumentNullException"><c>value</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.HeaderEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.HeaderEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.HeaderEventArgs.Name">
|
|
<summary>
|
|
Gets or sets header name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.HeaderEventArgs.Value">
|
|
<summary>
|
|
Gets or sets header value.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ParameterCollection">
|
|
<summary>
|
|
Collection of parameters.
|
|
</summary>
|
|
<remarks>
|
|
<see cref="T:System.Collections.Generic.Dictionary`2"/> or <see cref="T:System.Collections.Specialized.NameValueCollection"/> is not used since each parameter can
|
|
have multiple values.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.#ctor(HttpServer.IParameterCollection[])">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ParameterCollection"/> class.
|
|
</summary>
|
|
<param name="collections">Collections to merge.</param>
|
|
<remarks>
|
|
Later collections will overwrite parameters from earlier collections.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ParameterCollection"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.GetArrayNames">
|
|
<summary>
|
|
Get a list of string arrays.
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.GetParameters(System.String)">
|
|
<summary>
|
|
Get parameters
|
|
</summary>
|
|
<param name="arrayName">Sub array (text array)</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.Get(System.String)">
|
|
<summary>
|
|
Get a parameter.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a query string parameter.
|
|
</summary>
|
|
<param name="name">Parameter name</param>
|
|
<param name="value">Value</param>
|
|
</member>
|
|
<member name="M:HttpServer.ParameterCollection.Exists(System.String)">
|
|
<summary>
|
|
Checks if the specified parameter exists
|
|
</summary>
|
|
<param name="name">Parameter name.</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>;</returns>
|
|
</member>
|
|
<member name="P:HttpServer.ParameterCollection.Count">
|
|
<summary>
|
|
Gets number of parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ParameterCollection.Item(System.String)">
|
|
<summary>
|
|
Gets last value of an parameter.
|
|
</summary>
|
|
<param name="name">Parameter name</param>
|
|
<returns>String if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.StringParser">
|
|
<summary>
|
|
Parses <see cref="T:HttpServer.Headers.StringHeader"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.StringParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.NumericHeaderParser">
|
|
<summary>
|
|
Parses numerical values
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.NumericHeaderParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.Parsers.ContentTypeParser">
|
|
<summary>
|
|
Parses <see cref="T:HttpServer.Headers.ContentTypeHeader"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.Parsers.ContentTypeParser.Parse(System.String,HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse a header
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="reader">Reader containing value.</param>
|
|
<returns>HTTP Header</returns>
|
|
<exception cref="T:System.FormatException">Header value is not of the expected format.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.NotFoundException">
|
|
<summary>
|
|
Request couldn't be parsed successfully.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.NotFoundException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.BadRequestException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
</member>
|
|
<member name="M:HttpServer.NotFoundException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.BadRequestException"/> class.
|
|
</summary>
|
|
<param name="errMsg">Exception description.</param>
|
|
<param name="inner">Exception description.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.BasicAuthentication">
|
|
<summary>
|
|
Implements basic authentication scheme.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.CreateChallenge(System.String)">
|
|
<summary>
|
|
Create a response that can be sent in the WWW-Authenticate header.
|
|
</summary>
|
|
<param name="realm">Realm that the user should authenticate in</param>
|
|
<param name="options">Not used by basic authentication</param>
|
|
<returns>A WWW-Authenticate header.</returns>
|
|
<exception cref="T:System.ArgumentNullException">Argument is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(HttpServer.Headers.AuthorizationHeader,System.String,System.String)">
|
|
<summary>
|
|
An authentication response have been received from the web browser.
|
|
Check if it's correct
|
|
</summary>
|
|
<param name="header">Authorization header</param>
|
|
<param name="realm">Realm that should be authenticated</param>
|
|
<param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
|
|
<returns>Authentication object that is stored for the request. A user class or something like that.</returns>
|
|
<exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
|
|
<exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.BasicAuthentication.Scheme">
|
|
<summary>
|
|
Gets authenticator scheme
|
|
</summary>
|
|
<value></value>
|
|
<example>
|
|
digest
|
|
</example>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.BufferReader">
|
|
<summary>
|
|
Reads strings from a byte array.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.BufferReader"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.#ctor(System.Text.Encoding)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.BufferReader"/> class.
|
|
</summary>
|
|
<param name="encoding">Encoding to use when converting byte array to strings.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.#ctor(System.Byte[],System.Text.Encoding)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.BufferReader"/> class.
|
|
</summary>
|
|
<param name="buffer">Buffer to read from.</param>
|
|
<param name="encoding">Encoding to use when converting byte array to strings.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Assign(System.Object,System.Int32,System.Int32)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process.</param>
|
|
<param name="offset">Where to start process buffer</param>
|
|
<param name="count">Buffer length</param>
|
|
<exception cref="T:System.ArgumentException">Buffer needs to be a byte array</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Assign(System.Object)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process</param>
|
|
<exception cref="T:System.ArgumentException">Buffer needs to be a byte array</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Consume">
|
|
<summary>
|
|
Consume current character.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadLine">
|
|
<summary>
|
|
Get a text line.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>Will merge multi line headers.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadQuotedString">
|
|
<summary>
|
|
Read quoted string
|
|
</summary>
|
|
<returns>string if current character (in buffer) is a quote; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadToEnd(System.String)">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>
|
|
A string (can be <see cref="F:System.String.Empty"/>).
|
|
</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadToEnd">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadToEnd(System.Char)">
|
|
<summary>
|
|
Read to end of buffer, or until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Delimiter to find.</param>
|
|
<returns>
|
|
A string (can be <see cref="F:System.String.Empty"/>).
|
|
</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Consume(System.Char[])">
|
|
<summary>
|
|
Consume specified characters
|
|
</summary>
|
|
<param name="chars">One or more characters.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ConsumeWhiteSpaces">
|
|
<summary>
|
|
Consumes horizontal white spaces (space and tab).
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ConsumeWhiteSpaces(System.Char)">
|
|
<summary>
|
|
Consume horizontal white spaces and the specified character.
|
|
</summary>
|
|
<param name="extraCharacter">Extra character to consume</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Read">
|
|
<summary>
|
|
Read a character.
|
|
</summary>
|
|
<returns>
|
|
Character if not EOF; otherwise <c>null</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadUntil(System.Char)">
|
|
<summary>
|
|
Will read until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Character to stop at.</param>
|
|
<returns>
|
|
A string if the delimiter was found; otherwise <c>null</c>.
|
|
</returns>
|
|
<remarks>
|
|
Will trim away spaces and tabs from the end.</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadUntil(System.String)">
|
|
<summary>
|
|
Read until one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>
|
|
A string if one of the delimiters was found; otherwise <c>null</c>.
|
|
</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.ReadWord">
|
|
<summary>
|
|
Read until a horizontal white space occurs.
|
|
</summary>
|
|
<returns>A string if a white space was found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.BufferReader.Contains(System.Char)">
|
|
<summary>
|
|
Checks if one of the remaining bytes are a specified character.
|
|
</summary>
|
|
<param name="ch">Character to find.</param>
|
|
<returns>
|
|
<c>true</c> if found; otherwise <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.LineNumber">
|
|
<summary>
|
|
Gets or sets line number.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.EOF">
|
|
<summary>
|
|
Gets if end of buffer have been reached
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.HasMore">
|
|
<summary>
|
|
Gets if more bytes can be processed.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.Peek">
|
|
<summary>
|
|
Gets next character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.Current">
|
|
<summary>
|
|
Gets current character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.Index">
|
|
<summary>
|
|
Gets or sets current position in buffer.
|
|
</summary>
|
|
<remarks>
|
|
THINK before you manually change the position since it can blow up
|
|
the whole parsing in your face.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.Length">
|
|
<summary>
|
|
Gets total length of buffer.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.BufferReader.RemainingLength">
|
|
<summary>
|
|
Gets number of bytes left.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IResponse">
|
|
<summary>
|
|
Response to a request.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IResponse.Redirect(System.String)">
|
|
<summary>
|
|
Redirect user.
|
|
</summary>
|
|
<param name="uri">Where to redirect to.</param>
|
|
<remarks>
|
|
Any modifications after a redirect will be ignored.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.Connection">
|
|
<summary>
|
|
Gets connection type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.Cookies">
|
|
<summary>
|
|
Gets cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.HttpVersion">
|
|
<summary>
|
|
Gets HTTP version.
|
|
</summary>
|
|
<remarks>
|
|
Default is HTTP/1.1
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.Reason">
|
|
<summary>
|
|
Information about why a specific status code was used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.Status">
|
|
<summary>
|
|
Status code that is sent to the client.
|
|
</summary>
|
|
<remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IResponse.ContentType">
|
|
<summary>
|
|
Gets or sets content type
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RequestContext">
|
|
<summary>
|
|
Request context
|
|
</summary>
|
|
<remarks>
|
|
Contains information about a HTTP request and where it came from.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.RequestContext.HttpContext">
|
|
<summary>
|
|
Gets or sets http context.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestContext.Request">
|
|
<summary>
|
|
Gets or sets http request.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestContext.Response">
|
|
<summary>
|
|
Gets or sets http response.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.NumericHeader">
|
|
<summary>
|
|
Contains numerical value.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.NumericHeader.#ctor(System.String,System.Int64)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Headers.NumericHeader"/> class.
|
|
</summary>
|
|
<param name="name">The name.</param>
|
|
<param name="value">The value.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.NumericHeader.ToString">
|
|
<summary>
|
|
Returns data formatted as a HTTP header value.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.NumericHeader.Value">
|
|
<summary>
|
|
Gets value
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.NumericHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ArrayParameterCollection">
|
|
<summary>
|
|
Form parameters where form string arrays have been converted to real arrays.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ArrayParameterCollection"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ArrayParameterCollection"/> class.
|
|
</summary>
|
|
<param name="name">The name.</param>
|
|
<param name="value">The value.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.#ctor(System.Collections.Generic.IEnumerable{HttpServer.IParameter})">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ArrayParameterCollection"/> class.
|
|
</summary>
|
|
<param name="collection">Parse parameters from the this collection.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.Get(System.String)">
|
|
<summary>
|
|
Get a parameter.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a parameter
|
|
</summary>
|
|
<param name="name">Name of parameter, can contain a string array.</param>
|
|
<param name="value">Value</param>
|
|
<example>
|
|
<code>
|
|
ArrayParameterCollection array = new ArrayParameterCollection();
|
|
array.Add("user[FirstName]", "Jonas");
|
|
array.Add("user[FirstName]", "Arne");
|
|
string firstName = array["user"]["FirstName"].Value; // "Arne" is returned
|
|
foreach (string value in array["user"]["FirstName"])
|
|
Console.WriteLine(value); // each name is displayed.
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.Exists(System.String)">
|
|
<summary>
|
|
Checks if the specified parameter exists
|
|
</summary>
|
|
<param name="name">Parameter name.</param>
|
|
<returns><c>true</c> if found; otherwise <c>false</c>;</returns>
|
|
</member>
|
|
<member name="M:HttpServer.ArrayParameterCollection.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.ArrayParameterCollection.Item(System.String)">
|
|
<summary>
|
|
Gets first value of an item.
|
|
</summary>
|
|
<value></value>
|
|
<returns>String if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.ArrayParameterCollection.Count">
|
|
<summary>
|
|
Gets number of parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ArrayParameterCollection.HttpServer#IParameterCollection#Item(System.String)">
|
|
<summary>
|
|
Gets last value of an parameter.
|
|
</summary>
|
|
<param name="name">Parameter name</param>
|
|
<returns>String if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.PropertyAssigner">
|
|
<summary>
|
|
Assign properties from HTTP parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.PropertyAssigner.SetFilterHandler(HttpServer.Helpers.FilterHandler)">
|
|
<summary>
|
|
Used to filter out properties.
|
|
</summary>
|
|
<param name="handler">Filter handler.</param>
|
|
<exception cref="T:System.InvalidOperationException">Handler have already been set.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.PropertyAssigner.Assign(System.Object,HttpServer.IParameterCollection)">
|
|
<summary>
|
|
Assign properties in the specified object.
|
|
</summary>
|
|
<param name="instance">Object to fill.</param>
|
|
<param name="parameters">Contains all parameters that should be assigned to the properties.</param>
|
|
<exception cref="T:HttpServer.Helpers.PropertyException">Properties was not found or value could not be converted.</exception>
|
|
<exception cref="T:System.ArgumentNullException">Any parameter is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.FilterHandler">
|
|
<summary>
|
|
Used to be able to filter properties
|
|
</summary>
|
|
<param name="instance">Model having it's properties assigned</param>
|
|
<param name="propertyName">Property about to be assigned</param>
|
|
<param name="propertyValue">Value to assign</param>
|
|
<returns><c>true</c> if value can be set; otherwise <c>false</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.PropertyException">
|
|
<summary>
|
|
Failed to assign properties.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.PropertyException.#ctor(System.Collections.Generic.Dictionary{System.String,System.Exception})">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.PropertyException"/> class.
|
|
</summary>
|
|
<param name="propertyErrors">The property errors.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.PropertyException.PropertyErrors">
|
|
<summary>
|
|
Gets all errors during assignment.
|
|
</summary>
|
|
<remarks>
|
|
Dictionary key is property name.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Tools.StringReader">
|
|
<summary>
|
|
Used to read from a string object.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.StringReader"/> class.
|
|
</summary>
|
|
<param name="buffer">Buffer to process.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Tools.StringReader"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Assign(System.Object,System.Int32,System.Int32)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process.</param>
|
|
<param name="offset">Where to start process buffer</param>
|
|
<param name="count">Buffer length</param>
|
|
<remarks><paramref name="buffer"/> MUST be of type <see cref="T:System.String"/>.</remarks>
|
|
<exception cref="T:System.ArgumentException">buffer needs to be of type string</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Assign(System.Object)">
|
|
<summary>
|
|
Assign a new buffer
|
|
</summary>
|
|
<param name="buffer">Buffer to process</param>
|
|
<remarks><paramref name="buffer"/> MUST be of type <see cref="T:System.String"/>.</remarks>
|
|
<exception cref="T:System.ArgumentException">buffer needs to be of type string</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Consume">
|
|
<summary>
|
|
Consume current character.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadLine">
|
|
<summary>
|
|
Get a text line.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>Will merge multiline headers.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadQuotedString">
|
|
<summary>
|
|
Read quoted string
|
|
</summary>
|
|
<returns>string if current character (in buffer) is a quote; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadToEnd(System.String)">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadToEnd">
|
|
<summary>
|
|
Read until end of string, or to one of the delimiters are found.
|
|
</summary>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadToEnd(System.Char)">
|
|
<summary>
|
|
Read to end of buffer, or until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Delimiter to find.</param>
|
|
<returns>A string (can be <see cref="F:System.String.Empty"/>).</returns>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Consume(System.Char[])">
|
|
<summary>
|
|
Consume specified characters
|
|
</summary>
|
|
<param name="chars">One or more characters.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ConsumeWhiteSpaces">
|
|
<summary>
|
|
Consumes horizontal white spaces (space and tab).
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Read">
|
|
<summary>
|
|
Read a character.
|
|
</summary>
|
|
<returns>
|
|
Character if not EOF; otherwise <c>null</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadUntil(System.Char)">
|
|
<summary>
|
|
Will read until specified delimiter is found.
|
|
</summary>
|
|
<param name="delimiter">Character to stop at.</param>
|
|
<returns>
|
|
A string if the delimiter was found; otherwise <c>null</c>.
|
|
</returns>
|
|
<remarks>
|
|
Will trim away spaces and tabs from the end.
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadUntil(System.String)">
|
|
<summary>
|
|
Read until one of the delimiters are found.
|
|
</summary>
|
|
<param name="delimiters">characters to stop at</param>
|
|
<returns>
|
|
A string if one of the delimiters was found; otherwise <c>null</c>.
|
|
</returns>
|
|
<remarks>
|
|
Will not consume the delimiter.
|
|
</remarks>
|
|
<exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ReadWord">
|
|
<summary>
|
|
Read until a horizontal white space occurs (or end, or end of line).
|
|
</summary>
|
|
<returns>
|
|
A string if a white space was found; otherwise <c>null</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.ConsumeWhiteSpaces(System.Char)">
|
|
<summary>
|
|
Consume horizontal white spaces and the specified character.
|
|
</summary>
|
|
<param name="extraCharacter">Extra character to consume</param>
|
|
</member>
|
|
<member name="M:HttpServer.Tools.StringReader.Contains(System.Char)">
|
|
<summary>
|
|
Checks if one of the remaining bytes are a specified character.
|
|
</summary>
|
|
<param name="ch">Character to find.</param>
|
|
<returns>
|
|
<c>true</c> if found; otherwise <c>false</c>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.LineNumber">
|
|
<summary>
|
|
Gets or sets line number.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.EOF">
|
|
<summary>
|
|
Gets if end of buffer have been reached
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.HasMore">
|
|
<summary>
|
|
Gets if more bytes can be processed.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.Peek">
|
|
<summary>
|
|
Gets next character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.Current">
|
|
<summary>
|
|
Gets current character
|
|
</summary>
|
|
<value><see cref="F:System.Char.MinValue"/> if end of buffer.</value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.Index">
|
|
<summary>
|
|
Gets or sets current position in buffer.
|
|
</summary>
|
|
<remarks>
|
|
THINK before you manually change the position since it can blow up
|
|
the whole parsing in your face.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.Length">
|
|
<summary>
|
|
Gets total length of buffer.
|
|
</summary>
|
|
<value></value>
|
|
</member>
|
|
<member name="P:HttpServer.Tools.StringReader.RemainingLength">
|
|
<summary>
|
|
Gets number of bytes left.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.NullLogWriter">
|
|
<summary>
|
|
Default log writer, writes everything to void (nowhere).
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Logging.ILogger"/>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.NullLogWriter.Instance">
|
|
<summary>
|
|
The logging instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Debug(System.String)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Debug(System.String,System.Exception)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Trace(System.String)">
|
|
<summary>
|
|
Write a entry needed when following through code during hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Trace(System.String,System.Exception)">
|
|
<summary>
|
|
Write a entry that helps when trying to find hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Info(System.String)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Info(System.String,System.Exception)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Warning(System.String)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Warning(System.String,System.Exception)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Error(System.String)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Error(System.String,System.Exception)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Fatal(System.String)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.NullLogWriter.Fatal(System.String,System.Exception)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.LogLevel">
|
|
<summary>
|
|
Priority for log entries
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Logging.ILogger"/>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Trace">
|
|
<summary>
|
|
Very detailed logs to be able to follow the flow of the program.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Debug">
|
|
<summary>
|
|
Logs to help debug errors in the application
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Info">
|
|
<summary>
|
|
Information to be able to keep track of state changes etc.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Warning">
|
|
<summary>
|
|
Something did not go as we expected, but it's no problem.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Error">
|
|
<summary>
|
|
Something that should not fail failed, but we can still keep
|
|
on going.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Logging.LogLevel.Fatal">
|
|
<summary>
|
|
Something failed, and we cannot handle it properly.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Logging.ConsoleLogger">
|
|
<summary>
|
|
This class writes to the console.
|
|
</summary>
|
|
<remarks>
|
|
It colors the output depending on the log level
|
|
and includes a 3-level stack trace (in debug mode)
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.Logging.ILogger"/>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.#ctor(System.Type,HttpServer.Logging.ILogFilter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Logging.ConsoleLogger"/> class.
|
|
</summary>
|
|
<param name="loggingType">Type being logged.</param>
|
|
<param name="filter">Log filter.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.GetColor(HttpServer.Logging.LogLevel)">
|
|
<summary>
|
|
Get color for the specified log level
|
|
</summary>
|
|
<param name="level">Level for the log entry</param>
|
|
<returns>A <see cref="T:System.ConsoleColor"/> for the level</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Write(HttpServer.Logging.LogLevel,System.String)">
|
|
<summary>
|
|
Write an entry
|
|
</summary>
|
|
<param name="level">Importance of the log message</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Debug(System.String)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Debug(System.String,System.Exception)">
|
|
<summary>
|
|
Write an entry that helps when debugging code.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Trace(System.String)">
|
|
<summary>
|
|
Write a entry needed when following through code during hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Trace(System.String,System.Exception)">
|
|
<summary>
|
|
Write a entry that helps when trying to find hard to find bugs.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Info(System.String)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Info(System.String,System.Exception)">
|
|
<summary>
|
|
Informational message, needed when helping customer to find a problem.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Warning(System.String)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Warning(System.String,System.Exception)">
|
|
<summary>
|
|
Something is not as we expect, but the code can continue to run without any changes.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Error(System.String)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Error(System.String,System.Exception)">
|
|
<summary>
|
|
Something went wrong, but the application do not need to die. The current thread/request
|
|
cannot continue as expected.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Fatal(System.String)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.Logging.ConsoleLogger.Fatal(System.String,System.Exception)">
|
|
<summary>
|
|
Something went very wrong, application might not recover.
|
|
</summary>
|
|
<param name="message">Log message</param>
|
|
<param name="exception">Thrown exception to log.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Logging.ConsoleLogger.LoggingType">
|
|
<summary>
|
|
Gets or sets type that the logger is for
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpContext">
|
|
<summary>
|
|
A HTTP context
|
|
</summary>
|
|
<remarks>
|
|
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpContext">
|
|
<summary>
|
|
Context that received a HTTP request.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpContext.Disconnect">
|
|
<summary>
|
|
Disconnect context.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.IsSecure">
|
|
<summary>
|
|
Gets if current context is using a secure connection.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.Logger">
|
|
<summary>
|
|
Gets logger.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.RemoteEndPoint">
|
|
<summary>
|
|
Gets remote end point
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.Stream">
|
|
<summary>
|
|
Gets stream used to send/receive data to/from remote end point.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
The stream can be any type of stream, do not assume that it's a network
|
|
stream. For instance, it can be a <see cref="T:System.Net.Security.SslStream"/> or a ZipStream.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.Request">
|
|
<summary>
|
|
Gets the currently handled request
|
|
</summary>
|
|
<value>The request.</value>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpContext.Response">
|
|
<summary>
|
|
Gets the response that is going to be sent back
|
|
</summary>
|
|
<value>The response.</value>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.#ctor(System.Net.Sockets.Socket,HttpServer.Messages.MessageFactoryContext)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpContext"/> class.
|
|
</summary>
|
|
<param name="socket">Socket received from HTTP listener.</param>
|
|
<param name="context">Context used to parse incoming messages.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.Dispose">
|
|
<summary>
|
|
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
|
</summary>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.Disconnect">
|
|
<summary>
|
|
Disconnect context.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.Close">
|
|
<summary>
|
|
Close and release socket.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.CreateStream(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create stream used to send and receive bytes from the socket.
|
|
</summary>
|
|
<param name="socket">Socket to wrap</param>
|
|
<returns>Stream</returns>
|
|
<exception cref="T:System.InvalidOperationException">Stream could not be created.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.OnReceive(System.IAsyncResult)">
|
|
<summary>
|
|
Interpret incoming data.
|
|
</summary>
|
|
<param name="ar"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.OnRequest(System.Object,HttpServer.Messages.FactoryRequestEventArgs)">
|
|
<summary>
|
|
A request was received from the parser.
|
|
</summary>
|
|
<param name="sender"></param>
|
|
<param name="e"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.ParseBuffer(System.Int32)">
|
|
<summary>
|
|
Parse all complete requests in buffer.
|
|
</summary>
|
|
<param name="bytesLeft"></param>
|
|
<returns>offset in buffer where parsing stopped.</returns>
|
|
<exception cref="T:System.InvalidOperationException">Parsing failed.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContext.Start">
|
|
<summary>
|
|
Start content.
|
|
</summary>
|
|
<exception cref="T:System.Net.Sockets.SocketException">A socket operation failed.</exception>
|
|
<exception cref="T:System.IO.IOException">Reading from stream failed.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Current">
|
|
<summary>
|
|
Gets currently executing HTTP context.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.HttpFactory">
|
|
<summary>
|
|
Gets or sets description
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.MessageFactoryContext">
|
|
<summary>
|
|
gets factory used to build request objects
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Socket">
|
|
<summary>
|
|
Gets socket
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.RemoteEndPoint">
|
|
<summary>
|
|
Gets remove end point
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Stream">
|
|
<summary>
|
|
Gets network stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Request">
|
|
<summary>
|
|
Gets the currently handled request
|
|
</summary>
|
|
<value>The request.</value>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Response">
|
|
<summary>
|
|
Gets the response that is going to be sent back
|
|
</summary>
|
|
<value>The response.</value>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.Logger">
|
|
<summary>
|
|
Gets logger.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContext.IsSecure">
|
|
<summary>
|
|
Gets if current context is using a secure connection.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.CurrentRequestCompleted">
|
|
<summary>
|
|
Triggered for all requests in the server (after the response have been sent)
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.RequestCompleted">
|
|
<summary>
|
|
Triggered for current request (after the response have been sent)
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.RequestReceived">
|
|
<summary>
|
|
A new request have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.CurrentRequestReceived">
|
|
<summary>
|
|
A new request have been received (invoked for ALL requests)
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.Disconnected">
|
|
<summary>
|
|
Client have been disconnected.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContext.ContinueResponseRequested">
|
|
<summary>
|
|
Client asks if he may continue.
|
|
</summary>
|
|
<remarks>
|
|
If the body is too large or anything like that you should respond <see cref="F:System.Net.HttpStatusCode.ExpectationFailed"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.SecureHttpContext.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols,System.Net.Sockets.Socket,HttpServer.Messages.MessageFactoryContext)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.SecureHttpContext"/> class.
|
|
</summary>
|
|
<param name="protocols">SSL protocol to use.</param>
|
|
<param name="socket">The socket.</param>
|
|
<param name="context">The context.</param>
|
|
<param name="certificate">Server certificate to use.</param>
|
|
</member>
|
|
<member name="M:HttpServer.SecureHttpContext.CreateStream(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create stream used to send and receive bytes from the socket.
|
|
</summary>
|
|
<param name="socket">Socket to wrap</param>
|
|
<returns>Stream</returns>
|
|
<exception cref="T:System.InvalidOperationException">Stream could not be created.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpContext.ClientCertificate">
|
|
<summary>
|
|
Gets or sets client certificate.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpContext.Protocol">
|
|
<summary>
|
|
Gets used protocol.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.SecureHttpContext.UseClientCertificate">
|
|
<summary>
|
|
Gets or sets if client certificate should be used instead of server certificate.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Resources.Resource">
|
|
<summary>
|
|
Resource information.
|
|
</summary>
|
|
<remarks>
|
|
Used by content providers to be able to get information
|
|
on resources (views, files etc).
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.Resource.ModifiedAt">
|
|
<summary>
|
|
Gets or sets date when resource was modified.
|
|
</summary>
|
|
<value>
|
|
<see cref="F:System.DateTime.MinValue"/> if not used.
|
|
</value>
|
|
<remarks>
|
|
Should always be universal time.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Resources.Resource.Stream">
|
|
<summary>
|
|
Gets or sets resource stream.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.HeaderParameterCollection">
|
|
<summary>
|
|
Contains parameters for HTTP headers.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderParameterCollection.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a parameter
|
|
</summary>
|
|
<param name="name">name</param>
|
|
<param name="value">value</param>
|
|
<remarks>
|
|
Existing parameter with the same name will be replaced.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderParameterCollection.Parse(HttpServer.Tools.ITextReader)">
|
|
<summary>
|
|
Parse parameters.
|
|
</summary>
|
|
<param name="reader">Parser containing buffer to parse.</param>
|
|
<returns>A collection with all parameters (or just a empty collection).</returns>
|
|
<exception cref="T:System.FormatException">Expected a value after equal sign.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderParameterCollection.Parse(HttpServer.Tools.ITextReader,System.Char)">
|
|
<summary>
|
|
Parse parameters.
|
|
</summary>
|
|
<param name="reader">Parser containing buffer to parse.</param>
|
|
<param name="delimiter">Parameter delimiter</param>
|
|
<returns>A collection with all parameters (or just a empty collection).</returns>
|
|
<exception cref="T:System.FormatException">Expected a value after equal sign.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Headers.HeaderParameterCollection.ToString">
|
|
<summary>
|
|
Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.HeaderParameterCollection.Item(System.String)">
|
|
<summary>
|
|
Gets or sets a value
|
|
</summary>
|
|
<param name="name">parameter name</param>
|
|
<returns>value if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Response">
|
|
<summary>
|
|
Create a HTTP response object.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.#ctor(System.String,System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Response"/> class.
|
|
</summary>
|
|
<param name="version">HTTP Version.</param>
|
|
<param name="code">HTTP status code.</param>
|
|
<param name="reason">Why the status code was selected.</param>
|
|
<exception cref="T:System.FormatException">Version must start with 'HTTP/'</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.#ctor(HttpServer.IHttpContext,HttpServer.IRequest)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Response"/> class.
|
|
</summary>
|
|
<param name="context">Context that the response will be sent through.</param>
|
|
<param name="request">Request that the response is for.</param>
|
|
<exception cref="T:System.FormatException">Version must start with 'HTTP/'</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.Redirect(System.String)">
|
|
<summary>
|
|
Redirect user.
|
|
</summary>
|
|
<param name="uri">Where to redirect to.</param>
|
|
<remarks>
|
|
Any modifications after a redirect will be ignored.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.Add(System.String,HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<param name="value"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.Add(HttpServer.Headers.IHeader)">
|
|
<summary>
|
|
Add a new header.
|
|
</summary>
|
|
<param name="header">Header to add.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through the collection.
|
|
</summary>
|
|
<returns>
|
|
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>1</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Response.System#Collections#IEnumerable#GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Item(System.String)">
|
|
<summary>
|
|
Gets a header.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Connection">
|
|
<summary>
|
|
Gets connection type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Status">
|
|
<summary>
|
|
Status code that is sent to the client.
|
|
</summary>
|
|
<remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.HttpVersion">
|
|
<summary>
|
|
Gets HTTP version.
|
|
</summary>
|
|
<remarks>
|
|
Default is HTTP/1.1
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Reason">
|
|
<summary>
|
|
Information about why a specific status code was used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.ContentLength">
|
|
<summary>
|
|
Size of the body. MUST be specified before sending the header,
|
|
unless property Chunked is set to <c>true</c>.
|
|
</summary>
|
|
<value>
|
|
Any specifically assigned value or Body stream length.
|
|
</value>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.ContentType">
|
|
<summary>
|
|
Kind of content in the body
|
|
</summary>
|
|
<remarks>Default is <c>text/html</c></remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Encoding">
|
|
<summary>
|
|
Gets or sets encoding
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Cookies">
|
|
<summary>
|
|
Gets cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Body">
|
|
<summary>
|
|
Gets body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Response.Headers">
|
|
<summary>
|
|
Gets headers.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.Parser.RequestEventArgs">
|
|
<summary>
|
|
A request have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.Parser.RequestEventArgs.#ctor(HttpServer.IRequest,System.Net.EndPoint)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Messages.Parser.RequestEventArgs"/> class.
|
|
</summary>
|
|
<param name="request">The request.</param>
|
|
<param name="endPoint">End point that the request was received from.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.RequestEventArgs.RemoteEndPoint">
|
|
<summary>
|
|
End point that the message was received from.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.Parser.RequestEventArgs.Request">
|
|
<summary>
|
|
Received request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Routing.RegExRouter">
|
|
<summary>
|
|
Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules
|
|
a regular expression can be used to identify redirect URLs and their targets.
|
|
</summary>
|
|
<example>
|
|
<![CDATA[
|
|
new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}/?find=true", RegexOptions.IgnoreCase)
|
|
]]>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.RegExRouter.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Routing.RegExRouter"/> class.
|
|
</summary>
|
|
<param name="fromUrlExpression">Expression to match URL</param>
|
|
<param name="toUrlExpression">Expression to generate URL</param>
|
|
<example>
|
|
<![CDATA[
|
|
server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}"));
|
|
Result of ie. /employee1 will then be /user/employee1
|
|
]]>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.RegExRouter.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Routing.RegExRouter"/> class.
|
|
</summary>
|
|
<param name="fromUrlExpression">Expression to match URL</param>
|
|
<param name="toUrlExpression">Expression to generate URL</param>
|
|
<param name="options">Regular expression options to use, can be <c>null</c></param>
|
|
<example>
|
|
<![CDATA[
|
|
server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase));
|
|
Result of ie. /employee1 will then be /user/employee1
|
|
]]>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.RegExRouter.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Routing.RegExRouter"/> class.
|
|
</summary>
|
|
<param name="fromUrlExpression">Expression to match URL</param>
|
|
<param name="toUrlExpression">Expression to generate URL</param>
|
|
<param name="options">Regular expression options to apply</param>
|
|
<param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param>
|
|
<example>
|
|
<![CDATA[
|
|
server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None));
|
|
Result of ie. /employee1 will then be /user/employee1
|
|
]]>
|
|
</example>
|
|
<exception cref="T:System.ArgumentNullException">Argument is <c>null</c>.</exception>
|
|
<seealso cref="P:HttpServer.Routing.SimpleRouter.ShouldRedirect"/>
|
|
</member>
|
|
<member name="M:HttpServer.Routing.RegExRouter.Process(HttpServer.RequestContext)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="context">Request context.</param>
|
|
<returns>Processing result.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Messages.ResponseCookie">
|
|
<summary>
|
|
cookie being sent back to the browser.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Messages.ResponseCookie"/>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookie.#ctor(System.String,System.String,System.DateTime)">
|
|
<summary>
|
|
Constructor.
|
|
</summary>
|
|
<param name="id">cookie identifier</param>
|
|
<param name="content">cookie content</param>
|
|
<param name="expiresAt">cookie expiration date. Use <see cref="F:System.DateTime.MinValue"/> for session cookie.</param>
|
|
<exception cref="T:System.ArgumentNullException">id or content is <c>null</c></exception>
|
|
<exception cref="T:System.ArgumentException">id is empty</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)">
|
|
<summary>
|
|
Create a new cookie
|
|
</summary>
|
|
<param name="name">name identifying the cookie</param>
|
|
<param name="value">cookie value</param>
|
|
<param name="expires">when the cookie expires. Setting <see cref="F:System.DateTime.MinValue"/> will delete the cookie when the session is closed.</param>
|
|
<param name="path">Path to where the cookie is valid</param>
|
|
<param name="domain">Domain that the cookie is valid for.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookie.#ctor(HttpServer.Messages.RequestCookie,System.DateTime)">
|
|
<summary>
|
|
Create a new cookie
|
|
</summary>
|
|
<param name="cookie">Name and value will be used</param>
|
|
<param name="expires">when the cookie expires.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Messages.ResponseCookie.ToString">
|
|
<summary>
|
|
Gets the cookie HTML representation.
|
|
</summary>
|
|
<returns>cookie string</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.ResponseCookie.Expires">
|
|
<summary>
|
|
Gets when the cookie expires.
|
|
</summary>
|
|
<remarks><see cref="F:System.DateTime.MinValue"/> means that the cookie expires when the session do so.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Messages.ResponseCookie.Path">
|
|
<summary>
|
|
Gets path that the cookie is valid under.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Headers.CacheControlHeader">
|
|
<summary>
|
|
The Cache-Control general-header field is used to specify directives that
|
|
MUST be obeyed by all caching mechanisms along the request/response
|
|
chain. .
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
The directives specify behavior intended to prevent caches from adversely
|
|
interfering with the request or response. These directives typically
|
|
override the default caching algorithms. Cache directives are
|
|
unidirectional in that the presence of a directive in a request does not
|
|
imply that the same directive is to be given in the response.
|
|
</para><para>Note that HTTP/1.0 caches might not implement Cache-Control and
|
|
might only implement Pragma: no-cache (see section 14.32 in RFC2616).
|
|
</para><para>Cache directives MUST be passed through by a proxy or gateway
|
|
application, regardless of their significance to that application, since the
|
|
directives might be applicable to all recipients along the request/response
|
|
chain. It is not possible to specify a cache- directive for a specific cache
|
|
</para>
|
|
<para>
|
|
When a directive appears without any 1#field-name parameter, the
|
|
directive applies to the entire request or response. When such a
|
|
directive appears with a 1#field-name parameter, it applies only to
|
|
the named field or fields, and not to the rest of the request or
|
|
response. This mechanism supports extensibility; implementations of
|
|
future versions of the HTTP protocol might apply these directives to
|
|
header fields not defined in HTTP/1.1.
|
|
</para>
|
|
<para>
|
|
The cache-control directives can be broken down into these general
|
|
categories:
|
|
<list type="bullet">
|
|
<item>
|
|
Restrictions on what are cacheable; these may only be imposed by
|
|
the origin server.
|
|
</item><item>
|
|
Restrictions on what may be stored by a cache; these may be
|
|
imposed by either the origin server or the user agent.
|
|
</item><item>
|
|
Modifications of the basic expiration mechanism; these may be
|
|
imposed by either the origin server or the user agent.
|
|
</item><item>
|
|
Controls over cache revalidation and reload; these may only be
|
|
imposed by a user agent.
|
|
</item><item>
|
|
Control over transformation of entities.
|
|
</item><item>
|
|
Extensions to the caching system.
|
|
</item>
|
|
</list>
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Headers.CacheControlHeader.NAME">
|
|
<summary>
|
|
Header name
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Headers.CacheControlHeader.Name">
|
|
<summary>
|
|
Gets header name
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Modules.FileModule">
|
|
<summary>
|
|
Serves files in the web server.
|
|
</summary>
|
|
<example>
|
|
<code>
|
|
FileModule fileModule = new FileModule();
|
|
fileModule.Resources.Add(new FileResources("/", "C:\\inetpub\\myweb"));
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Modules.FileModule.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Modules.FileModule"/> class.
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException"><c>baseUri</c> or <c>basePath</c> is <c>null</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Modules.FileModule.AddDefaultMimeTypes">
|
|
<summary>
|
|
Mime types that this class can handle per default
|
|
</summary>
|
|
<remarks>
|
|
Contains the following mime types:
|
|
<list type="table">
|
|
<item><term><![CDATA[txt]]></term><value><![CDATA[text/plain]]></value></item>
|
|
<item><term><![CDATA[html]]></term><value><![CDATA[text/html]]></value></item>
|
|
<item><term><![CDATA[htm]]></term><value><![CDATA[text/html]]></value></item>
|
|
<item><term><![CDATA[jpg]]></term><value><![CDATA[image/jpg]]></value></item>
|
|
<item><term><![CDATA[jpeg]]></term><value><![CDATA[image/jpg]]></value></item>
|
|
<item><term><![CDATA[bmp]]></term><value><![CDATA[image/bmp]]></value></item>
|
|
<item><term><![CDATA[gif]]></term><value><![CDATA[image/gif]]></value></item>
|
|
<item><term><![CDATA[png]]></term><value><![CDATA[image/png]]></value></item>
|
|
<item><term><![CDATA[ico]]></term><value><![CDATA[image/vnd.microsoft.icon]]></value></item>
|
|
<item><term><![CDATA[css]]></term><value><![CDATA[text/css]]></value></item>
|
|
<item><term><![CDATA[gzip]]></term><value><![CDATA[application/x-gzip]]></value></item>
|
|
<item><term><![CDATA[zip]]></term><value><![CDATA[multipart/x-zip]]></value></item>
|
|
<item><term><![CDATA[tar]]></term><value><![CDATA[application/x-tar]]></value></item>
|
|
<item><term><![CDATA[pdf]]></term><value><![CDATA[application/pdf]]></value></item>
|
|
<item><term><![CDATA[rtf]]></term><value><![CDATA[application/rtf]]></value></item>
|
|
<item><term><![CDATA[xls]]></term><value><![CDATA[application/vnd.ms-excel]]></value></item>
|
|
<item><term><![CDATA[ppt]]></term><value><![CDATA[application/vnd.ms-powerpoint]]></value></item>
|
|
<item><term><![CDATA[doc]]></term><value><![CDATA[application/application/msword]]></value></item>
|
|
<item><term><![CDATA[js]]></term><value><![CDATA[application/javascript]]></value></item>
|
|
<item><term><![CDATA[au]]></term><value><![CDATA[audio/basic]]></value></item>
|
|
<item><term><![CDATA[snd]]></term><value><![CDATA[audio/basic]]></value></item>
|
|
<item><term><![CDATA[es]]></term><value><![CDATA[audio/echospeech]]></value></item>
|
|
<item><term><![CDATA[mp3]]></term><value><![CDATA[audio/mpeg]]></value></item>
|
|
<item><term><![CDATA[mp2]]></term><value><![CDATA[audio/mpeg]]></value></item>
|
|
<item><term><![CDATA[mid]]></term><value><![CDATA[audio/midi]]></value></item>
|
|
<item><term><![CDATA[wav]]></term><value><![CDATA[audio/x-wav]]></value></item>
|
|
<item><term><![CDATA[swf]]></term><value><![CDATA[application/x-shockwave-flash]]></value></item>
|
|
<item><term><![CDATA[avi]]></term><value><![CDATA[video/avi]]></value></item>
|
|
<item><term><![CDATA[rm]]></term><value><![CDATA[audio/x-pn-realaudio]]></value></item>
|
|
<item><term><![CDATA[ram]]></term><value><![CDATA[audio/x-pn-realaudio]]></value></item>
|
|
<item><term><![CDATA[aif]]></term><value><![CDATA[audio/x-aiff]]></value></item>
|
|
</list>
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Modules.FileModule.SendFile(HttpServer.IHttpContext,HttpServer.IResponse,System.IO.Stream)">
|
|
<summary>
|
|
Will send a file to client.
|
|
</summary>
|
|
<param name="context">HTTP context containing outbound stream.</param>
|
|
<param name="response">Response containing headers.</param>
|
|
<param name="stream">File stream</param>
|
|
</member>
|
|
<member name="M:HttpServer.Modules.FileModule.Process(HttpServer.RequestContext)">
|
|
<summary>
|
|
Process a request.
|
|
</summary>
|
|
<param name="context">Request information</param>
|
|
<returns>What to do next.</returns>
|
|
<exception cref="T:HttpServer.InternalServerException">Failed to find file extension</exception>
|
|
<exception cref="T:HttpServer.ForbiddenException">Forbidden file type.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Modules.FileModule.ContentTypes">
|
|
<summary>
|
|
Gets a list with all allowed content types.
|
|
</summary>
|
|
<remarks>All other mime types will result in <see cref="F:System.Net.HttpStatusCode.Forbidden"/>.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Modules.FileModule.Resources">
|
|
<summary>
|
|
Gets provider used to add files to the file manager,
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpFileCollection">
|
|
<summary>
|
|
Collection of files.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFileCollection.Contains(System.String)">
|
|
<summary>
|
|
Checks if a file exists.
|
|
</summary>
|
|
<param name="name">Name of the file (form item name)</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFileCollection.Add(HttpServer.HttpFile)">
|
|
<summary>
|
|
Add a new file.
|
|
</summary>
|
|
<param name="file">File to add.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFileCollection.Clear">
|
|
<summary>
|
|
Remove all files from disk.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFileCollection.Item(System.String)">
|
|
<summary>
|
|
Get a file
|
|
</summary>
|
|
<param name="name">Name in form</param>
|
|
<returns>File if found; otherwise <c>null</c>.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFileCollection.Count">
|
|
<summary>
|
|
Gets number of files
|
|
</summary>
|
|
</member>
|
|
</members>
|
|
</doc>
|