5457 lines
270 KiB
XML
5457 lines
270 KiB
XML
<?xml version="1.0"?>
|
|
<doc>
|
|
<assembly>
|
|
<name>HttpServer_OpenSim</name>
|
|
</assembly>
|
|
<members>
|
|
<member name="T:HttpServer.IComponentProvider">
|
|
<summary>
|
|
Inversion of control interface.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)">
|
|
<summary>
|
|
Add a component instance
|
|
</summary>
|
|
<typeparam name="T">Interface type</typeparam>
|
|
<param name="instance">Instance to add</param>
|
|
</member>
|
|
<member name="M:HttpServer.IComponentProvider.Get``1">
|
|
<summary>
|
|
Get a component.
|
|
</summary>
|
|
<typeparam name="T">Interface type</typeparam>
|
|
<returns>Component if registered, otherwise null.</returns>
|
|
<remarks>
|
|
Component will get created if needed.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IComponentProvider.Contains(System.Type)">
|
|
<summary>
|
|
Checks if the specified component interface have been added.
|
|
</summary>
|
|
<param name="interfaceType"></param>
|
|
<returns>true if found; otherwise false.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.IComponentProvider.Add``2">
|
|
<summary>
|
|
Add a component.
|
|
</summary>
|
|
<typeparam name="InterfaceType">Type being requested.</typeparam>
|
|
<typeparam name="InstanceType">Type being created.</typeparam>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.HttpModule">
|
|
<summary>
|
|
A HttpModule can be used to serve Uri's. The module itself
|
|
decides if it should serve a Uri or not. In this way, you can
|
|
get a very flexible http application since you can let multiple modules
|
|
serve almost similar urls.
|
|
</summary>
|
|
<remarks>
|
|
Throw <see cref="T:HttpServer.Exceptions.UnauthorizedException"/> if you are using a <see cref="T:HttpServer.Authentication.AuthenticationModule"/> and want to prompt for user name/password.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Method that process the url
|
|
</summary>
|
|
<param name="request">Information sent by the browser about the request</param>
|
|
<param name="response">Information that is being sent back to the client.</param>
|
|
<param name="session">Session used to </param>
|
|
<returns>true if this module handled the request.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Set the log writer to use.
|
|
</summary>
|
|
<param name="writer">logwriter to use.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
Log something.
|
|
</summary>
|
|
<param name="prio">importance of log message</param>
|
|
<param name="message">message</param>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing">
|
|
<summary>
|
|
If true specifies that the module doesn't consume the processing of a request so that subsequent modules
|
|
can continue processing afterwards. Default is false.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.ResourceInfo">
|
|
<summary>
|
|
Container to bind resource names to assemblies
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)">
|
|
<summary>
|
|
Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/>
|
|
</summary>
|
|
<param name="uri">The dot seperated uri the resource maps to</param>
|
|
<param name="resourceName">The full resource name</param>
|
|
<param name="assembly">The assembly the resource exists in</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceInfo.GetStream">
|
|
<summary>
|
|
Retrieves a stream to the resource
|
|
</summary>
|
|
<returns>Null if the resource couldn't be located somehow</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.ResourceInfo.Assembly">
|
|
<summary>
|
|
Retrieves the assembly the resource resides in
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.ResourceInfo.Uri">
|
|
<summary>
|
|
Retrieves the full name/path of the assembly
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.ResourceInfo.Extension">
|
|
<summary>
|
|
Retrieves the extension of the resource
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri">
|
|
<summary>Returns the Uri without extension</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Helpers.ResourceInfo.ResourceName">
|
|
<summary>Retrieves the full path name to the resource file</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.ObjectForm">
|
|
<summary>
|
|
The object form class takes an object and creates form items for it.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
|
|
</summary>
|
|
<param name="method"></param>
|
|
<param name="name">form name *and* id.</param>
|
|
<param name="action">action to do when form is posted.</param>
|
|
<param name="obj"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
|
|
</summary>
|
|
<param name="name">form name *and* id.</param>
|
|
<param name="action">action to do when form is posted.</param>
|
|
<param name="obj">object to get values from</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
|
|
</summary>
|
|
<param name="action">form action.</param>
|
|
<param name="obj">object to get values from.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Begin">
|
|
<summary>
|
|
write out the FORM-tag.
|
|
</summary>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)">
|
|
<summary>
|
|
Writeout the form tag
|
|
</summary>
|
|
<param name="isAjax">form should be posted through ajax.</param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])">
|
|
<summary>
|
|
Generates a text box.
|
|
</summary>
|
|
<param name="propertyName"></param>
|
|
<param name="options"></param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])">
|
|
<summary>
|
|
password box
|
|
</summary>
|
|
<param name="propertyName"></param>
|
|
<param name="options"></param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])">
|
|
<summary>
|
|
Hiddens the specified property name.
|
|
</summary>
|
|
<param name="propertyName">Name of the property.</param>
|
|
<param name="options">The options.</param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)">
|
|
<summary>
|
|
Labels the specified property name.
|
|
</summary>
|
|
<param name="propertyName">property in object.</param>
|
|
<param name="label">caption</param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])">
|
|
<summary>
|
|
Generate a checkbox
|
|
</summary>
|
|
<param name="propertyName">property in object</param>
|
|
<param name="value">checkbox value</param>
|
|
<param name="options">additional html attributes.</param>
|
|
<returns>generated html code</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])">
|
|
<summary>
|
|
Write a html select tag
|
|
</summary>
|
|
<param name="propertyName">object property.</param>
|
|
<param name="idColumn">id column</param>
|
|
<param name="titleColumn">The title column.</param>
|
|
<param name="options">The options.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])">
|
|
<summary>
|
|
Selects the specified property name.
|
|
</summary>
|
|
<param name="propertyName">Name of the property.</param>
|
|
<param name="items">The items.</param>
|
|
<param name="idColumn">The id column.</param>
|
|
<param name="titleColumn">The title column.</param>
|
|
<param name="options">The options.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)">
|
|
<summary>
|
|
Write a submit tag.
|
|
</summary>
|
|
<param name="value">button caption</param>
|
|
<returns>html submit tag</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ObjectForm.End">
|
|
<summary>
|
|
html end form tag
|
|
</summary>
|
|
<returns>html</returns>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.XmlDecoder">
|
|
<summary>
|
|
This decoder converts XML documents to form items.
|
|
Each element becomes a subitem in the form, and each attribute becomes an item.
|
|
</summary>
|
|
<example>
|
|
// xml: <hello id="1">something<world id="2">data</world></hello>
|
|
// result:
|
|
// form["hello"].Value = "something"
|
|
// form["hello"]["id"].Value = 1
|
|
// form["hello"]["world]["id"].Value = 1
|
|
// form["hello"]["world"].Value = "data"
|
|
</example>
|
|
<remarks>
|
|
The original xml document is stored in form["__xml__"].Value.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.IFormDecoder">
|
|
<summary>
|
|
Interface for form content decoders.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
|
|
<param name="encoding">Stream enconding</param>
|
|
<returns>A http form, or null if content could not be parsed.</returns>
|
|
<exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)">
|
|
<summary>
|
|
Checks if the decoder can handle the mime type
|
|
</summary>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
|
|
<returns>True if the decoder can parse the specified content type</returns>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
Note: contentType and encoding are not used?
|
|
<returns>A http form, or null if content could not be parsed.</returns>
|
|
<exception cref="T:System.IO.InvalidDataException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)">
|
|
<summary>
|
|
Recursive function that will go through an xml element and store it's content
|
|
to the form item.
|
|
</summary>
|
|
<param name="item">(parent) Item in form that content should be added to.</param>
|
|
<param name="node">Node that should be parsed.</param>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)">
|
|
<summary>
|
|
Checks if the decoder can handle the mime type
|
|
</summary>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
|
|
<returns>True if the decoder can parse the specified content type</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.InternalServerException">
|
|
<summary>
|
|
The server encountered an unexpected condition which prevented it from fulfilling the request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.HttpException">
|
|
<summary>
|
|
All HTTP based exceptions will derive this class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Create a new HttpException
|
|
</summary>
|
|
<param name="code">http status code (sent in the response)</param>
|
|
<param name="message">error description</param>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
|
|
<summary>
|
|
Create a new HttpException
|
|
</summary>
|
|
<param name="code">http status code (sent in the response)</param>
|
|
<param name="message">error description</param>
|
|
<param name="inner">inner exception</param>
|
|
</member>
|
|
<member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode">
|
|
<summary>
|
|
status code to use in the response.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.InternalServerException.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
|
|
</summary>
|
|
<param name="message">error message.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
|
|
</summary>
|
|
<param name="message">error message.</param>
|
|
<param name="inner">inner exception.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.MemorySessionStore">
|
|
<summary>
|
|
Session store using memory for each session.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.IHttpSessionStore">
|
|
<summary>
|
|
A session store is used to store and load sessions on a media.
|
|
The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Create">
|
|
<summary>
|
|
Creates a new http session with a generated id.
|
|
</summary>
|
|
<returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)">
|
|
<summary>
|
|
Creates a new http session with a specific id
|
|
</summary>
|
|
<param name="id">Id used to identify the new cookie..</param>
|
|
<returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
|
|
<remarks>
|
|
Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)">
|
|
<summary>
|
|
Load an existing session.
|
|
</summary>
|
|
<param name="sessionId">Session id (usually retrieved from a client side cookie).</param>
|
|
<returns>A session if found; otherwise null.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Save an updated session to the store.
|
|
</summary>
|
|
<param name="session">Session id (usually retrieved from a client side cookie).</param>
|
|
<exception cref="T:System.ArgumentException">If Id property have not been specified.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
We use the flyweight pattern which reuses small objects
|
|
instead of creating new each time.
|
|
</summary>
|
|
<param name="session">Unused session that should be reused next time Create is called.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup">
|
|
<summary>
|
|
Remove expired sessions
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)">
|
|
<summary>
|
|
Remove a session
|
|
</summary>
|
|
<param name="sessionId">id of the session.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)">
|
|
<summary>
|
|
Load a session from the store
|
|
</summary>
|
|
<param name="sessionId"></param>
|
|
<returns>null if session is not found.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime">
|
|
<summary>
|
|
Number of minutes before a session expires.
|
|
</summary>
|
|
<value>Default time is 20 minutes.</value>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.#ctor">
|
|
<summary>
|
|
Initializes the class setting the expirationtimer to clean the session every minute
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)">
|
|
<summary>
|
|
Delegate for the cleanup timer
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Create">
|
|
<summary>
|
|
Creates a new http session
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)">
|
|
<summary>
|
|
Creates a new http session with a specific id
|
|
</summary>
|
|
<param name="id">Id used to identify the new cookie..</param>
|
|
<returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
|
|
<remarks>
|
|
Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)">
|
|
<summary>
|
|
Load an existing session.
|
|
</summary>
|
|
<param name="sessionId"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Save an updated session to the store.
|
|
</summary>
|
|
<param name="session"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
We use the flyweight pattern which reuses small objects
|
|
instead of creating new each time.
|
|
</summary>
|
|
<param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup">
|
|
<summary>
|
|
Remove expired sessions
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)">
|
|
<summary>
|
|
Remove a session
|
|
</summary>
|
|
<param name="sessionId">id of the session.</param>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)">
|
|
<summary>
|
|
Load a session from the store
|
|
</summary>
|
|
<param name="sessionId"></param>
|
|
<returns>null if session is not found.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime">
|
|
<summary>
|
|
Number of minutes before a session expires.
|
|
Default is 20 minutes.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ResponseCookies">
|
|
<summary>
|
|
Cookies that should be set.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)">
|
|
<summary>
|
|
Adds a cookie in the collection.
|
|
</summary>
|
|
<param name="cookie">cookie to add</param>
|
|
<exception cref="T:System.ArgumentNullException">cookie is null</exception>
|
|
</member>
|
|
<member name="M:HttpServer.ResponseCookies.Add(HttpServer.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.ResponseCookies.GetEnumerator">
|
|
<summary>
|
|
Gets a collection enumerator on the cookie list.
|
|
</summary>
|
|
<returns>collection enumerator</returns>
|
|
</member>
|
|
<member name="M:HttpServer.ResponseCookies.Clear">
|
|
<summary>
|
|
Remove all cookies
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#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.ResponseCookies.Count">
|
|
<summary>
|
|
Gets the count of cookies in the collection.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ResponseCookies.Item(System.String)">
|
|
<summary>
|
|
Gets the cookie of a given identifier (null if not existing).
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Check">
|
|
<summary>
|
|
Small design by contract implementation.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Check.NotEmpty(System.String,System.String)">
|
|
<summary>
|
|
Check whether a parameter is empty.
|
|
</summary>
|
|
<param name="value">Parameter value</param>
|
|
<param name="parameterOrErrorMessage">Parameter name, or error description.</param>
|
|
<exception cref="T:System.ArgumentException">value is empty.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Check.Require(System.Object,System.String)">
|
|
<summary>
|
|
Checks whether a parameter is null.
|
|
</summary>
|
|
<param name="value">Parameter value</param>
|
|
<param name="parameterOrErrorMessage">Parameter name, or error description.</param>
|
|
<exception cref="T:System.ArgumentNullException">value is null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)">
|
|
<summary>
|
|
Checks whether a parameter is null.
|
|
</summary>
|
|
<param name="minValue"></param>
|
|
<param name="value">Parameter value</param>
|
|
<param name="parameterOrErrorMessage">Parameter name, or error description.</param>
|
|
<exception cref="T:System.ArgumentException">value is null.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Parser.HttpRequestParser">
|
|
<summary>
|
|
Parses a HTTP request directly from a stream
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpRequestParser">
|
|
<summary>
|
|
Event driven parser used to parse incoming HTTP requests.
|
|
</summary>
|
|
<remarks>
|
|
The parser supports partial messages and keeps the states between
|
|
each parsed buffer. It's therefore important that the parser gets
|
|
<see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Parse partial or complete message.
|
|
</summary>
|
|
<param name="buffer">buffer containing incoming bytes</param>
|
|
<param name="offset">where in buffer that parsing should start</param>
|
|
<param name="count">number of bytes to parse</param>
|
|
<returns>Unparsed bytes left in buffer.</returns>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequestParser.Clear">
|
|
<summary>
|
|
Clear parser state.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequestParser.CurrentState">
|
|
<summary>
|
|
Current state in parser.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpRequestParser.RequestCompleted">
|
|
<summary>
|
|
A request have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived">
|
|
<summary>
|
|
More body bytes have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpRequestParser.RequestLineReceived">
|
|
<summary>
|
|
Request line have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpRequestParser.HeaderReceived">
|
|
<summary>
|
|
A header have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequestParser.LogWriter">
|
|
<summary>
|
|
Gets or sets the log writer.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Create a new request parser
|
|
</summary>
|
|
<param name="logWriter">delegate receiving log entries.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Add a number of bytes to the body
|
|
</summary>
|
|
<param name="buffer">buffer containing more body bytes.</param>
|
|
<param name="offset">starting offset in buffer</param>
|
|
<param name="count">number of bytes, from offset, to read.</param>
|
|
<returns>offset to continue from.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.Clear">
|
|
<summary>
|
|
Remove all state information for the request.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)">
|
|
<summary>
|
|
Parse request line
|
|
</summary>
|
|
<param name="value"></param>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception>
|
|
<remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)">
|
|
<summary>
|
|
We've parsed a new header.
|
|
</summary>
|
|
<param name="name">Name in lower case</param>
|
|
<param name="value">Value, unmodified.</param>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Parse a message
|
|
</summary>
|
|
<param name="buffer">bytes to parse.</param>
|
|
<param name="offset">where in buffer that parsing should start</param>
|
|
<param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param>
|
|
<returns>offset (where to start parsing next).</returns>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.HttpRequestParser.LogWriter">
|
|
<summary>
|
|
Gets or sets the log writer.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.HttpRequestParser.CurrentState">
|
|
<summary>
|
|
Current state in parser.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted">
|
|
<summary>
|
|
A request have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived">
|
|
<summary>
|
|
More body bytes have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived">
|
|
<summary>
|
|
Request line have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived">
|
|
<summary>
|
|
A header have been received.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.WebSiteModule">
|
|
<summary>
|
|
The website module let's you handle multiple websites in the same server.
|
|
It uses the "Host" header to check which site you want.
|
|
</summary>
|
|
<remarks>It's recommended that you do not
|
|
add any other modules to HttpServer if you are using the website module. Instead,
|
|
add all wanted modules to each website.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="host">domain name that should be handled.</param>
|
|
<param name="name"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Method that process the url
|
|
</summary>
|
|
<param name="request">Information sent by the browser about the request</param>
|
|
<param name="response">Information that is being sent back to the client.</param>
|
|
<param name="session">Session used to </param>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.WebSiteModule.SiteName">
|
|
<summary>
|
|
Name of site.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpForm">
|
|
<summary>Container for posted form data</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpInput">
|
|
<summary>
|
|
Contains some kind of input from the browser/client.
|
|
can be QueryString, form data or any other request body content.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpInput">
|
|
<summary>
|
|
Base class for request data containers
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpInput.Add(System.String,System.String)">
|
|
<summary>
|
|
Adds a parameter mapped to the presented name
|
|
</summary>
|
|
<param name="name">The name to map the parameter to</param>
|
|
<param name="value">The parameter value</param>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpInput.Contains(System.String)">
|
|
<summary>
|
|
Returns true if the container contains the requested parameter
|
|
</summary>
|
|
<param name="name">Parameter id</param>
|
|
<returns>True if parameter exists</returns>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpInput.Item(System.String)">
|
|
<summary>
|
|
Returns a request parameter
|
|
</summary>
|
|
<param name="name">The name associated with the parameter</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="F:HttpServer.HttpInput.Empty">
|
|
<summary> Representation of a non-initialized class instance </summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpInput._ignoreChanges">
|
|
<summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
|
|
</summary>
|
|
<param name="name">form name.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
|
|
</summary>
|
|
<param name="name">form name.</param>
|
|
<param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param>
|
|
<remarks>this constructor should only be used by Empty</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)">
|
|
<summary>Creates a deep copy of the HttpInput class</summary>
|
|
<param name="input">The object to copy</param>
|
|
<remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a new element. Form array elements are parsed
|
|
and added in a correct hierarchy.
|
|
</summary>
|
|
<param name="name">Name is converted to lower case.</param>
|
|
<param name="value"></param>
|
|
<exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception>
|
|
<exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.Contains(System.String)">
|
|
<summary>
|
|
Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name.
|
|
</summary>
|
|
<param name="name">The field/query string name</param>
|
|
<returns>True if the value exists</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)">
|
|
<summary>
|
|
Parses an item and returns it.
|
|
This function is primarily used to parse array items as in user[name].
|
|
</summary>
|
|
<param name="name"></param>
|
|
<param name="value"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.ToString">
|
|
<summary> Outputs the instance representing all its values joined together </summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.ToString(System.Boolean)">
|
|
<summary>Returns all items as an unescaped query string.</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.ExtractOne(System.String)">
|
|
<summary>
|
|
Extracts one parameter from an array
|
|
</summary>
|
|
<param name="value">Containing the string array</param>
|
|
<returns>All but the first value</returns>
|
|
<example>
|
|
string test1 = ExtractOne("system[user][extension][id]");
|
|
string test2 = ExtractOne(test1);
|
|
string test3 = ExtractOne(test2);
|
|
// test1 = user[extension][id]
|
|
// test2 = extension[id]
|
|
// test3 = id
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.Clear">
|
|
<summary>Resets all data contained by class</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#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="M:HttpServer.HttpInput.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInput.Name">
|
|
<summary>
|
|
Form name as lower case
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInput.Item(System.String)">
|
|
<summary>
|
|
Get a form item.
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns>
|
|
</member>
|
|
<member name="F:HttpServer.HttpForm.EmptyForm">
|
|
<summary>Instance to help mark a non-initialized form</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.#ctor">
|
|
<summary>Initializes a form container with the specified name</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)">
|
|
<summary>
|
|
Makes a deep copy of the input
|
|
</summary>
|
|
<param name="input">The input to copy</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)">
|
|
<summary>
|
|
Adds a file to the collection of posted files
|
|
</summary>
|
|
<param name="file">The file to add</param>
|
|
<exception cref="T:System.ArgumentException">If the file is already added</exception>
|
|
<exception cref="T:System.ArgumentNullException">If file is null</exception>
|
|
<exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.ContainsFile(System.String)">
|
|
<summary>
|
|
Checks if the form contains a specified file
|
|
</summary>
|
|
<param name="name">Field name of the file parameter</param>
|
|
<returns>True if the file exists</returns>
|
|
<exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.GetFile(System.String)">
|
|
<summary>
|
|
Retrieves a file held by by the form
|
|
</summary>
|
|
<param name="name">The identifier of the file</param>
|
|
<returns>The requested file or null if the file was not found</returns>
|
|
<exception cref="T:System.ArgumentNullException">If name is null or empty</exception>
|
|
<exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpForm.Clear">
|
|
<summary>Disposes all held HttpFile's and resets values</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpForm.Files">
|
|
<summary>
|
|
Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/>
|
|
</summary>
|
|
<returns>0 if no files are added</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.BadRequestException">
|
|
<summary>
|
|
The request could not be understood by the server due to malformed syntax.
|
|
The client SHOULD NOT repeat the request without modifications.
|
|
|
|
Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)">
|
|
<summary>
|
|
Create a new bad request exception.
|
|
</summary>
|
|
<param name="errMsg">reason to why the request was bad.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Create a new bad request exception.
|
|
</summary>
|
|
<param name="errMsg">reason to why the request was bad.</param>
|
|
<param name="inner">inner exception</param>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.MemorySession">
|
|
<summary>
|
|
A session stored in memory.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.IHttpSession">
|
|
<summary>
|
|
Interface for sessions
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSession.Clear">
|
|
<summary>
|
|
Remove everything from the session
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)">
|
|
<summary>
|
|
Remove everything from the session
|
|
</summary>
|
|
<param name="expires">True if the session is cleared due to expiration</param>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSession.Id">
|
|
<summary>
|
|
Session id
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)">
|
|
<summary>
|
|
Should
|
|
</summary>
|
|
<param name="name">Name of the session variable</param>
|
|
<returns>null if it's not set</returns>
|
|
<exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSession.Accessed">
|
|
<summary>
|
|
When the session was last accessed.
|
|
This property is touched by the http server each time the
|
|
session is requested.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.IHttpSession.Count">
|
|
<summary>
|
|
Number of session variables.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Sessions.IHttpSession.BeforeClear">
|
|
<summary>
|
|
Event triggered upon clearing the session
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="id">A unique id used by the sessions store to identify the session</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)">
|
|
<summary>
|
|
Id
|
|
</summary>
|
|
<param name="id"></param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySession.Clear">
|
|
<summary>
|
|
Remove everything from the session
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)">
|
|
<summary>
|
|
Clears the specified expire.
|
|
</summary>
|
|
<param name="expires">True if the session is cleared due to expiration</param>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.MemorySession.Dispose">
|
|
<summary>
|
|
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
|
</summary>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySession.Id">
|
|
<summary>
|
|
Session id
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySession.Item(System.String)">
|
|
<summary>
|
|
Should
|
|
</summary>
|
|
<param name="name">Name of the session variable</param>
|
|
<returns>null if it's not set</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySession.Accessed">
|
|
<summary>
|
|
when the session was last accessed.
|
|
</summary>
|
|
<remarks>
|
|
Used to determine when the session should be removed.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySession.Count">
|
|
<summary>
|
|
Number of values in the session
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.MemorySession.Changed">
|
|
<summary>
|
|
Flag to indicate that the session have been changed
|
|
and should be saved into the session store.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.Sessions.MemorySession.BeforeClear">
|
|
<summary>
|
|
Event triggered upon clearing the session
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Rules.RedirectRule">
|
|
<summary>
|
|
redirects from one URL to another.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Rules.IRule">
|
|
<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.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="request">incoming HTTP request</param>
|
|
<param name="response">outgoing HTTP response</param>
|
|
<returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
|
|
<remarks>
|
|
returning true means that no modules will get the request. Returning true is typically being done
|
|
for redirects.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentNullException">If request or response is null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> 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.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
|
|
</summary>
|
|
<param name="fromUrl">Absolute path (no server name)</param>
|
|
<param name="toUrl">Absolute path (no server name)</param>
|
|
<param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param>
|
|
<example>
|
|
server.Add(new RedirectRule("/", "/user/index"));
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="request">incoming HTTP request</param>
|
|
<param name="response">outgoing HTTP response</param>
|
|
<returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
|
|
<remarks>
|
|
returning true means that no modules will get the request. Returning true is typically being done
|
|
for redirects.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Rules.RedirectRule.FromUrl">
|
|
<summary>
|
|
Gets string to match request URI with.
|
|
</summary>
|
|
<remarks>Is compared to request.Uri.AbsolutePath</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Rules.RedirectRule.ToUrl">
|
|
<summary>
|
|
Gets where to redirect.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect">
|
|
<summary>
|
|
Gets whether server should redirect client.
|
|
</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="T:HttpServer.RequestCookie">
|
|
<summary>
|
|
cookie sent by the client/browser
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ResponseCookie"/>
|
|
</member>
|
|
<member name="M:HttpServer.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.RequestCookie.ToString">
|
|
<summary>
|
|
Gets the cookie HTML representation.
|
|
</summary>
|
|
<returns>cookie string</returns>
|
|
</member>
|
|
<member name="P:HttpServer.RequestCookie.Name">
|
|
<summary>
|
|
Gets the cookie identifier.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestCookie.Value">
|
|
<summary>
|
|
Cookie value. Set to null to remove cookie.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.LogPrio">
|
|
<summary>
|
|
Priority for log entries
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ILogWriter"/>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Trace">
|
|
<summary>
|
|
Very detailed logs to be able to follow the flow of the program.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Debug">
|
|
<summary>
|
|
Logs to help debug errors in the application
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Info">
|
|
<summary>
|
|
Information to be able to keep track of state changes etc.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Warning">
|
|
<summary>
|
|
Something did not go as we expected, but it's no problem.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Error">
|
|
<summary>
|
|
Something that should not fail failed, but we can still keep
|
|
on going.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.LogPrio.Fatal">
|
|
<summary>
|
|
Something failed, and we cannot handle it properly.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ILogWriter">
|
|
<summary>
|
|
Interface used to write to log files.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
Write an entry to the log file.
|
|
</summary>
|
|
<param name="source">object that is writing to the log</param>
|
|
<param name="priority">importance of the log message</param>
|
|
<param name="message">the message</param>
|
|
</member>
|
|
<member name="T:HttpServer.ConsoleLogWriter">
|
|
<summary>
|
|
This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode)
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ILogWriter"/>
|
|
</member>
|
|
<member name="F:HttpServer.ConsoleLogWriter.Instance">
|
|
<summary>
|
|
The actual instance of this class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
Logwriters the specified source.
|
|
</summary>
|
|
<param name="source">object that wrote the logentry.</param>
|
|
<param name="prio">Importance of the log message</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)">
|
|
<summary>
|
|
Get color for the specified logprio
|
|
</summary>
|
|
<param name="prio">prio for the log entry</param>
|
|
<returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns>
|
|
</member>
|
|
<member name="T:HttpServer.NullLogWriter">
|
|
<summary>
|
|
Default log writer, writes everything to null (nowhere).
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ILogWriter"/>
|
|
</member>
|
|
<member name="F:HttpServer.NullLogWriter.Instance">
|
|
<summary>
|
|
The logging instance.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
Writes everything to null
|
|
</summary>
|
|
<param name="source">object that wrote the log entry.</param>
|
|
<param name="prio">Importance of the log message</param>
|
|
<param name="message">The message.</param>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpContextHandler">
|
|
<summary>
|
|
Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
|
|
<summary>
|
|
Client have been disconnected.
|
|
</summary>
|
|
<param name="client">Client that was disconnected.</param>
|
|
<param name="error">Reason</param>
|
|
<see cref="T:HttpServer.IHttpClientContext"/>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Invoked when a client context have received a new HTTP request
|
|
</summary>
|
|
<param name="client">Client that received the request.</param>
|
|
<param name="request">Request that was received.</param>
|
|
<see cref="T:HttpServer.IHttpClientContext"/>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.JSHelper">
|
|
<summary>
|
|
Will contain helper functions for javascript.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])">
|
|
<summary>
|
|
Requests a url through ajax
|
|
</summary>
|
|
<param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
|
|
<param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
|
|
<returns>a link tag</returns>
|
|
<remarks>onclick attribute is used by this method.</remarks>
|
|
<example>
|
|
<code>
|
|
// plain text
|
|
JSHelper.AjaxRequest("'/user/show/1'");
|
|
|
|
// ajax request using this.href
|
|
string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Ajax requests that updates an element with
|
|
the fetched content
|
|
</summary>
|
|
<param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
|
|
<param name="targetId">element to update</param>
|
|
<param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
|
|
<returns>A link tag.</returns>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Opens contents in a dialog window.
|
|
</summary>
|
|
<param name="url">url to contents of dialog</param>
|
|
<param name="title">link title</param>
|
|
<param name="options">name, value, name, value, all parameter names should end with colon.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JSHelper.CloseDialog">
|
|
<summary>
|
|
Close a javascript dialog window/div.
|
|
</summary>
|
|
<returns>javascript for closing a dialog.</returns>
|
|
<see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.FormHelper">
|
|
<summary>
|
|
Helpers making it easier to work with forms.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Helpers.ObjectForm"/>
|
|
</member>
|
|
<member name="F:HttpServer.Helpers.FormHelper.JSImplementation">
|
|
<summary>
|
|
Used to let the website use different JavaScript libraries.
|
|
Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])">
|
|
<summary>
|
|
Create a <form> tag.
|
|
</summary>
|
|
<param name="id">name of form</param>
|
|
<param name="action">action to invoke on submit</param>
|
|
<param name="isAjax">form should be posted as Ajax</param>
|
|
<returns>HTML code</returns>
|
|
<example>
|
|
<code>
|
|
// without options
|
|
WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
|
|
|
|
// with options
|
|
WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
|
|
</code>
|
|
</example>
|
|
<param name="options">HTML attributes or JavaScript options.</param>
|
|
<remarks>Method will ALWAYS be POST.</remarks>
|
|
<exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<summary>
|
|
Creates a select list with the values in a collection.
|
|
</summary>
|
|
<param name="name">Name of the SELECT-tag</param>
|
|
<param name="collection">collection used to generate options.</param>
|
|
<param name="getIdTitle">delegate used to return id and title from objects.</param>
|
|
<param name="selectedValue">value that should be marked as selected.</param>
|
|
<param name="firstEmpty">First row should contain an empty value.</param>
|
|
<returns>string containing a SELECT-tag.</returns>
|
|
<seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<summary>
|
|
Creates a select list with the values in a collection.
|
|
</summary>
|
|
<param name="name">Name of the SELECT-tag</param>
|
|
<param name="id">Id of the SELECT-tag</param>
|
|
<param name="collection">collection used to generate options.</param>
|
|
<param name="getIdTitle">delegate used to return id and title from objects.</param>
|
|
<param name="selectedValue">value that should be marked as selected.</param>
|
|
<param name="firstEmpty">First row should contain an empty value.</param>
|
|
<returns>string containing a SELECT-tag.</returns>
|
|
<seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
|
|
<example>
|
|
<code>
|
|
// Class that is going to be used in a SELECT-tag.
|
|
public class User
|
|
{
|
|
private readonly string _realName;
|
|
private readonly int _id;
|
|
public User(int id, string realName)
|
|
{
|
|
_id = id;
|
|
_realName = realName;
|
|
}
|
|
public string RealName
|
|
{
|
|
get { return _realName; }
|
|
}
|
|
|
|
public int Id
|
|
{
|
|
get { return _id; }
|
|
}
|
|
}
|
|
|
|
// Using an inline delegate to generate the select list
|
|
public void UserInlineDelegate()
|
|
{
|
|
List<User> items = new List<User>();
|
|
items.Add(new User(1, "adam"));
|
|
items.Add(new User(2, "bertial"));
|
|
items.Add(new User(3, "david"));
|
|
string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
|
|
{
|
|
User user = (User)o;
|
|
id = user.Id;
|
|
value = user.RealName;
|
|
}, 2, true);
|
|
}
|
|
|
|
// Using an method as delegate to generate the select list.
|
|
public void UseExternalDelegate()
|
|
{
|
|
List<User> items = new List<User>();
|
|
items.Add(new User(1, "adam"));
|
|
items.Add(new User(2, "bertial"));
|
|
items.Add(new User(3, "david"));
|
|
string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
|
|
}
|
|
|
|
// delegate returning id and title
|
|
public static void UserOptions(object o, out object id, out object title)
|
|
{
|
|
User user = (User)o;
|
|
id = user.Id;
|
|
value = user.RealName;
|
|
}
|
|
</code>
|
|
</example>
|
|
<exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])">
|
|
<summary>
|
|
Creates a select list with the values in a collection.
|
|
</summary>
|
|
<param name="name">Name of the SELECT-tag</param>
|
|
<param name="id">Id of the SELECT-tag</param>
|
|
<param name="collection">collection used to generate options.</param>
|
|
<param name="getIdTitle">delegate used to return id and title from objects.</param>
|
|
<param name="selectedValue">value that should be marked as selected.</param>
|
|
<param name="firstEmpty">First row should contain an empty value.</param>
|
|
<param name="htmlAttributes">name, value collection of extra HTML attributes.</param>
|
|
<returns>string containing a SELECT-tag.</returns>
|
|
<seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
|
|
<exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<summary>
|
|
Generate a list of HTML options
|
|
</summary>
|
|
<param name="collection">collection used to generate options.</param>
|
|
<param name="getIdTitle">delegate used to return id and title from objects.</param>
|
|
<param name="selectedValue">value that should be marked as selected.</param>
|
|
<param name="firstEmpty">First row should contain an empty value.</param>
|
|
<returns></returns>
|
|
<exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])">
|
|
<summary>
|
|
Creates a check box.
|
|
</summary>
|
|
<param name="name">element name</param>
|
|
<param name="value">element value</param>
|
|
<param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
|
|
type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
|
|
the box is checked or not. </param>
|
|
<param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
|
|
<returns>a generated radio button</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])">
|
|
<summary>
|
|
Creates a check box.
|
|
</summary>
|
|
<param name="name">element name</param>
|
|
<param name="id">element id</param>
|
|
<param name="value">element value</param>
|
|
<param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
|
|
type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
|
|
the box is checked or not. </param>
|
|
<param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
|
|
<returns>a generated radio button</returns>
|
|
<remarks>
|
|
value in your business object. (check box will be selected if it matches the element value)
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])">
|
|
<summary>
|
|
Creates a check box.
|
|
</summary>
|
|
<param name="name">element name</param>
|
|
<param name="id">element id</param>
|
|
<param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
|
|
type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
|
|
the box is checked or not. </param>
|
|
<param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
|
|
<returns>a generated radio button</returns>
|
|
<remarks>will set value to "1".</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])">
|
|
<summary>
|
|
Creates a RadioButton.
|
|
</summary>
|
|
<param name="name">element name</param>
|
|
<param name="value">element value</param>
|
|
<param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
|
|
type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
|
|
the box is checked or not. </param>
|
|
<param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
|
|
<returns>a generated radio button</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])">
|
|
<summary>
|
|
Creates a RadioButton.
|
|
</summary>
|
|
<param name="name">element name</param>
|
|
<param name="id">element id</param>
|
|
<param name="value">element value</param>
|
|
<param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
|
|
type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
|
|
the box is checked or not. </param>
|
|
<param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
|
|
<returns>a generated radio button</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.FormHelper.End">
|
|
<summary>
|
|
form close tag
|
|
</summary>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.HttpSessionClearedArgs">
|
|
<summary>
|
|
Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)">
|
|
<summary>
|
|
Instantiates the arguments for the event
|
|
</summary>
|
|
<param name="expired">True if the session is cleared due to expiration</param>
|
|
</member>
|
|
<member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired">
|
|
<summary>
|
|
Returns true if the session is cleared due to expiration
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Sessions.HttpSessionClearedHandler">
|
|
<summary>
|
|
Delegate for when a IHttpSession is cleared
|
|
</summary>
|
|
<param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param>
|
|
<param name="args">Arguments for the clearing</param>
|
|
</member>
|
|
<member name="T:HttpServer.RequestQueue">
|
|
<summary>
|
|
Used to queue incoming requests.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class.
|
|
</summary>
|
|
<param name="handler">Called when a request should be processed.</param>
|
|
</member>
|
|
<member name="M:HttpServer.RequestQueue.QueueThread">
|
|
<summary>
|
|
Used to process queued requests.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestQueue.MaxRequestCount">
|
|
<summary>
|
|
Gets or sets maximum number of allowed simultaneous requests.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestQueue.MaxQueueSize">
|
|
<summary>
|
|
Gets or sets maximum number of requests queuing to be handled.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestQueue.CurrentRequestCount">
|
|
<summary>
|
|
Specifies how many requests the HTTP server is currently processing.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RequestQueue.QueueItem">
|
|
<summary>
|
|
Used two queue incoming requests to avoid
|
|
thread starvation.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ProcessRequestHandler">
|
|
<summary>
|
|
Method used to process a queued request
|
|
</summary>
|
|
<param name="context">Context that the request was received from.</param>
|
|
<param name="request">Request to process.</param>
|
|
</member>
|
|
<member name="T:HttpServer.RequestParserFactory">
|
|
<summary>
|
|
Creates request parsers when needed.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IRequestParserFactory">
|
|
<summary>
|
|
Creates request parsers when needed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Create a new request parser.
|
|
</summary>
|
|
<param name="logWriter">Used when logging should be enabled.</param>
|
|
<returns>A new request parser.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Create a new request parser.
|
|
</summary>
|
|
<param name="logWriter">Used when logging should be enabled.</param>
|
|
<returns>A new request parser.</returns>
|
|
</member>
|
|
<member name="T:HttpServer.HttpResponse">
|
|
<summary>
|
|
Response that is sent back to the web browser / client.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
A response can be sent if different ways. The easiest one is
|
|
to just fill the Body stream with content, everything else
|
|
will then be taken care of by the framework. The default content-type
|
|
is text/html, you should change it if you send anything else.
|
|
</para><para>
|
|
The second and slightly more complex way is to send the response
|
|
as parts. Start with sending the header using the SendHeaders method and
|
|
then you can send the body using SendBody method, but do not forget
|
|
to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so.
|
|
</para>
|
|
</remarks>
|
|
<example>
|
|
<code>
|
|
// Example using response body.
|
|
class MyModule : HttpModule
|
|
{
|
|
public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session)
|
|
{
|
|
StreamWriter writer = new StreamWriter(response.Body);
|
|
writer.WriteLine("Hello dear World!");
|
|
writer.Flush();
|
|
|
|
// return true to tell webserver that we've handled the url
|
|
return true;
|
|
}
|
|
}
|
|
</code>
|
|
</example>
|
|
todo: add two examples, using SendHeaders/SendBody and just the Body stream.
|
|
</member>
|
|
<member name="T:HttpServer.IHttpResponse">
|
|
<summary>
|
|
Response that is sent back to the web browser / client.
|
|
|
|
A response can be sent if different ways. The easiest one is
|
|
to just fill the Body stream with content, everything else
|
|
will then be taken care of by the framework. The default content-type
|
|
is text/html, you should change it if you send anything else.
|
|
|
|
The second and slighty more complex way is to send the response
|
|
as parts. Start with sending the header using the SendHeaders method and
|
|
then you can send the body using SendBody method, but do not forget
|
|
to set ContentType and ContentLength before doing so.
|
|
</summary>
|
|
<example>
|
|
public void MyHandler(IHttpRequest request, IHttpResponse response)
|
|
{
|
|
|
|
}
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)">
|
|
<summary>
|
|
Add another header to the document.
|
|
</summary>
|
|
<param name="name">Name of the header, case sensitive, use lower cases.</param>
|
|
<param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
|
|
<remarks>Adding any header will override the default ones and those specified by properties.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.Send">
|
|
<summary>
|
|
Send headers and body to the browser.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Make sure that you have specified ContentLength and sent the headers first.
|
|
</summary>
|
|
<param name="buffer"></param>
|
|
<exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
|
|
<see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
|
|
<param name="offset">offest of first byte to send</param>
|
|
<param name="count">number of bytes to send.</param>
|
|
<seealso cref="M:HttpServer.IHttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
|
|
<remarks>This method can be used if you want to send body contents without caching them first. This
|
|
is recommended for larger files to keep the memory usage low.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])">
|
|
<summary>
|
|
Make sure that you have specified ContentLength and sent the headers first.
|
|
</summary>
|
|
<param name="buffer"></param>
|
|
<exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
|
|
<see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
|
|
<seealso cref="M:HttpServer.IHttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
|
|
<remarks>This method can be used if you want to send body contents without caching them first. This
|
|
is recommended for larger files to keep the memory usage low.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.SendHeaders">
|
|
<summary>
|
|
Send headers to the client.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/>
|
|
<seealso cref="M:HttpServer.IHttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)">
|
|
<summary>
|
|
Redirect client to somewhere else using the 302 status code.
|
|
</summary>
|
|
<param name="uri">Destination of the redirect</param>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<remarks>You can not do anything more with the request when a redirect have been done. This should be your last
|
|
action.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpResponse.Redirect(System.String)">
|
|
<summary>
|
|
redirect to somewhere
|
|
</summary>
|
|
<param name="url">where the redirect should go</param>
|
|
<remarks>
|
|
No body are allowed when doing redirects.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Body">
|
|
<summary>
|
|
The body stream is used to cache the body contents
|
|
before sending everything to the client. It's the simplest
|
|
way to serve documents.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.ProtocolVersion">
|
|
<summary>
|
|
Defines the version of the HTTP Response for applications where it's required
|
|
for this to be forced.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Chunked">
|
|
<summary>
|
|
The chunked encoding modifies the body of a message in order to
|
|
transfer it as a series of chunks, each with its own size indicator,
|
|
followed by an OPTIONAL trailer containing entity-header fields. This
|
|
allows dynamically produced content to be transferred along with the
|
|
information necessary for the recipient to verify that it has
|
|
received the full message.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Connection">
|
|
<summary>
|
|
Kind of connection
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Encoding">
|
|
<summary>
|
|
Encoding to use when sending stuff to the client.
|
|
</summary>
|
|
<remarks>Default is UTF8</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.KeepAlive">
|
|
<summary>
|
|
Number of seconds to keep connection alive
|
|
</summary>
|
|
<remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Status">
|
|
<summary>
|
|
Status code that is sent to the client.
|
|
</summary>
|
|
<remarks>Default is HttpStatusCode.Ok</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Reason">
|
|
<summary>
|
|
Information about why a specific status code was used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.ContentLength">
|
|
<summary>
|
|
Size of the body. MUST be specified before sending the header,
|
|
unless property Chunked is set to true.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.ContentType">
|
|
<summary>
|
|
Kind of content in the body
|
|
</summary>
|
|
<remarks>Default is text/html</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.HeadersSent">
|
|
<summary>
|
|
Headers have been sent to the client-
|
|
</summary>
|
|
<remarks>You can not send any additional headers if they have already been sent.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Sent">
|
|
<summary>
|
|
The whole response have been sent.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpResponse.Cookies">
|
|
<summary>
|
|
Cookies that should be created/changed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
|
|
</summary>
|
|
<param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
|
|
<param name="request">Contains information of what the client want to receive.</param>
|
|
<exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
|
|
</summary>
|
|
<param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
|
|
<param name="httpVersion">Version of HTTP protocol that the client uses.</param>
|
|
<param name="connectionType">Type of HTTP connection used.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)">
|
|
<summary>
|
|
Add another header to the document.
|
|
</summary>
|
|
<param name="name">Name of the header, case sensitive, use lower cases.</param>
|
|
<param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
|
|
<remarks>Adding any header will override the default ones and those specified by properties.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.Send">
|
|
<summary>
|
|
Send headers and body to the browser.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
|
|
</summary>
|
|
<param name="buffer"></param>
|
|
<exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
|
|
<see cref="M:HttpServer.HttpResponse.SendHeaders"/>
|
|
<param name="offset">offset of first byte to send</param>
|
|
<param name="count">number of bytes to send.</param>
|
|
<seealso cref="M:HttpServer.HttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
|
|
<remarks>This method can be used if you want to send body contents without caching them first. This
|
|
is recommended for larger files to keep the memory usage low.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])">
|
|
<summary>
|
|
Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
|
|
</summary>
|
|
<param name="buffer"></param>
|
|
<exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
|
|
<see cref="M:HttpServer.HttpResponse.SendHeaders"/>
|
|
<seealso cref="M:HttpServer.HttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
|
|
<remarks>This method can be used if you want to send body contents without caching them first. This
|
|
is recommended for larger files to keep the memory usage low.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.SendHeaders">
|
|
<summary>
|
|
Send headers to the client.
|
|
</summary>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/>
|
|
<seealso cref="M:HttpServer.HttpResponse.Send"/>
|
|
<seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.Redirect(System.Uri)">
|
|
<summary>
|
|
Redirect client to somewhere else using the 302 status code.
|
|
</summary>
|
|
<param name="uri">Destination of the redirect</param>
|
|
<exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
|
|
<remarks>You can not do anything more with the request when a redirect have been done. This should be your last
|
|
action.</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpResponse.Redirect(System.String)">
|
|
<summary>
|
|
redirect to somewhere
|
|
</summary>
|
|
<param name="url">where the redirect should go</param>
|
|
<remarks>
|
|
No body are allowed when doing redirects.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Body">
|
|
<summary>
|
|
The body stream is used to cache the body contents
|
|
before sending everything to the client. It's the simplest
|
|
way to serve documents.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Chunked">
|
|
<summary>
|
|
The chunked encoding modifies the body of a message in order to
|
|
transfer it as a series of chunks, each with its own size indicator,
|
|
followed by an OPTIONAL trailer containing entity-header fields. This
|
|
allows dynamically produced content to be transferred along with the
|
|
information necessary for the recipient to verify that it has
|
|
received the full message.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.ProtocolVersion">
|
|
<summary>
|
|
Defines the version of the HTTP Response for applications where it's required
|
|
for this to be forced.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Connection">
|
|
<summary>
|
|
Kind of connection
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Encoding">
|
|
<summary>
|
|
Encoding to use when sending stuff to the client.
|
|
</summary>
|
|
<remarks>Default is UTF8</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.KeepAlive">
|
|
<summary>
|
|
Number of seconds to keep connection alive
|
|
</summary>
|
|
<remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.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.HttpResponse.Reason">
|
|
<summary>
|
|
Information about why a specific status code was used.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.ContentLength">
|
|
<summary>
|
|
Size of the body. MUST be specified before sending the header,
|
|
unless property Chunked is set to true.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.ContentType">
|
|
<summary>
|
|
Kind of content in the body
|
|
</summary>
|
|
<remarks>Default type is "text/html"</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.HeadersSent">
|
|
<summary>
|
|
Headers have been sent to the client-
|
|
</summary>
|
|
<remarks>You can not send any additional headers if they have already been sent.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Sent">
|
|
<summary>
|
|
The whole response have been sent.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpResponse.Cookies">
|
|
<summary>
|
|
Cookies that should be created/changed.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpContextFactory">
|
|
<summary>
|
|
Used to create and reuse contexts.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpContextFactory">
|
|
<summary>
|
|
Used to create <see cref="T:HttpServer.IHttpClientContext"/>es.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
|
|
</summary>
|
|
<param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
|
|
<returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
|
|
<summary>
|
|
Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</summary>
|
|
<param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
|
|
<param name="certificate">HTTPS certificate to use.</param>
|
|
<param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
|
|
<returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpContextFactory.RequestReceived">
|
|
<summary>
|
|
A request have been received from one of the contexts.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class.
|
|
</summary>
|
|
<param name="writer">The writer.</param>
|
|
<param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param>
|
|
<param name="factory">Used to create a request parser.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create a new context.
|
|
</summary>
|
|
<param name="isSecured">true if socket is running HTTPS.</param>
|
|
<param name="endPoint">Client that connected</param>
|
|
<param name="stream">Network/SSL stream.</param>
|
|
<returns>A context.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Create a new context.
|
|
</summary>
|
|
<param name="isSecured">true if HTTPS is used.</param>
|
|
<param name="endPoint">Remote client</param>
|
|
<param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param>
|
|
<returns>A new context (always).</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
|
|
<summary>
|
|
Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</summary>
|
|
<param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
|
|
<param name="certificate">HTTPS certificate to use.</param>
|
|
<param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
|
|
<returns>
|
|
A created <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
|
|
</summary>
|
|
<param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
|
|
<returns>
|
|
A creates <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpContextFactory.UseTraceLogs">
|
|
<summary>
|
|
True if detailed trace logs should be written.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpContextFactory.RequestReceived">
|
|
<summary>
|
|
A request have been received from one of the contexts.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ReusableSocketNetworkStream">
|
|
<summary>
|
|
Custom network stream to mark sockets as reusable when disposing the stream.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.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 null.
|
|
</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.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 true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is null.
|
|
</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.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 null.
|
|
</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.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 true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
|
|
</param>
|
|
<exception cref="T:System.ArgumentNullException">
|
|
The <paramref name="socket" /> parameter is null.
|
|
</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.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.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">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.BasicAuthentication">
|
|
<summary>
|
|
The "basic" authentication scheme is based on the model that the
|
|
client must authenticate itself with a user-ID and a password for
|
|
each realm. The realm value should be considered an opaque string
|
|
which can only be compared for equality with other realms on that
|
|
server. The server will service the request only if it can validate
|
|
the user-ID and password for the protection space of the Request-URI.
|
|
There are no optional authentication parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.AuthenticationModule">
|
|
<summary>
|
|
Authentication modules are used to implement different
|
|
kind of HTTP authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag">
|
|
<summary>
|
|
Tag used for authentication.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</param>
|
|
<param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])">
|
|
<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">Array with optional options.</param>
|
|
<returns>A correct authentication request.</returns>
|
|
<exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])">
|
|
<summary>
|
|
An authentication response have been received from the web browser.
|
|
Check if it's correct
|
|
</summary>
|
|
<param name="authenticationHeader">Contents from the Authorization header</param>
|
|
<param name="realm">Realm that should be authenticated</param>
|
|
<param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
|
|
<param name="options">options to specific implementations</param>
|
|
<returns>Authentication object that is stored for the request. A user class or something like that.</returns>
|
|
<exception cref="T:System.ArgumentException">if <paramref name="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.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)">
|
|
<summary>
|
|
Used to invoke the authentication delegate that is used to lookup the user name/realm.
|
|
</summary>
|
|
<param name="realm">Realm (domain) that user want to authenticate in</param>
|
|
<param name="userName">User name</param>
|
|
<param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param>
|
|
<param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param>
|
|
<returns>true if authentication was successful</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Determines if authentication is required.
|
|
</summary>
|
|
<param name="request">HTTP request from browser</param>
|
|
<returns>true if user should be authenticated.</returns>
|
|
<remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks>
|
|
<exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.AuthenticationModule.Name">
|
|
<summary>
|
|
name used in HTTP request.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</param>
|
|
<param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])">
|
|
<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 in basic auth</param>
|
|
<returns>A correct auth request.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
|
|
<summary>
|
|
An authentication response have been received from the web browser.
|
|
Check if it's correct
|
|
</summary>
|
|
<param name="authenticationHeader">Contents from the Authorization header</param>
|
|
<param name="realm">Realm that should be authenticated</param>
|
|
<param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
|
|
<param name="options">Not used in basic auth</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.Name">
|
|
<summary>
|
|
name used in http request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs">
|
|
<summary>
|
|
Used to inform http server that
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)">
|
|
<summary>
|
|
Eventarguments used when an exception is thrown by a module
|
|
</summary>
|
|
<param name="e">the exception</param>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception">
|
|
<summary>
|
|
Exception thrown in a module
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.Implementations.PrototypeImp">
|
|
<summary>
|
|
PrototypeJS implementation of the javascript functions.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.JavascriptHelperImplementation">
|
|
<summary>
|
|
Purpose of this class is to create a javascript toolkit independent javascript helper.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)">
|
|
<summary>
|
|
Generates a list with JS options.
|
|
</summary>
|
|
<param name="sb">StringBuilder that the options should be added to.</param>
|
|
<param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param>
|
|
<param name="startWithComma">true if we should start with a comma.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])">
|
|
<summary>
|
|
Removes any javascript parameters from an array of parameters
|
|
</summary>
|
|
<param name="options">The array of parameters to remove javascript params from</param>
|
|
<returns>An array of html parameters</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])">
|
|
<summary>
|
|
javascript action that should be added to the "onsubmit" event in the form tag.
|
|
</summary>
|
|
<returns></returns>
|
|
<remarks>All javascript option names should end with colon.</remarks>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])">
|
|
<summary>
|
|
Requests a url through ajax
|
|
</summary>
|
|
<param name="url">url to fetch</param>
|
|
<param name="options">optional options in format "key, value, key, value", used in JS request object.</param>
|
|
<returns>a link tag</returns>
|
|
<remarks>All javascript option names should end with colon.</remarks>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Ajax requests that updates an element with
|
|
the fetched content
|
|
</summary>
|
|
<param name="url">Url to fetch content from</param>
|
|
<param name="targetId">element to update</param>
|
|
<param name="options">optional options in format "key, value, key, value", used in JS updater object.</param>
|
|
<returns>A link tag.</returns>
|
|
<remarks>All javascript option names should end with colon.</remarks>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])">
|
|
<summary>
|
|
A link that pop ups a Dialog (overlay div)
|
|
</summary>
|
|
<param name="url">url to contents of dialog</param>
|
|
<param name="title">link title</param>
|
|
<returns>A "a"-tag that popups a dialog when clicked</returns>
|
|
<param name="htmlAttributes">name/value of html attributes</param>
|
|
<example>
|
|
WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog">
|
|
<summary>
|
|
Close a javascript dialog window/div.
|
|
</summary>
|
|
<returns>javascript for closing a dialog.</returns>
|
|
<see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Creates a new modal dialog window
|
|
</summary>
|
|
<param name="url">url to open in window.</param>
|
|
<param name="title">window title (may not be supported by all js implementations)</param>
|
|
<param name="options"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])">
|
|
<summary>
|
|
Requests a url through ajax
|
|
</summary>
|
|
<param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
|
|
<param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
|
|
<returns>a link tag</returns>
|
|
<remarks>onclick attribute is used by this method.</remarks>
|
|
<example>
|
|
<code>
|
|
// plain text
|
|
JSHelper.AjaxRequest("'/user/show/1'");
|
|
|
|
// ajax request using this.href
|
|
string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)">
|
|
<summary>
|
|
Determins if a list of strings contains a specific value
|
|
</summary>
|
|
<param name="options">options to check in</param>
|
|
<param name="value">value to find</param>
|
|
<returns>true if value was found</returns>
|
|
<remarks>case insensitive</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Ajax requests that updates an element with
|
|
the fetched content
|
|
</summary>
|
|
<param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
|
|
<param name="targetId">element to update</param>
|
|
<param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
|
|
<returns>A link tag.</returns>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])">
|
|
<summary>
|
|
A link that pop ups a Dialog (overlay div)
|
|
</summary>
|
|
<param name="url">URL to contents of dialog</param>
|
|
<param name="title">link title</param>
|
|
<param name="htmlAttributes">name, value, name, value</param>
|
|
<returns>
|
|
A "a"-tag that popups a dialog when clicked
|
|
</returns>
|
|
<remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para>
|
|
And the following JavaScript (load it in application.js):
|
|
<code>
|
|
Event.observe(window, 'load',
|
|
function() {
|
|
document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
|
|
}
|
|
);
|
|
</code>
|
|
</remarks>
|
|
<example>
|
|
WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])">
|
|
<summary>
|
|
create a modal dialog (usually using DIVs)
|
|
</summary>
|
|
<param name="url">url to fetch</param>
|
|
<param name="title">dialog title</param>
|
|
<param name="options">javascript/html attributes. javascript options ends with colon ':'.</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog">
|
|
<summary>
|
|
Close a javascript dialog window/div.
|
|
</summary>
|
|
<returns>javascript for closing a dialog.</returns>
|
|
<see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])">
|
|
<summary>
|
|
javascript action that should be added to the "onsubmit" event in the form tag.
|
|
</summary>
|
|
<param name="options">remember to encapsulate strings in ''</param>
|
|
<returns></returns>
|
|
<remarks>All javascript option names should end with colon.</remarks>
|
|
<example>
|
|
<code>
|
|
JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
|
|
</code>
|
|
</example>
|
|
</member>
|
|
<member name="T:HttpServer.ContentType">
|
|
<summary>
|
|
Lists content type mime types.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ContentType.Text">
|
|
<summary>
|
|
text/plain
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ContentType.Html">
|
|
<summary>
|
|
text/haml
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ContentType.Javascript">
|
|
<summary>
|
|
content type for javascript documents = application/javascript
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
RFC 4329 states that text/javascript have been superseeded by
|
|
application/javascript. You might still want to check browser versions
|
|
since older ones do not support application/javascript.
|
|
</para>
|
|
<para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.ContentType.Xml">
|
|
<summary>
|
|
text/xml
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.ContentTypes">
|
|
<summary>
|
|
A list of content types
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.ContentTypes.#ctor(System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="types">Semicolon separated content types.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ContentTypes.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>
|
|
</member>
|
|
<member name="M:HttpServer.ContentTypes.Contains(System.String)">
|
|
<summary>
|
|
Searches for the specified type
|
|
</summary>
|
|
<param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param>
|
|
<returns>true if type was found.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.ContentTypes.First">
|
|
<summary>
|
|
Get this first content type.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ContentTypes.Item(System.String)">
|
|
<summary>
|
|
Fetch a content type
|
|
</summary>
|
|
<param name="type">Part of type ("xml" would return "application/xml")</param>
|
|
<returns></returns>
|
|
<remarks>All content types are in lower case.</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Parser.HeaderEventArgs">
|
|
<summary>
|
|
Event arguments used when a new header have been parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
|
|
</summary>
|
|
<param name="name">Name of header.</param>
|
|
<param name="value">Header value.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.HeaderEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.HeaderEventArgs.Name">
|
|
<summary>
|
|
Gets or sets header name.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.HeaderEventArgs.Value">
|
|
<summary>
|
|
Gets or sets header value.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.ReverseProxyModule">
|
|
<summary>
|
|
A reverse proxy are used to act as a bridge between local (protected/hidden) websites
|
|
and public clients.
|
|
|
|
A typical usage is to allow web servers on non standard ports to still be available
|
|
to the public clients, or allow web servers on private ips to be available.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="source">Base url requested from browser</param>
|
|
<param name="destination">Base url on private web server</param>
|
|
<example>
|
|
// this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas
|
|
_server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)">
|
|
<summary>
|
|
Method that determines if an url should be handled or not by the module
|
|
</summary>
|
|
<param name="uri">Url requested by the client.</param>
|
|
<returns>true if module should handle the url.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Method that process the url
|
|
</summary>
|
|
<param name="request">Information sent by the browser about the request</param>
|
|
<param name="response">Information that is being sent back to the client.</param>
|
|
<param name="session">Session used to </param>
|
|
</member>
|
|
<member name="T:HttpServer.HttpClientContext">
|
|
<summary>
|
|
Contains a connection to a browser/client.
|
|
</summary>
|
|
<remarks>
|
|
Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event.
|
|
</remarks>
|
|
TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext?
|
|
</member>
|
|
<member name="T:HttpServer.IHttpClientContext">
|
|
<summary>
|
|
Contains a connection to a browser/client.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
|
|
<summary>
|
|
Disconnect from client
|
|
</summary>
|
|
<param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
|
|
<param name="statusCode">HTTP status code</param>
|
|
<param name="reason">reason for the status code.</param>
|
|
<param name="body">HTML body contents, can be null or empty.</param>
|
|
<param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
|
|
<exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
|
|
<param name="statusCode">HTTP status code</param>
|
|
<param name="reason">reason for the status code.</param>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Respond(System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])">
|
|
<summary>
|
|
send a whole buffer
|
|
</summary>
|
|
<param name="buffer">buffer to send</param>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Send data using the stream
|
|
</summary>
|
|
<param name="buffer">Contains data to send</param>
|
|
<param name="offset">Start position in buffer</param>
|
|
<param name="size">number of bytes to send</param>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpClientContext.Close">
|
|
<summary>
|
|
Closes the streams and disposes of the unmanaged resources
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpClientContext.Secured">
|
|
<summary>
|
|
Using SSL or other encryption method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpClientContext.IsSecured">
|
|
<summary>
|
|
Using SSL or other encryption method.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpClientContext.Disconnected">
|
|
<summary>
|
|
The context have been disconnected.
|
|
</summary>
|
|
<remarks>
|
|
Event can be used to clean up a context, or to reuse it.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.IHttpClientContext.RequestReceived">
|
|
<summary>
|
|
A request have been received in the context.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class.
|
|
</summary>
|
|
<param name="secured">true if the connection is secured (SSL/TLS)</param>
|
|
<param name="remoteEndPoint">client that connected.</param>
|
|
<param name="stream">Stream used for communication</param>
|
|
<param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param>
|
|
<param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param>
|
|
<exception cref="T:System.Net.Sockets.SocketException">If <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> fails</exception>
|
|
<exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)">
|
|
<summary>
|
|
Process incoming body bytes.
|
|
</summary>
|
|
<param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param>
|
|
<param name="e">Bytes</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="sender"></param>
|
|
<param name="e"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Start">
|
|
<summary>
|
|
Start reading content.
|
|
</summary>
|
|
<remarks>
|
|
Make sure to call base.Start() if you override this method.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Cleanup">
|
|
<summary>
|
|
Clean up context.
|
|
</summary>
|
|
<remarks>
|
|
Make sure to call base.Cleanup() if you override the method.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
|
|
<summary>
|
|
Disconnect from client
|
|
</summary>
|
|
<param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)">
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
|
|
<param name="statusCode">HTTP status code</param>
|
|
<param name="reason">reason for the status code.</param>
|
|
<param name="body">HTML body contents, can be null or empty.</param>
|
|
<param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
|
|
<exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
|
|
<param name="statusCode">HTTP status code</param>
|
|
<param name="reason">reason for the status code.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Respond(System.String)">
|
|
<summary>
|
|
Send a response.
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Send(System.Byte[])">
|
|
<summary>
|
|
send a whole buffer
|
|
</summary>
|
|
<param name="buffer">buffer to send</param>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Send data using the stream
|
|
</summary>
|
|
<param name="buffer">Contains data to send</param>
|
|
<param name="offset">Start position in buffer</param>
|
|
<param name="size">number of bytes to send</param>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException"></exception>
|
|
</member>
|
|
<member name="E:HttpServer.HttpClientContext.Cleaned">
|
|
<summary>
|
|
This context have been cleaned, which means that it can be reused.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpClientContext.Started">
|
|
<summary>
|
|
Context have been started (a new client have connected)
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.CurrentRequest">
|
|
<summary>
|
|
Overload to specify own type.
|
|
</summary>
|
|
<remarks>
|
|
Must be specified before the context is being used.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.Secured">
|
|
<summary>
|
|
Using SSL or other encryption method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.IsSecured">
|
|
<summary>
|
|
Using SSL or other encryption method.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.LogWriter">
|
|
<summary>
|
|
Specify which logger to use.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.Stream">
|
|
<summary>
|
|
Gets or sets the network stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.RemoteAddress">
|
|
<summary>
|
|
Gets or sets IP address that the client connected from.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpClientContext.RemotePort">
|
|
<summary>
|
|
Gets or sets port that the client connected from.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpClientContext.Disconnected">
|
|
<summary>
|
|
The context have been disconnected.
|
|
</summary>
|
|
<remarks>
|
|
Event can be used to clean up a context, or to reuse it.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.HttpClientContext.RequestReceived">
|
|
<summary>
|
|
A request have been received in the context.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.XmlHelper">
|
|
<summary>
|
|
Helpers to make XML handling easier
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)">
|
|
<summary>
|
|
Serializes object to XML.
|
|
</summary>
|
|
<param name="value">object to serialize.</param>
|
|
<returns>XML</returns>
|
|
<remarks>
|
|
Removes name spaces and adds indentation
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)">
|
|
<summary>
|
|
Create an object from a XML string
|
|
</summary>
|
|
<typeparam name="T">Type of object</typeparam>
|
|
<param name="xml">XML string</param>
|
|
<returns>object</returns>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.UrlDecoder">
|
|
<summary>
|
|
Can handle application/x-www-form-urlencoded
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
|
|
<summary>
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
|
|
<param name="encoding">Stream encoding</param>
|
|
<returns>
|
|
A HTTP form, or null if content could not be parsed.
|
|
</returns>
|
|
<exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)">
|
|
<summary>
|
|
Checks if the decoder can handle the mime type
|
|
</summary>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
|
|
<returns>True if the decoder can parse the specified content type</returns>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.ForbiddenException">
|
|
<summary>
|
|
The server understood the request, but is refusing to fulfill it.
|
|
Authorization will not help and the request SHOULD NOT be repeated.
|
|
If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled,
|
|
it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information
|
|
available to the client, the status code 404 (Not Found) can be used instead.
|
|
|
|
Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class.
|
|
</summary>
|
|
<param name="errorMsg">error message</param>
|
|
</member>
|
|
<member name="T:HttpServer.ClientAcceptedEventArgs">
|
|
<summary>
|
|
Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/>
|
|
</summary>
|
|
<remarks>
|
|
Can be used to revoke incoming connections
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class.
|
|
</summary>
|
|
<param name="socket">The socket.</param>
|
|
</member>
|
|
<member name="M:HttpServer.ClientAcceptedEventArgs.Revoke">
|
|
<summary>
|
|
Client may not be handled.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ClientAcceptedEventArgs.Socket">
|
|
<summary>
|
|
Accepted socket.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ClientAcceptedEventArgs.Revoked">
|
|
<summary>
|
|
Client should be revoked.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.ResourceManager">
|
|
<summary>Class to handle loading of resource files</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
|
|
</summary>
|
|
<param name="writer">logger.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Loads resources from a namespace in the given assembly to an URI
|
|
</summary>
|
|
<param name="toUri">The URI to map the resources to</param>
|
|
<param name="fromAssembly">The assembly in which the resources reside</param>
|
|
<param name="fromNamespace">The namespace from which to load the resources</param>
|
|
<usage>
|
|
<code>
|
|
resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
|
|
</code>
|
|
Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
|
|
</usage>
|
|
<returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
|
|
<exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)">
|
|
<summary>
|
|
Retrieves a stream for the specified resource path if loaded otherwise null
|
|
</summary>
|
|
<param name="path">Path to the resource to retrieve a stream for</param>
|
|
<returns>A stream or null if the resource couldn't be found</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)">
|
|
<summary>
|
|
Fetch all files from the resource that matches the specified arguments.
|
|
</summary>
|
|
<param name="path">The path to the resource to extract</param>
|
|
<returns>
|
|
a list of files if found; or an empty array if no files are found.
|
|
</returns>
|
|
<exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)">
|
|
<summary>
|
|
Fetch all files from the resource that matches the specified arguments.
|
|
</summary>
|
|
<param name="path">Where the file should reside.</param>
|
|
<param name="filename">Files to check</param>
|
|
<returns>
|
|
a list of files if found; or an empty array if no files are found.
|
|
</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)">
|
|
<summary>
|
|
Returns whether or not the loader has an instance of the file requested
|
|
</summary>
|
|
<param name="filename">The name of the template/file</param>
|
|
<returns>True if the loader can provide the file</returns>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine">
|
|
<summary>
|
|
|
|
</summary>
|
|
<returns></returns>
|
|
<exception cref="T:System.ArgumentOutOfRangeException"></exception>
|
|
<exception cref="T:System.ObjectDisposedException"></exception>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.HttpMultipart.Element">
|
|
<summary>Represents a field in a multipart form</summary>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.FormDecoderProvider">
|
|
<summary>
|
|
This provider is used to let us implement any type of form decoding we want without
|
|
having to rewrite anything else in the server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param>
|
|
<param name="stream">Stream containing form data.</param>
|
|
<param name="encoding">Encoding used when decoding the stream</param>
|
|
<returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns>
|
|
<exception cref="T:System.ArgumentException">If stream is null or not readable.</exception>
|
|
<exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)">
|
|
<summary>
|
|
Add a decoder.
|
|
</summary>
|
|
<param name="decoder"></param>
|
|
<exception cref="T:System.ArgumentNullException"></exception>
|
|
</member>
|
|
<member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count">
|
|
<summary>
|
|
Number of added decoders.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders">
|
|
<summary>
|
|
Use with care.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder">
|
|
<summary>
|
|
Decoder used for unknown content types.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RealmHandler">
|
|
<summary>
|
|
Delegate used to find a realm/domain.
|
|
</summary>
|
|
<param name="domain"></param>
|
|
<returns></returns>
|
|
<remarks>
|
|
Realms are used during HTTP Authentication
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.Authentication.AuthenticationModule"/>
|
|
<seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/>
|
|
</member>
|
|
<member name="T:HttpServer.HttpServer">
|
|
<summary>
|
|
A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
|
|
</summary>
|
|
<example>
|
|
<code>
|
|
// this small example will add two web site modules, thus handling
|
|
// two different sites. In reality you should add Controller modules or something
|
|
// two the website modules to be able to handle different requests.
|
|
HttpServer server = new HttpServer();
|
|
server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
|
|
server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
|
|
|
|
// start regular http
|
|
server.Start(IPAddress.Any, 80);
|
|
|
|
// start https
|
|
server.Start(IPAddress.Any, 443, myCertificate);
|
|
</code>
|
|
</example>
|
|
<seealso cref="T:HttpServer.HttpModules.HttpModule"/>
|
|
<seealso cref="T:HttpServer.HttpModules.FileModule"/>
|
|
<seealso cref="T:HttpServer.HttpListener"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="provider">Used to get all components used in the server..</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
|
|
<seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
|
|
<seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="sessionStore">A session store is used to save and retrieve sessions</param>
|
|
<seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="logWriter">The log writer.</param>
|
|
<seealso cref="P:HttpServer.HttpServer.LogWriter"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
|
|
<param name="logWriter">The log writer.</param>
|
|
<seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
|
|
<seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
|
|
<seealso cref="P:HttpServer.HttpServer.LogWriter"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
|
|
</summary>
|
|
<param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
|
|
<param name="sessionStore">A session store is used to save and retrieve sessions</param>
|
|
<param name="logWriter">The log writer.</param>
|
|
<seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
|
|
<seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
|
|
<seealso cref="P:HttpServer.HttpServer.LogWriter"/>
|
|
<seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)">
|
|
<summary>
|
|
Adds the specified rule.
|
|
</summary>
|
|
<param name="rule">The rule.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)">
|
|
<summary>
|
|
Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server.
|
|
</summary>
|
|
<param name="module">mode to add</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Decodes the request body.
|
|
</summary>
|
|
<param name="request">The request.</param>
|
|
<exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)">
|
|
<summary>
|
|
Generate a HTTP error page (that will be added to the response body).
|
|
response status code is also set.
|
|
</summary>
|
|
<param name="response">Response that the page will be generated in.</param>
|
|
<param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param>
|
|
<param name="body">response body contents.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)">
|
|
<summary>
|
|
Generate a HTTP error page (that will be added to the response body).
|
|
response status code is also set.
|
|
</summary>
|
|
<param name="response">Response that the page will be generated in.</param>
|
|
<param name="err">exception.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s.
|
|
</summary>
|
|
<param name="request">HTTP request</param>
|
|
<returns>domain/realm.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Process an incoming request.
|
|
</summary>
|
|
<param name="context">connection to client</param>
|
|
<param name="request">request information</param>
|
|
<param name="response">response that should be filled</param>
|
|
<param name="session">session information</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
|
|
<summary>
|
|
Can be overloaded to implement stuff when a client have been connected.
|
|
</summary>
|
|
<remarks>
|
|
Default implementation does nothing.
|
|
</remarks>
|
|
<param name="client">client that disconnected</param>
|
|
<param name="error">disconnect reason</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Handle authentication
|
|
</summary>
|
|
<param name="request"></param>
|
|
<param name="response"></param>
|
|
<param name="session"></param>
|
|
<returns>true if request can be handled; false if not.</returns>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
|
|
<summary>
|
|
Will request authentication.
|
|
</summary>
|
|
<remarks>
|
|
Sends respond to client, nothing else can be done with the response after this.
|
|
</remarks>
|
|
<param name="mod"></param>
|
|
<param name="request"></param>
|
|
<param name="response"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)">
|
|
<summary>
|
|
Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully.
|
|
</summary>
|
|
<param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param>
|
|
<param name="args">The request.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
|
|
<summary>
|
|
To be able to track request count.
|
|
</summary>
|
|
<param name="context"></param>
|
|
<param name="request"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)">
|
|
<summary>
|
|
Start the web server using regular HTTP.
|
|
</summary>
|
|
<param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param>
|
|
<param name="port">Port to listen on. 80 can be a good idea =)</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
|
|
<summary>
|
|
Accept secure connections.
|
|
</summary>
|
|
<param name="address">IP Address to listen on, use <see cref="F:System.Net.IPAddress.Any"/> to accept connections on all IP Addresses / network cards.</param>
|
|
<param name="port">Port to listen on. 80 can be a good idea =)</param>
|
|
<param name="certificate">Certificate to use</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.Stop">
|
|
<summary>
|
|
shut down the server and listeners
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
write an entry to the log file
|
|
</summary>
|
|
<param name="prio">importance of the message</param>
|
|
<param name="message">log message</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)">
|
|
<summary>
|
|
write an entry to the log file
|
|
</summary>
|
|
<param name="source">object that wrote the message</param>
|
|
<param name="prio">importance of the message</param>
|
|
<param name="message">log message</param>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.Current">
|
|
<summary>
|
|
Server that is handling the current request.
|
|
</summary>
|
|
<remarks>
|
|
Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.AuthenticationModules">
|
|
<summary>
|
|
Modules used for authentication. The module that is is added first is used as
|
|
the default authentication module.
|
|
</summary>
|
|
<remarks>Use the corresponding property
|
|
in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.FormDecoderProviders">
|
|
<summary>
|
|
Form decoder providers are used to decode request body (which normally contains form data).
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.ServerName">
|
|
<summary>
|
|
Server name sent in HTTP responses.
|
|
</summary>
|
|
<remarks>
|
|
Do NOT include version in name, since it makes it
|
|
easier for hackers.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.SessionCookieName">
|
|
<summary>
|
|
Name of cookie where session id is stored.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.LogWriter">
|
|
<summary>
|
|
Specified where logging should go.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.NullLogWriter"/>
|
|
<seealso cref="T:HttpServer.ConsoleLogWriter"/>
|
|
<seealso cref="P:HttpServer.HttpServer.LogWriter"/>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.BackLog">
|
|
<summary>
|
|
Number of connections that can wait to be accepted by the server.
|
|
</summary>
|
|
<remarks>Default is 10.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.MaxRequestCount">
|
|
<summary>
|
|
Gets or sets maximum number of allowed simultaneous requests.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This property is useful in busy systems. The HTTP server
|
|
will start queuing new requests if this limit is hit, instead
|
|
of trying to process all incoming requests directly.
|
|
</para>
|
|
<para>
|
|
The default number if allowed simultaneous requests are 10.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpServer.MaxQueueSize">
|
|
<summary>
|
|
Gets or sets maximum number of requests queuing to be handled.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
The WebServer will start turning requests away if response code
|
|
<see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server
|
|
is too busy to be able to handle the request.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.HttpServer.RealmWanted">
|
|
<summary>
|
|
Realms are used during HTTP authentication.
|
|
Default realm is same as server name.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpServer.ExceptionThrown">
|
|
<summary>
|
|
Let's to receive unhandled exceptions from the threads.
|
|
</summary>
|
|
<remarks>
|
|
Exceptions will be thrown during debug mode if this event is not used,
|
|
exceptions will be printed to console and suppressed during release mode.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.FormDecoders.MultipartDecoder">
|
|
<summary>
|
|
|
|
</summary>
|
|
<remarks>
|
|
http://www.faqs.org/rfcs/rfc1867.html
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType">
|
|
<summary>
|
|
multipart/form-data
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData">
|
|
<summary>
|
|
form-data
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="stream">Stream containing the content</param>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
|
|
<param name="encoding">Stream enconding</param>
|
|
<returns>A http form, or null if content could not be parsed.</returns>
|
|
<exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is null</exception>
|
|
</member>
|
|
<member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)">
|
|
<summary>
|
|
Checks if the decoder can handle the mime type
|
|
</summary>
|
|
<param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
|
|
<returns>True if the decoder can parse the specified content type</returns>
|
|
</member>
|
|
<member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)">
|
|
<summary>
|
|
Add a component instance
|
|
</summary>
|
|
<typeparam name="T">Interface type</typeparam>
|
|
<param name="instance">Instance to add</param>
|
|
</member>
|
|
<member name="M:HttpServer.ComponentProvider.Get``1">
|
|
<summary>
|
|
Get a component.
|
|
</summary>
|
|
<typeparam name="T">Interface type</typeparam>
|
|
<returns>Component if registered, otherwise null.</returns>
|
|
<remarks>
|
|
Component will get created if needed.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)">
|
|
<exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.ComponentProvider.Contains(System.Type)">
|
|
<summary>
|
|
Checks if the specified component interface have been added.
|
|
</summary>
|
|
<param name="interfaceType"></param>
|
|
<returns>true if found; otherwise false.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.ComponentProvider.Add``2">
|
|
<summary>
|
|
Add a component.
|
|
</summary>
|
|
<typeparam name="InterfaceType">Type being requested.</typeparam>
|
|
<typeparam name="InstanceType">Type being created.</typeparam>
|
|
<exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.FileModule">
|
|
<summary>
|
|
The purpose of this module is to serve files.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
|
|
</summary>
|
|
<param name="baseUri">Uri to serve, for instance "/files/"</param>
|
|
<param name="basePath">Path on hard drive where we should start looking for files</param>
|
|
<param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
|
|
</summary>
|
|
<param name="baseUri">Uri to serve, for instance "/files/"</param>
|
|
<param name="basePath">Path on hard drive where we should start looking for files</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes">
|
|
<summary>
|
|
Mimtypes that this class can handle per default
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)">
|
|
<summary>
|
|
Determines if the request should be handled by this module.
|
|
Invoked by the <see cref="T:HttpServer.HttpServer"/>
|
|
</summary>
|
|
<param name="uri"></param>
|
|
<returns>true if this module should handle it.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)">
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
|
|
<summary>
|
|
check if source contains any of the chars.
|
|
</summary>
|
|
<param name="source"></param>
|
|
<param name="chars"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Method that process the Uri.
|
|
</summary>
|
|
<param name="request">Information sent by the browser about the request</param>
|
|
<param name="response">Information that is being sent back to the client.</param>
|
|
<param name="session">Session used to </param>
|
|
<exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception>
|
|
<exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)">
|
|
<summary>
|
|
return a file extension from an absolute Uri path (or plain filename)
|
|
</summary>
|
|
<param name="uri"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.FileModule.MimeTypes">
|
|
<summary>
|
|
List with all mime-type that are allowed.
|
|
</summary>
|
|
<remarks>All other mime types will result in a Forbidden http status code.</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars">
|
|
<summary>
|
|
characters that may not exist in a path.
|
|
</summary>
|
|
<example>
|
|
fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" };
|
|
</example>
|
|
</member>
|
|
<member name="T:HttpServer.HttpListenerBase">
|
|
<summary>
|
|
Contains a listener that doesn't do anything with the connections.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
|
|
<summary>
|
|
Listen for regular HTTP connections
|
|
</summary>
|
|
<param name="address">IP Address to accept connections on</param>
|
|
<param name="port">TCP Port to listen on, default HTTP port is 80.</param>
|
|
<param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
|
|
</summary>
|
|
<param name="address">IP Address to accept connections on</param>
|
|
<param name="port">TCP Port to listen on, default HTTPS port is 443</param>
|
|
<param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
|
|
<param name="certificate">Certificate to use</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
|
|
</summary>
|
|
<param name="address">IP Address to accept connections on</param>
|
|
<param name="port">TCP Port to listen on, default HTTPS port is 443</param>
|
|
<param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
|
|
<param name="certificate">Certificate to use</param>
|
|
<param name="protocol">which HTTPS protocol to use, default is TLS.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)">
|
|
<exception cref="T:System.Exception"><c>Exception</c>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.RetryBeginAccept">
|
|
<summary>
|
|
Will try to accept connections one more time.
|
|
</summary>
|
|
<exception cref="T:System.Exception">If any exceptions is thrown.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Can be used to create filtering of new connections.
|
|
</summary>
|
|
<param name="socket">Accepted socket</param>
|
|
<returns>true if connection can be accepted; otherwise false.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.Start(System.Int32)">
|
|
<summary>
|
|
Start listen for new connections
|
|
</summary>
|
|
<param name="backlog">Number of connections that can stand in a queue to be accepted.</param>
|
|
<exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListenerBase.Stop">
|
|
<summary>
|
|
Stop the listener
|
|
</summary>
|
|
<exception cref="T:System.Net.Sockets.SocketException"></exception>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListenerBase.LogWriter">
|
|
<summary>
|
|
Gives you a change to receive log entries for all internals of the HTTP library.
|
|
</summary>
|
|
<remarks>
|
|
You may not switch log writer after starting the listener.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.HttpListenerBase.UseTraceLogs">
|
|
<summary>
|
|
True if we should turn on trace logs.
|
|
</summary>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListenerBase.ExceptionThrown">
|
|
<summary>
|
|
Catch exceptions not handled by the listener.
|
|
</summary>
|
|
<remarks>
|
|
Exceptions will be thrown during debug mode if this event is not used,
|
|
exceptions will be printed to console and suppressed during release mode.
|
|
</remarks>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListenerBase.RequestReceived">
|
|
<summary>
|
|
A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpFile">
|
|
<summary>
|
|
Container class for posted files
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)">
|
|
<summary>
|
|
Creates a container for a posted file
|
|
</summary>
|
|
<param name="name">The identifier of the post field</param>
|
|
<param name="filename">The file path</param>
|
|
<param name="contentType">The content type of the file</param>
|
|
<param name="uploadFilename">The name of the file uploaded</param>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/>
|
|
</summary>
|
|
<exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFile.Finalize">
|
|
<summary>Destructor disposing the file</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFile.Dispose(System.Boolean)">
|
|
<summary>
|
|
Deletes the temporary file
|
|
</summary>
|
|
<param name="disposing">True if manual dispose</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpFile.Dispose">
|
|
<summary>
|
|
Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.Name">
|
|
<summary>
|
|
The name/id of the file
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.Filename">
|
|
<summary>
|
|
The full file path
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.UploadFilename">
|
|
<summary>
|
|
The name of the uploaded file
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpFile.ContentType">
|
|
<summary>
|
|
The type of file
|
|
</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="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</param>
|
|
<param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
|
|
</member>
|
|
<member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
|
|
</summary>
|
|
<param name="authenticator">Delegate used to provide information used during authentication.</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(System.String,System.String,System.String,System.Object[])">
|
|
<summary>
|
|
An authentication response have been received from the web browser.
|
|
Check if it's correct
|
|
</summary>
|
|
<param name="authenticationHeader">Contents from the Authorization header</param>
|
|
<param name="realm">Realm that should be authenticated</param>
|
|
<param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
|
|
<param name="options">First option: true if username/password is correct but not cnonce</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="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.CreateResponse(System.String,System.Object[])">
|
|
<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">First options specifies if true if username/password is correct but not cnonce.</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.Decode(System.String,System.Text.Encoding)">
|
|
<summary>
|
|
Decodes authorization header value
|
|
</summary>
|
|
<param name="buffer">header value</param>
|
|
<param name="encoding">Encoding that the buffer is in</param>
|
|
<returns>All headers and their values if successful; otherwise null</returns>
|
|
<example>
|
|
NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
|
|
</example>
|
|
<remarks>Can handle lots of whitespaces and new lines without failing.</remarks>
|
|
</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>true if the nonce has not expired.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.DigestAuthentication.Name">
|
|
<summary>
|
|
name used in http request.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1">
|
|
<summary>
|
|
Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a
|
|
HA1 generated string.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RequestParserState">
|
|
<summary>
|
|
Current state in the parsing.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.FirstLine">
|
|
<summary>
|
|
Should parse the request line
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.HeaderName">
|
|
<summary>
|
|
Searching for a complete header name
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.AfterName">
|
|
<summary>
|
|
Searching for colon after header name (ignoring white spaces)
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.Between">
|
|
<summary>
|
|
Searching for start of header value (ignoring white spaces)
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.HeaderValue">
|
|
<summary>
|
|
Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces)
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.RequestParserState.Body">
|
|
<summary>
|
|
Adding bytes to body
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Rules.RegexRedirectRule">
|
|
<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.Rules.RegexRedirectRule.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> 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.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> 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 null</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.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> 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 null.</exception>
|
|
<seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/>
|
|
</member>
|
|
<member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
|
|
<summary>
|
|
Process the incoming request.
|
|
</summary>
|
|
<param name="request">incoming HTTP request</param>
|
|
<param name="response">outgoing HTTP response</param>
|
|
<returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
|
|
<remarks>
|
|
returning true means that no modules will get the request. Returning true is typically being done
|
|
for redirects.
|
|
</remarks>
|
|
<exception cref="T:System.ArgumentNullException">If request or response is null</exception>
|
|
</member>
|
|
<member name="T:HttpServer.RequestCookies">
|
|
<summary>
|
|
This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
|
|
The framework might switch class in the future and we dont want to have to replace all instances
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.RequestCookies.#ctor(System.String)">
|
|
<summary>
|
|
Let's copy all the cookies.
|
|
</summary>
|
|
<param name="cookies">value from cookie header.</param>
|
|
</member>
|
|
<member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)">
|
|
<summary>
|
|
Adds a cookie in the collection.
|
|
</summary>
|
|
<param name="cookie">cookie to add</param>
|
|
<exception cref="T:System.ArgumentNullException">cookie is null</exception>
|
|
</member>
|
|
<member name="M:HttpServer.RequestCookies.GetEnumerator">
|
|
<summary>
|
|
Gets a collection enumerator on the cookie list.
|
|
</summary>
|
|
<returns>collection enumerator</returns>
|
|
</member>
|
|
<member name="M:HttpServer.RequestCookies.Clear">
|
|
<summary>
|
|
Remove all cookies.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#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="M:HttpServer.RequestCookies.Remove(System.String)">
|
|
<summary>
|
|
Remove a cookie from the collection.
|
|
</summary>
|
|
<param name="cookieName">Name of cookie.</param>
|
|
</member>
|
|
<member name="P:HttpServer.RequestCookies.Count">
|
|
<summary>
|
|
Gets the count of cookies in the collection.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.RequestCookies.Item(System.String)">
|
|
<summary>
|
|
Gets the cookie of a given identifier (null if not existing).
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Parser.BodyEventArgs">
|
|
<summary>
|
|
Arguments used when more body bytes have come.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.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>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.BodyEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.BodyEventArgs.Buffer">
|
|
<summary>
|
|
Gets or sets buffer that contains the received bytes.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.BodyEventArgs.Count">
|
|
<summary>
|
|
Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.BodyEventArgs.Offset">
|
|
<summary>
|
|
Gets or sets offset in buffer where to start processing.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpParam">
|
|
<summary>
|
|
Returns item either from a form or a query string (checks them in that order)
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpParam.Empty">
|
|
<summary> Representation of a non-initialized HttpParam </summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)">
|
|
<summary>Initialises the class to hold a value either from a post request or a querystring request</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpParam.Add(System.String,System.String)">
|
|
<summary>
|
|
The add method is not availible for HttpParam
|
|
since HttpParam checks both Request.Form and Request.QueryString
|
|
</summary>
|
|
<param name="name">name identifying the value</param>
|
|
<param name="value">value to add</param>
|
|
<exception cref="T:System.NotImplementedException"></exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpParam.Contains(System.String)">
|
|
<summary>
|
|
Checks whether the form or querystring has the specified value
|
|
</summary>
|
|
<param name="name">Name, case sensitive</param>
|
|
<returns>true if found; otherwise false.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#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="M:HttpServer.HttpParam.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="P:HttpServer.HttpParam.Item(System.String)">
|
|
<summary>
|
|
Fetch an item from the form or querystring (in that order).
|
|
</summary>
|
|
<param name="name"></param>
|
|
<returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns>
|
|
</member>
|
|
<member name="T:HttpServer.ExceptionHandler">
|
|
<summary>
|
|
We dont want to let the server to die due to exceptions thrown in worker threads.
|
|
therefore we use this delegate to give you a change to handle uncaught exceptions.
|
|
</summary>
|
|
<param name="source">Class that the exception was thrown in.</param>
|
|
<param name="exception">Exception</param>
|
|
<remarks>
|
|
Server will throw a InternalServerException in release version if you dont
|
|
handle this delegate.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.AuthenticationHandler">
|
|
<summary>
|
|
Delegate used to let authentication modules authenticate the user name and password.
|
|
</summary>
|
|
<param name="realm">Realm that the user want to authenticate in</param>
|
|
<param name="userName">User name specified by client</param>
|
|
<param name="token">Can either be user password or implementation specific token.</param>
|
|
<param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"/> if authentication was successful.</param>
|
|
<exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception>
|
|
<remarks>
|
|
<para>
|
|
Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated
|
|
string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password);
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Authentication.AuthenticationRequiredHandler">
|
|
<summary>
|
|
Let's you decide on a system level if authentication is required.
|
|
</summary>
|
|
<param name="request">HTTP request from client</param>
|
|
<returns>true if user should be authenticated.</returns>
|
|
<remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks>
|
|
<exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
|
|
</member>
|
|
<member name="T:HttpServer.HttpListener">
|
|
<summary>
|
|
New implementation of the HTTP listener.
|
|
</summary>
|
|
<remarks>
|
|
Use the <c>Create</c> methods to create a default listener.
|
|
</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
|
|
</summary>
|
|
<param name="address">IP Address to accept connections on</param>
|
|
<param name="port">TCP Port to listen on, default HTTP port is 80.</param>
|
|
<param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
|
|
<exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
|
|
<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="factory">The factory.</param>
|
|
<param name="certificate">The certificate.</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
|
|
<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="factory">The factory.</param>
|
|
<param name="certificate">The certificate.</param>
|
|
<param name="protocol">The protocol.</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,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.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
|
|
<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>
|
|
<param name="protocol">which HTTPS protocol to use, default is TLS.</param>
|
|
<returns>Created HTTP listener.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)">
|
|
<summary>
|
|
Can be used to create filtering of new connections.
|
|
</summary>
|
|
<param name="socket">Accepted socket</param>
|
|
<returns>
|
|
true if connection can be accepted; otherwise false.
|
|
</returns>
|
|
</member>
|
|
<member name="E:HttpServer.HttpListener.Accepted">
|
|
<summary>
|
|
A client have been accepted, but not handled, by the listener.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.WebHelper">
|
|
<summary>
|
|
Webhelper provides helpers for common tasks in HTML.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Helpers.WebHelper.JSImplementation">
|
|
<summary>
|
|
Used to let the website use different javascript libraries.
|
|
Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Creates a link that invokes through ajax.
|
|
</summary>
|
|
<param name="url">url to fetch</param>
|
|
<param name="title">link title</param>
|
|
<param name="options">
|
|
optional options in format "key, value, key, value".
|
|
Javascript options starts with ':'.
|
|
</param>
|
|
<returns>a link tag</returns>
|
|
<example>
|
|
WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])">
|
|
<summary>
|
|
Builds a link that updates an element with the fetched ajax content.
|
|
</summary>
|
|
<param name="url">Url to fetch content from</param>
|
|
<param name="title">link title</param>
|
|
<param name="targetId">html element to update with the results of the ajax request.</param>
|
|
<param name="options">optional options in format "key, value, key, value"</param>
|
|
<returns>A link tag.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])">
|
|
<summary>
|
|
A link that pop ups a Dialog (overlay div)
|
|
</summary>
|
|
<param name="url">url to contents of dialog</param>
|
|
<param name="title">link title</param>
|
|
<param name="htmlAttributes">name/value of html attributes.</param>
|
|
<returns>A "a"-tag that popups a dialog when clicked</returns>
|
|
<example>
|
|
WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Create/Open a dialog box using ajax
|
|
</summary>
|
|
<param name="url"></param>
|
|
<param name="title"></param>
|
|
<param name="parameters"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.CloseDialog">
|
|
<summary>
|
|
Close a javascript dialog window/div.
|
|
</summary>
|
|
<returns>javascript for closing a dialog.</returns>
|
|
<see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)">
|
|
<summary>
|
|
Create a <form> tag.
|
|
</summary>
|
|
<param name="name">name of form</param>
|
|
<param name="action">action to invoke on submit</param>
|
|
<param name="isAjax">form should be posted as ajax</param>
|
|
<returns>html code</returns>
|
|
<example>
|
|
WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Create a link tag.
|
|
</summary>
|
|
<param name="url">url to go to</param>
|
|
<param name="title">link title (text that is displayed)</param>
|
|
<param name="htmlAttributes">html attributes, name, value, name, value</param>
|
|
<returns>html code</returns>
|
|
<example>
|
|
WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
|
|
</example>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])">
|
|
<summary>
|
|
Build a link
|
|
</summary>
|
|
<param name="url">url to go to.</param>
|
|
<param name="title">title of link (displayed text)</param>
|
|
<param name="htmlAttributes">extra html attributes.</param>
|
|
<returns>a complete link</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])">
|
|
<summary>
|
|
Build a link
|
|
</summary>
|
|
<param name="url">url to go to.</param>
|
|
<param name="title">title of link (displayed text)</param>
|
|
<param name="htmlAttributes">extra html attributes.</param>
|
|
<returns>a complete link</returns>
|
|
<param name="options">more options</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<summary>
|
|
Obsolete
|
|
</summary>
|
|
<param name="name">Obsolete</param>
|
|
<param name="collection">Obsolete</param>
|
|
<param name="getIdTitle">Obsolete</param>
|
|
<param name="selectedValue">Obsolete</param>
|
|
<param name="firstEmpty">Obsolete</param>
|
|
<returns>Obsolete</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
|
|
<summary>
|
|
Obsolete
|
|
</summary>
|
|
<param name="name">Obsolete</param>
|
|
<param name="id">Obsolete</param>
|
|
<param name="collection">Obsolete</param>
|
|
<param name="getIdTitle">Obsolete</param>
|
|
<param name="selectedValue">Obsolete</param>
|
|
<param name="firstEmpty">Obsolete</param>
|
|
<returns>Obsolete</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)">
|
|
<summary>
|
|
Render errors into a UL with class "errors"
|
|
</summary>
|
|
<param name="className">class used by UL-tag.</param>
|
|
<param name="theList">items to list</param>
|
|
<returns>an unordered html list.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)">
|
|
<summary>
|
|
Render errors into a UL with class "errors"
|
|
</summary>
|
|
<param name="className">class used by UL-tag.</param>
|
|
<param name="theList">items to list</param>
|
|
<returns>an unordered html list.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)">
|
|
<summary>
|
|
Render errors into a UL with class "errors"
|
|
</summary>
|
|
<param name="errors"></param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])">
|
|
<summary>
|
|
Generates a list with html attributes.
|
|
</summary>
|
|
<param name="sb">StringBuilder that the options should be added to.</param>
|
|
<param name="firstOptions">attributes set by user.</param>
|
|
<param name="secondOptions">attributes set by any of the helper classes.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])">
|
|
<summary>
|
|
Generates a list with html attributes.
|
|
</summary>
|
|
<param name="sb">StringBuilder that the options should be added to.</param>
|
|
<param name="options"></param>
|
|
</member>
|
|
<member name="T:HttpServer.ResponseCookie">
|
|
<summary>
|
|
cookie being sent back to the browser.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.ResponseCookie"/>
|
|
</member>
|
|
<member name="M:HttpServer.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 DateTime.MinValue for session cookie.</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.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 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.ResponseCookie.#ctor(HttpServer.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.ResponseCookie.ToString">
|
|
<summary>
|
|
Gets the cookie HTML representation.
|
|
</summary>
|
|
<returns>cookie string</returns>
|
|
</member>
|
|
<member name="P:HttpServer.ResponseCookie.Expires">
|
|
<summary>
|
|
When the cookie expires.
|
|
DateTime.MinValue means that the cookie expires when the session do so.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.ResponseCookie.Path">
|
|
<summary>
|
|
Cookie is only valid under this path.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.IHttpRequest">
|
|
<summary>
|
|
Contains server side HTTP request information.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)">
|
|
<summary>
|
|
Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
|
|
</summary>
|
|
<param name="name">Name of the header, should not be URL encoded</param>
|
|
<param name="value">Value of the header, should not be URL encoded</param>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Add bytes to the body
|
|
</summary>
|
|
<param name="bytes">buffer to read bytes from</param>
|
|
<param name="offset">where to start read</param>
|
|
<param name="length">number of bytes to read</param>
|
|
<returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
|
|
<exception cref="T:System.InvalidOperationException">If body is not writable</exception>
|
|
<exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.Clear">
|
|
<summary>
|
|
Clear everything in the request
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
|
|
<summary>
|
|
Decode body into a form.
|
|
</summary>
|
|
<param name="providers">A list with form decoders.</param>
|
|
<exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
|
|
<exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)">
|
|
<summary>
|
|
Sets the cookies.
|
|
</summary>
|
|
<param name="cookies">The cookies.</param>
|
|
</member>
|
|
<member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
|
|
<summary>
|
|
Create a response object.
|
|
</summary>
|
|
<param name="context">Context for the connected client.</param>
|
|
<returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.AcceptTypes">
|
|
<summary>
|
|
Gets kind of types accepted by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Body">
|
|
<summary>
|
|
Gets or sets body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.BodyIsComplete">
|
|
<summary>
|
|
Gets whether the body is complete.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Connection">
|
|
<summary>
|
|
Gets or sets kind of connection used for the session.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.ContentLength">
|
|
<summary>
|
|
Gets or sets number of bytes in the body.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Cookies">
|
|
<summary>
|
|
Gets cookies that was sent with the request.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Form">
|
|
<summary>
|
|
Gets form parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Headers">
|
|
<summary>
|
|
Gets headers sent by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.HttpVersion">
|
|
<summary>
|
|
Gets or sets version of HTTP protocol that's used.
|
|
</summary>
|
|
<remarks>
|
|
Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.HttpHelper"/>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.IsAjax">
|
|
<summary>
|
|
Gets whether the request was made by Ajax (Asynchronous JavaScript)
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Method">
|
|
<summary>
|
|
Gets or sets requested method.
|
|
</summary>
|
|
<remarks>
|
|
Will always be in upper case.
|
|
</remarks>
|
|
<see cref="P:HttpServer.IHttpRequest.Method"/>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Param">
|
|
<summary>
|
|
Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.QueryString">
|
|
<summary>
|
|
Gets variables sent in the query string
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.Uri">
|
|
<summary>
|
|
Gets or sets requested URI.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.UriParts">
|
|
<summary>
|
|
Gets URI absolute path divided into parts.
|
|
</summary>
|
|
<example>
|
|
// URI is: http://gauffin.com/code/tiny/
|
|
Console.WriteLine(request.UriParts[0]); // result: code
|
|
Console.WriteLine(request.UriParts[1]); // result: tiny
|
|
</example>
|
|
<remarks>
|
|
If you're using controllers than the first part is controller name,
|
|
the second part is method name and the third part is Id property.
|
|
</remarks>
|
|
<seealso cref="P:HttpServer.IHttpRequest.Uri"/>
|
|
</member>
|
|
<member name="P:HttpServer.IHttpRequest.UriPath">
|
|
<summary>
|
|
Gets or sets path and query.
|
|
</summary>
|
|
<see cref="P:HttpServer.IHttpRequest.Uri"/>
|
|
<remarks>
|
|
Are only used during request parsing. Cannot be set after "Host" header have been
|
|
added.
|
|
</remarks>
|
|
</member>
|
|
<member name="T:HttpServer.Helpers.GetIdTitle">
|
|
<summary>
|
|
Delegate used by <see cref="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"/> to populate select options.
|
|
</summary>
|
|
<param name="obj">current object (for instance a User).</param>
|
|
<param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param>
|
|
<param name="title">Text shown in the select list.</param>
|
|
<example>
|
|
// Class that is going to be used in a SELECT-tag.
|
|
public class User
|
|
{
|
|
private readonly string _realName;
|
|
private readonly int _id;
|
|
public User(int id, string realName)
|
|
{
|
|
_id = id;
|
|
_realName = realName;
|
|
}
|
|
public string RealName
|
|
{
|
|
get { return _realName; }
|
|
}
|
|
|
|
public int Id
|
|
{
|
|
get { return _id; }
|
|
}
|
|
}
|
|
|
|
// Using an inline delegate to generate the select list
|
|
public void UserInlineDelegate()
|
|
{
|
|
List<User> items = new List<User>();
|
|
items.Add(new User(1, "adam"));
|
|
items.Add(new User(2, "bertial"));
|
|
items.Add(new User(3, "david"));
|
|
string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
|
|
{
|
|
User user = (User)o;
|
|
id = user.Id;
|
|
value = user.RealName;
|
|
}, 2, true);
|
|
}
|
|
|
|
// Using an method as delegate to generate the select list.
|
|
public void UseExternalDelegate()
|
|
{
|
|
List<User> items = new List<User>();
|
|
items.Add(new User(1, "adam"));
|
|
items.Add(new User(2, "bertial"));
|
|
items.Add(new User(3, "david"));
|
|
string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
|
|
}
|
|
|
|
// delegate returning id and title
|
|
public static void UserOptions(object o, out object id, out object title)
|
|
{
|
|
User user = (User)o;
|
|
id = user.Id;
|
|
value = user.RealName;
|
|
} /// </example>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.UnauthorizedException">
|
|
<summary>
|
|
The request requires user authentication. The response MUST include a
|
|
WWW-Authenticate header field (section 14.47) containing a challenge
|
|
applicable to the requested resource.
|
|
|
|
The client MAY repeat the request with a suitable Authorization header
|
|
field (section 14.8). If the request already included Authorization
|
|
credentials, then the 401 response indicates that authorization has been
|
|
refused for those credentials. If the 401 response contains the same challenge
|
|
as the prior response, and the user agent has already attempted authentication
|
|
at least once, then the user SHOULD be presented the entity that was given in the response,
|
|
since that entity might include relevant diagnostic information.
|
|
|
|
HTTP access authentication is explained in rfc2617:
|
|
http://www.ietf.org/rfc/rfc2617.txt
|
|
|
|
(description is taken from
|
|
http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor">
|
|
<summary>
|
|
Create a new unauhtorized exception.
|
|
</summary>
|
|
<seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Create a new unauhtorized exception.
|
|
</summary>
|
|
<param name="message">reason to why the request was unauthorized.</param>
|
|
<param name="inner">inner exception</param>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)">
|
|
<summary>
|
|
Create a new unauhtorized exception.
|
|
</summary>
|
|
<param name="message">reason to why the request was unauthorized.</param>
|
|
</member>
|
|
<member name="T:HttpServer.Exceptions.NotFoundException">
|
|
<summary>
|
|
The requested resource was not found in the web server.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)">
|
|
<summary>
|
|
Create a new exception
|
|
</summary>
|
|
<param name="message">message describing the error</param>
|
|
<param name="inner">inner exception</param>
|
|
</member>
|
|
<member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)">
|
|
<summary>
|
|
Create a new exception
|
|
</summary>
|
|
<param name="message">message describing the error</param>
|
|
</member>
|
|
<member name="T:HttpServer.ConnectionType">
|
|
<summary>
|
|
Type of HTTP connection
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ConnectionType.Close">
|
|
<summary>
|
|
Connection is closed after each request-response
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.ConnectionType.KeepAlive">
|
|
<summary>
|
|
Connection is kept alive for X seconds (unless another request have been made)
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.DisconnectedEventArgs">
|
|
<summary>
|
|
A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class.
|
|
</summary>
|
|
<param name="error">Reason to disconnection.</param>
|
|
</member>
|
|
<member name="P:HttpServer.DisconnectedEventArgs.Error">
|
|
<summary>
|
|
Gets reason to why client disconnected.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.RequestEventArgs">
|
|
<summary>
|
|
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class.
|
|
</summary>
|
|
<param name="request">The request.</param>
|
|
</member>
|
|
<member name="P:HttpServer.RequestEventArgs.Request">
|
|
<summary>
|
|
Gets received request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpRequest">
|
|
<summary>
|
|
Contains server side HTTP request information.
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpRequest.UriSplitters">
|
|
<summary>
|
|
Chars used to split an URL path into multiple parts.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
|
|
<summary>
|
|
Assign a form.
|
|
</summary>
|
|
<param name="form"></param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.Clone">
|
|
<summary>
|
|
Creates a new object that is a copy of the current instance.
|
|
</summary>
|
|
|
|
<returns>
|
|
A new object that is a copy of this instance.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
|
|
<summary>
|
|
Decode body into a form.
|
|
</summary>
|
|
<param name="providers">A list with form decoders.</param>
|
|
<exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
|
|
<exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)">
|
|
<summary>
|
|
Cookies
|
|
</summary>
|
|
<param name="cookies">the cookies</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
|
|
<summary>
|
|
Create a response object.
|
|
</summary>
|
|
<returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)">
|
|
<summary>
|
|
Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
|
|
</summary>
|
|
<param name="name">Name of the header, should not be URL encoded</param>
|
|
<param name="value">Value of the header, should not be URL encoded</param>
|
|
<exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
|
|
<summary>
|
|
Add bytes to the body
|
|
</summary>
|
|
<param name="bytes">buffer to read bytes from</param>
|
|
<param name="offset">where to start read</param>
|
|
<param name="length">number of bytes to read</param>
|
|
<returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
|
|
<exception cref="T:System.InvalidOperationException">If body is not writable</exception>
|
|
<exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
|
|
<exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpRequest.Clear">
|
|
<summary>
|
|
Clear everything in the request
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Secure">
|
|
<summary>
|
|
Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.UriPath">
|
|
<summary>
|
|
Path and query (will be merged with the host header) and put in Uri
|
|
</summary>
|
|
<see cref="P:HttpServer.HttpRequest.Uri"/>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.BodyIsComplete">
|
|
<summary>
|
|
Gets whether the body is complete.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.AcceptTypes">
|
|
<summary>
|
|
Gets kind of types accepted by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Body">
|
|
<summary>
|
|
Gets or sets body stream.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Connection">
|
|
<summary>
|
|
Gets or sets kind of connection used for the session.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.ContentLength">
|
|
<summary>
|
|
Gets or sets number of bytes in the body.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Headers">
|
|
<summary>
|
|
Gets headers sent by the client.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.HttpVersion">
|
|
<summary>
|
|
Gets or sets version of HTTP protocol that's used.
|
|
</summary>
|
|
<remarks>
|
|
Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
|
|
</remarks>
|
|
<seealso cref="T:HttpServer.HttpHelper"/>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Method">
|
|
<summary>
|
|
Gets or sets requested method.
|
|
</summary>
|
|
<value></value>
|
|
<remarks>
|
|
Will always be in upper case.
|
|
</remarks>
|
|
<see cref="!:HttpServer.Method"/>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.QueryString">
|
|
<summary>
|
|
Gets variables sent in the query string
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Uri">
|
|
<summary>
|
|
Gets or sets requested URI.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.UriParts">
|
|
<summary>
|
|
Uri absolute path splitted into parts.
|
|
</summary>
|
|
<example>
|
|
// uri is: http://gauffin.com/code/tiny/
|
|
Console.WriteLine(request.UriParts[0]); // result: code
|
|
Console.WriteLine(request.UriParts[1]); // result: tiny
|
|
</example>
|
|
<remarks>
|
|
If you're using controllers than the first part is controller name,
|
|
the second part is method name and the third part is Id property.
|
|
</remarks>
|
|
<seealso cref="P:HttpServer.HttpRequest.Uri"/>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Param">
|
|
<summary>
|
|
Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Form">
|
|
<summary>
|
|
Gets form parameters.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.IsAjax">
|
|
<summary>
|
|
Gets whether the request was made by Ajax (Asynchronous JavaScript)
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpRequest.Cookies">
|
|
<summary>
|
|
Gets cookies that was sent with the request.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpInputItem">
|
|
<summary>
|
|
represents a HTTP input item. Each item can have multiple sub items, a sub item
|
|
is made in a HTML form by using square brackets
|
|
</summary>
|
|
<example>
|
|
// <input type="text" name="user[FirstName]" value="jonas" /> becomes:
|
|
Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
|
|
</example>
|
|
<remarks>
|
|
All names in a form SHOULD be in lowercase.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.HttpInputItem.Empty">
|
|
<summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)">
|
|
<summary>
|
|
Initializes an input item setting its name/identifier and value
|
|
</summary>
|
|
<param name="name">Parameter name/id</param>
|
|
<param name="value">Parameter value</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)">
|
|
<summary>Creates a deep copy of the item specified</summary>
|
|
<param name="item">The item to copy</param>
|
|
<remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.Add(System.String)">
|
|
<summary>
|
|
Add another value to this item
|
|
</summary>
|
|
<param name="value">Value to add.</param>
|
|
<exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.Contains(System.String)">
|
|
<summary>
|
|
checks if a sub-item exists (and has a value).
|
|
</summary>
|
|
<param name="name">name in lower case</param>
|
|
<returns>true if the sub-item exists and has a value; otherwise false.</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.ToString">
|
|
<summary> Returns a formatted representation of the instance with the values of all contained parameters </summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)">
|
|
<summary>
|
|
Outputs the string in a formatted manner
|
|
</summary>
|
|
<param name="prefix">A prefix to append, used internally</param>
|
|
<param name="asQuerySting">produce a query string</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)">
|
|
<summary>
|
|
Add a sub item.
|
|
</summary>
|
|
<param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param>
|
|
<param name="value">Value to add.</param>
|
|
<exception cref="T:System.ArgumentNullException">Argument is null.</exception>
|
|
<exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#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="M:HttpServer.HttpInputItem.GetEnumerator">
|
|
<summary>
|
|
Returns an enumerator that iterates through a collection.
|
|
</summary>
|
|
|
|
<returns>
|
|
An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
|
|
</returns>
|
|
<filterpriority>2</filterpriority>
|
|
</member>
|
|
<member name="M:HttpServer.HttpInputItem.ToString(System.String)">
|
|
<summary>
|
|
Outputs the string in a formatted manner
|
|
</summary>
|
|
<param name="prefix">A prefix to append, used internally</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.Count">
|
|
<summary>
|
|
Number of values
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.Item(System.String)">
|
|
<summary>
|
|
Get a sub item
|
|
</summary>
|
|
<param name="name">name in lower case.</param>
|
|
<returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.Name">
|
|
<summary>
|
|
Name of item (in lower case).
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.Value">
|
|
<summary>
|
|
Returns the first value, or null if no value exist.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.LastValue">
|
|
<summary>
|
|
Returns the last value, or null if no value exist.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.Values">
|
|
<summary>
|
|
Returns the list with values.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
|
|
<summary>
|
|
|
|
</summary>
|
|
<param name="name">name in lower case</param>
|
|
<returns></returns>
|
|
</member>
|
|
<member name="T:HttpServer.HttpHelper">
|
|
<summary>
|
|
Generic helper functions for HTTP
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpHelper.HTTP10">
|
|
<summary>
|
|
Version string for HTTP v1.0
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpHelper.HTTP11">
|
|
<summary>
|
|
Version string for HTTP v1.1
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.HttpHelper.EmptyUri">
|
|
<summary>
|
|
An empty URI
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)">
|
|
<summary>
|
|
Parses a query string.
|
|
</summary>
|
|
<param name="queryString">Query string (URI encoded)</param>
|
|
<returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns>
|
|
<exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception>
|
|
<exception cref="T:System.FormatException">If string cannot be parsed.</exception>
|
|
</member>
|
|
<member name="T:HttpServer.Parser.RequestLineEventArgs">
|
|
<summary>
|
|
Used when the request line have been successfully parsed.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
|
|
</summary>
|
|
<param name="httpMethod">The HTTP method.</param>
|
|
<param name="uriPath">The URI path.</param>
|
|
<param name="httpVersion">The HTTP version.</param>
|
|
</member>
|
|
<member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod">
|
|
<summary>
|
|
Gets or sets http method.
|
|
</summary>
|
|
<remarks>
|
|
Should be one of the methods declared in <see cref="T:HttpServer.Method"/>.
|
|
</remarks>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion">
|
|
<summary>
|
|
Gets or sets the version of the HTTP protocol that the client want to use.
|
|
</summary>
|
|
</member>
|
|
<member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath">
|
|
<summary>
|
|
Gets or sets requested URI path.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Method">
|
|
<summary>
|
|
Contains all HTTP Methods (according to the HTTP 1.1 specification)
|
|
<para>
|
|
See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
|
|
</para>
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Delete">
|
|
<summary>
|
|
The DELETE method requests that the origin server delete the resource identified by the Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This method MAY be overridden by human intervention (or other means) on the origin server.
|
|
The client cannot be guaranteed that the operation has been carried out, even if the status code
|
|
returned from the origin server indicates that the action has been completed successfully.
|
|
</para>
|
|
<para>
|
|
However, the server SHOULD NOT indicate success unless, at the time the response is given,
|
|
it intends to delete the resource or move it to an inaccessible location.
|
|
</para>
|
|
<para>
|
|
A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
|
|
202 (Accepted) if the action has not yet been enacted,
|
|
or 204 (No Content) if the action has been enacted but the response does not include an entity.
|
|
</para>
|
|
<para>
|
|
If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
|
|
those entries SHOULD be treated as stale. Responses to this method are not cacheable.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Get">
|
|
<summary>
|
|
The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
|
|
entity in the response and not the source text of the process, unless that text happens to be the output of the process.
|
|
</para>
|
|
<para>
|
|
The semantics of the GET method change to a "conditional GET" if the request message includes an
|
|
If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
|
|
A conditional GET method requests that the entity be transferred only under the circumstances described
|
|
by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
|
|
usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
|
|
data already held by the client.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Header">
|
|
<summary>
|
|
The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
|
|
</summary>
|
|
<remarks>
|
|
The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
|
|
information sent in response to a GET request. This method can be used for obtaining meta information about
|
|
the entity implied by the request without transferring the entity-body itself.
|
|
|
|
This method is often used for testing hypertext links for validity, accessibility, and recent modification.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Options">
|
|
<summary>
|
|
<para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
|
|
</summary>
|
|
<remarks>
|
|
<para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Post">
|
|
<summary>
|
|
The POST method is used to request that the origin server accept the entity enclosed
|
|
in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
|
|
</summary>
|
|
<remarks>
|
|
POST is designed to allow a uniform method to cover the following functions:
|
|
<list type="bullet">
|
|
<item>
|
|
Annotation of existing resources;
|
|
</item><item>
|
|
Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
|
|
</item><item>
|
|
Providing a block of data, such as the result of submitting a form, to a data-handling process;
|
|
</item><item>
|
|
Extending a database through an append operation.
|
|
</item>
|
|
</list>
|
|
<para>
|
|
If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
|
|
contain an entity which describes the status of the request and refers to the new resource, and a
|
|
Location header (see section 14.30).
|
|
</para>
|
|
<para>
|
|
The action performed by the POST method might not result in a resource that can be identified by a URI.
|
|
In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
|
|
whether or not the response includes an entity that describes the result.
|
|
</para><para>
|
|
Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
|
|
or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
|
|
to retrieve a cacheable resource.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Put">
|
|
<summary>
|
|
The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<list type="bullet">
|
|
<item>
|
|
If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
|
|
modified version of the one residing on the origin server.
|
|
</item><item>
|
|
If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
|
|
resource by the requesting user agent, the origin server can create the resource with that URI.
|
|
</item><item>
|
|
If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
|
|
</item><item>
|
|
If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
|
|
indicate successful completion of the request.
|
|
</item><item>
|
|
If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
|
|
given that reflects the nature of the problem.
|
|
</item>
|
|
</list>
|
|
<para>
|
|
The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
|
|
understand or implement and MUST return a 501 (Not Implemented) response in such cases.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Method.Trace">
|
|
<summary>
|
|
The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.Methods">
|
|
<summary>
|
|
Contains all HTTP Methods (according to the HTTP 1.1 specification)
|
|
<para>
|
|
See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
|
|
</para>
|
|
</summary>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Delete">
|
|
<summary>
|
|
The DELETE method requests that the origin server delete the resource identified by the Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
This method MAY be overridden by human intervention (or other means) on the origin server.
|
|
The client cannot be guaranteed that the operation has been carried out, even if the status code
|
|
returned from the origin server indicates that the action has been completed successfully.
|
|
</para>
|
|
<para>
|
|
However, the server SHOULD NOT indicate success unless, at the time the response is given,
|
|
it intends to delete the resource or move it to an inaccessible location.
|
|
</para>
|
|
<para>
|
|
A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
|
|
202 (Accepted) if the action has not yet been enacted,
|
|
or 204 (No Content) if the action has been enacted but the response does not include an entity.
|
|
</para>
|
|
<para>
|
|
If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
|
|
those entries SHOULD be treated as stale. Responses to this method are not cacheable.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Get">
|
|
<summary>
|
|
The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<para>
|
|
If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
|
|
entity in the response and not the source text of the process, unless that text happens to be the output of the process.
|
|
</para>
|
|
<para>
|
|
The semantics of the GET method change to a "conditional GET" if the request message includes an
|
|
If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
|
|
A conditional GET method requests that the entity be transferred only under the circumstances described
|
|
by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
|
|
usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
|
|
data already held by the client.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Header">
|
|
<summary>
|
|
The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
|
|
</summary>
|
|
<remarks>
|
|
The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
|
|
information sent in response to a GET request. This method can be used for obtaining meta information about
|
|
the entity implied by the request without transferring the entity-body itself.
|
|
|
|
This method is often used for testing hypertext links for validity, accessibility, and recent modification.
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Options">
|
|
<summary>
|
|
<para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
|
|
</summary>
|
|
<remarks>
|
|
<para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Post">
|
|
<summary>
|
|
The POST method is used to request that the origin server accept the entity enclosed
|
|
in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
|
|
</summary>
|
|
<remarks>
|
|
POST is designed to allow a uniform method to cover the following functions:
|
|
<list type="bullet">
|
|
<item>
|
|
Annotation of existing resources;
|
|
</item><item>
|
|
Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
|
|
</item><item>
|
|
Providing a block of data, such as the result of submitting a form, to a data-handling process;
|
|
</item><item>
|
|
Extending a database through an append operation.
|
|
</item>
|
|
</list>
|
|
<para>
|
|
If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
|
|
contain an entity which describes the status of the request and refers to the new resource, and a
|
|
Location header (see section 14.30).
|
|
</para>
|
|
<para>
|
|
The action performed by the POST method might not result in a resource that can be identified by a URI.
|
|
In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
|
|
whether or not the response includes an entity that describes the result.
|
|
</para><para>
|
|
Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
|
|
or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
|
|
to retrieve a cacheable resource.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Put">
|
|
<summary>
|
|
The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
|
|
</summary>
|
|
<remarks>
|
|
<list type="bullet">
|
|
<item>
|
|
If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
|
|
modified version of the one residing on the origin server.
|
|
</item><item>
|
|
If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
|
|
resource by the requesting user agent, the origin server can create the resource with that URI.
|
|
</item><item>
|
|
If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
|
|
</item><item>
|
|
If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
|
|
indicate successful completion of the request.
|
|
</item><item>
|
|
If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
|
|
given that reflects the nature of the problem.
|
|
</item>
|
|
</list>
|
|
<para>
|
|
The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
|
|
understand or implement and MUST return a 501 (Not Implemented) response in such cases.
|
|
</para>
|
|
</remarks>
|
|
</member>
|
|
<member name="F:HttpServer.Methods.Trace">
|
|
<summary>
|
|
The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
|
|
</summary>
|
|
</member>
|
|
<member name="T:HttpServer.HttpModules.ResourceFileModule">
|
|
<summary>
|
|
Serves files that are stored in embedded resources.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
|
|
Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
|
|
through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)">
|
|
<summary>
|
|
Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
|
|
Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
|
|
through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
|
|
</summary>
|
|
<param name="logWriter">The log writer to use when logging events</param>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes">
|
|
<summary>
|
|
Mimtypes that this class can handle per default
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)">
|
|
<summary>
|
|
Loads resources from a namespace in the given assembly to an uri
|
|
</summary>
|
|
<param name="toUri">The uri to map the resources to</param>
|
|
<param name="fromAssembly">The assembly in which the resources reside</param>
|
|
<param name="fromNamespace">The namespace from which to load the resources</param>
|
|
<usage>
|
|
resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
|
|
|
|
will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
|
|
</usage>
|
|
<returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)">
|
|
<summary>
|
|
Returns true if the module can handle the request
|
|
</summary>
|
|
</member>
|
|
<member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
|
|
<summary>
|
|
Method that process the url
|
|
</summary>
|
|
<param name="request">Information sent by the browser about the request</param>
|
|
<param name="response">Information that is being sent back to the client.</param>
|
|
<param name="session">Session used to </param>
|
|
<returns>true if this module handled the request.</returns>
|
|
</member>
|
|
<member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes">
|
|
<summary>
|
|
List with all mime-type that are allowed.
|
|
</summary>
|
|
<remarks>All other mime types will result in a Forbidden http status code.</remarks>
|
|
</member>
|
|
</members>
|
|
</doc>
|