diff options
author | Diva Canto | 2010-12-18 18:23:51 -0800 |
---|---|---|
committer | Diva Canto | 2010-12-18 18:23:51 -0800 |
commit | cf72fece6db782530086724cd704261ccfb8c986 (patch) | |
tree | 1b48ebc272ba2891c06cc990a67a0939103bd754 | |
parent | Replaced HttpServer_OpenSim.dll with a version that locks certain ops in Http... (diff) | |
download | opensim-SC_OLD-cf72fece6db782530086724cd704261ccfb8c986.zip opensim-SC_OLD-cf72fece6db782530086724cd704261ccfb8c986.tar.gz opensim-SC_OLD-cf72fece6db782530086724cd704261ccfb8c986.tar.bz2 opensim-SC_OLD-cf72fece6db782530086724cd704261ccfb8c986.tar.xz |
Replaced the HttpServer_OpenSim.dll with one compiled for .NET 3.5 (the last one was 4.0, and that doesn't work). Also added the corresponding .xml and .pdb, if that makes any difference.
Diffstat (limited to '')
-rw-r--r-- | bin/HttpServer_OpenSim.dll | bin | 116224 -> 115712 bytes | |||
-rw-r--r-- | bin/HttpServer_OpenSim.pdb | bin | 382464 -> 409088 bytes | |||
-rw-r--r-- | bin/HttpServer_OpenSim.xml | 5978 |
3 files changed, 2989 insertions, 2989 deletions
diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index cdd4655..d7503a0 100644 --- a/bin/HttpServer_OpenSim.dll +++ b/bin/HttpServer_OpenSim.dll | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index 7c00e66..4151588 100644 --- a/bin/HttpServer_OpenSim.pdb +++ b/bin/HttpServer_OpenSim.pdb | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index 9c3df78..27386b7 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml | |||
@@ -4,492 +4,494 @@ | |||
4 | <name>HttpServer_OpenSim</name> | 4 | <name>HttpServer_OpenSim</name> |
5 | </assembly> | 5 | </assembly> |
6 | <members> | 6 | <members> |
7 | <member name="T:HttpServer.IComponentProvider"> | 7 | <member name="T:HttpServer.Exceptions.BadRequestException"> |
8 | <summary> | ||
9 | Inversion of control interface. | ||
10 | </summary> | ||
11 | </member> | ||
12 | <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)"> | ||
13 | <summary> | 8 | <summary> |
14 | Add a component instance | 9 | The request could not be understood by the server due to malformed syntax. |
10 | The client SHOULD NOT repeat the request without modifications. | ||
11 | |||
12 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | ||
15 | </summary> | 13 | </summary> |
16 | <typeparam name="T">Interface type</typeparam> | ||
17 | <param name="instance">Instance to add</param> | ||
18 | </member> | 14 | </member> |
19 | <member name="M:HttpServer.IComponentProvider.Get``1"> | 15 | <member name="T:HttpServer.Exceptions.HttpException"> |
20 | <summary> | 16 | <summary> |
21 | Get a component. | 17 | All HTTP based exceptions will derive this class. |
22 | </summary> | 18 | </summary> |
23 | <typeparam name="T">Interface type</typeparam> | ||
24 | <returns>Component if registered, otherwise null.</returns> | ||
25 | <remarks> | ||
26 | Component will get created if needed. | ||
27 | </remarks> | ||
28 | </member> | 19 | </member> |
29 | <member name="M:HttpServer.IComponentProvider.Contains(System.Type)"> | 20 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)"> |
30 | <summary> | 21 | <summary> |
31 | Checks if the specified component interface have been added. | 22 | Create a new HttpException |
32 | </summary> | 23 | </summary> |
33 | <param name="interfaceType"></param> | 24 | <param name="code">http status code (sent in the response)</param> |
34 | <returns>true if found; otherwise false.</returns> | 25 | <param name="message">error description</param> |
35 | </member> | 26 | </member> |
36 | <member name="M:HttpServer.IComponentProvider.Add``2"> | 27 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)"> |
37 | <summary> | 28 | <summary> |
38 | Add a component. | 29 | Create a new HttpException |
39 | </summary> | 30 | </summary> |
40 | <typeparam name="InterfaceType">Type being requested.</typeparam> | 31 | <param name="code">http status code (sent in the response)</param> |
41 | <typeparam name="InstanceType">Type being created.</typeparam> | 32 | <param name="message">error description</param> |
33 | <param name="inner">inner exception</param> | ||
42 | </member> | 34 | </member> |
43 | <member name="T:HttpServer.HttpModules.HttpModule"> | 35 | <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode"> |
44 | <summary> | 36 | <summary> |
45 | A HttpModule can be used to serve Uri's. The module itself | 37 | status code to use in the response. |
46 | decides if it should serve a Uri or not. In this way, you can | ||
47 | get a very flexible http application since you can let multiple modules | ||
48 | serve almost similar urls. | ||
49 | </summary> | 38 | </summary> |
50 | <remarks> | ||
51 | 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. | ||
52 | </remarks> | ||
53 | </member> | 39 | </member> |
54 | <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 40 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> |
55 | <summary> | 41 | <summary> |
56 | Method that process the url | 42 | Create a new bad request exception. |
57 | </summary> | 43 | </summary> |
58 | <param name="request">Information sent by the browser about the request</param> | 44 | <param name="errMsg">reason to why the request was bad.</param> |
59 | <param name="response">Information that is being sent back to the client.</param> | ||
60 | <param name="session">Session used to </param> | ||
61 | <returns>true if this module handled the request.</returns> | ||
62 | </member> | 45 | </member> |
63 | <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)"> | 46 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> |
64 | <summary> | 47 | <summary> |
65 | Set the log writer to use. | 48 | Create a new bad request exception. |
66 | </summary> | 49 | </summary> |
67 | <param name="writer">logwriter to use.</param> | 50 | <param name="errMsg">reason to why the request was bad.</param> |
51 | <param name="inner">inner exception</param> | ||
68 | </member> | 52 | </member> |
69 | <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)"> | 53 | <member name="T:HttpServer.Authentication.DigestAuthentication"> |
70 | <summary> | 54 | <summary> |
71 | Log something. | 55 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is |
56 | encrypted with a "key" from the server. | ||
72 | </summary> | 57 | </summary> |
73 | <param name="prio">importance of log message</param> | 58 | <remarks> |
74 | <param name="message">message</param> | 59 | Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. |
60 | </remarks> | ||
75 | </member> | 61 | </member> |
76 | <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing"> | 62 | <member name="T:HttpServer.Authentication.AuthenticationModule"> |
77 | <summary> | 63 | <summary> |
78 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules | 64 | Authentication modules are used to implement different |
79 | can continue processing afterwards. Default is false. | 65 | kind of HTTP authentication. |
80 | </summary> | 66 | </summary> |
81 | </member> | 67 | </member> |
82 | <member name="T:HttpServer.Helpers.ResourceInfo"> | 68 | <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"> |
83 | <summary> | 69 | <summary> |
84 | Container to bind resource names to assemblies | 70 | Tag used for authentication. |
85 | </summary> | 71 | </summary> |
86 | </member> | 72 | </member> |
87 | <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)"> | 73 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
88 | <summary> | 74 | <summary> |
89 | Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/> | 75 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
90 | </summary> | 76 | </summary> |
91 | <param name="uri">The dot seperated uri the resource maps to</param> | 77 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
92 | <param name="resourceName">The full resource name</param> | 78 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
93 | <param name="assembly">The assembly the resource exists in</param> | ||
94 | </member> | 79 | </member> |
95 | <member name="M:HttpServer.Helpers.ResourceInfo.GetStream"> | 80 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
96 | <summary> | 81 | <summary> |
97 | Retrieves a stream to the resource | 82 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
98 | </summary> | 83 | </summary> |
99 | <returns>Null if the resource couldn't be located somehow</returns> | 84 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
100 | </member> | 85 | </member> |
101 | <member name="P:HttpServer.Helpers.ResourceInfo.Assembly"> | 86 | <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])"> |
102 | <summary> | 87 | <summary> |
103 | Retrieves the assembly the resource resides in | 88 | Create a response that can be sent in the WWW-Authenticate header. |
104 | </summary> | 89 | </summary> |
90 | <param name="realm">Realm that the user should authenticate in</param> | ||
91 | <param name="options">Array with optional options.</param> | ||
92 | <returns>A correct authentication request.</returns> | ||
93 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
105 | </member> | 94 | </member> |
106 | <member name="P:HttpServer.Helpers.ResourceInfo.Uri"> | 95 | <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])"> |
107 | <summary> | 96 | <summary> |
108 | Retrieves the full name/path of the assembly | 97 | An authentication response have been received from the web browser. |
98 | Check if it's correct | ||
109 | </summary> | 99 | </summary> |
100 | <param name="authenticationHeader">Contents from the Authorization header</param> | ||
101 | <param name="realm">Realm that should be authenticated</param> | ||
102 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | ||
103 | <param name="options">options to specific implementations</param> | ||
104 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | ||
105 | <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception> | ||
106 | <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception> | ||
110 | </member> | 107 | </member> |
111 | <member name="P:HttpServer.Helpers.ResourceInfo.Extension"> | 108 | <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> |
112 | <summary> | 109 | <summary> |
113 | Retrieves the extension of the resource | 110 | Used to invoke the authentication delegate that is used to lookup the user name/realm. |
114 | </summary> | 111 | </summary> |
112 | <param name="realm">Realm (domain) that user want to authenticate in</param> | ||
113 | <param name="userName">User name</param> | ||
114 | <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param> | ||
115 | <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param> | ||
116 | <returns>true if authentication was successful</returns> | ||
115 | </member> | 117 | </member> |
116 | <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri"> | 118 | <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)"> |
117 | <summary>Returns the Uri without extension</summary> | ||
118 | </member> | ||
119 | <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName"> | ||
120 | <summary>Retrieves the full path name to the resource file</summary> | ||
121 | </member> | ||
122 | <member name="T:HttpServer.Helpers.ObjectForm"> | ||
123 | <summary> | 119 | <summary> |
124 | The object form class takes an object and creates form items for it. | 120 | Determines if authentication is required. |
125 | </summary> | 121 | </summary> |
122 | <param name="request">HTTP request from browser</param> | ||
123 | <returns>true if user should be authenticated.</returns> | ||
124 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks> | ||
125 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
126 | </member> | 126 | </member> |
127 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> | 127 | <member name="P:HttpServer.Authentication.AuthenticationModule.Name"> |
128 | <summary> | 128 | <summary> |
129 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 129 | name used in HTTP request. |
130 | </summary> | 130 | </summary> |
131 | <param name="method"></param> | ||
132 | <param name="name">form name *and* id.</param> | ||
133 | <param name="action">action to do when form is posted.</param> | ||
134 | <param name="obj"></param> | ||
135 | </member> | 131 | </member> |
136 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> | 132 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
137 | <summary> | 133 | <summary> |
138 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 134 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
139 | </summary> | 135 | </summary> |
140 | <param name="name">form name *and* id.</param> | 136 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
141 | <param name="action">action to do when form is posted.</param> | 137 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
142 | <param name="obj">object to get values from</param> | ||
143 | </member> | 138 | </member> |
144 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> | 139 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
145 | <summary> | 140 | <summary> |
146 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 141 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
147 | </summary> | 142 | </summary> |
148 | <param name="action">form action.</param> | 143 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
149 | <param name="obj">object to get values from.</param> | ||
150 | </member> | 144 | </member> |
151 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> | 145 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> |
152 | <summary> | 146 | <summary> |
153 | write out the FORM-tag. | 147 | Used by test classes to be able to use hardcoded values |
154 | </summary> | 148 | </summary> |
155 | <returns>generated html code</returns> | ||
156 | </member> | 149 | </member> |
157 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> | 150 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
158 | <summary> | 151 | <summary> |
159 | Writeout the form tag | 152 | An authentication response have been received from the web browser. |
153 | Check if it's correct | ||
160 | </summary> | 154 | </summary> |
161 | <param name="isAjax">form should be posted through ajax.</param> | 155 | <param name="authenticationHeader">Contents from the Authorization header</param> |
162 | <returns>generated html code</returns> | 156 | <param name="realm">Realm that should be authenticated</param> |
157 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | ||
158 | <param name="options">First option: true if username/password is correct but not cnonce</param> | ||
159 | <returns> | ||
160 | Authentication object that is stored for the request. A user class or something like that. | ||
161 | </returns> | ||
162 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
163 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
163 | </member> | 164 | </member> |
164 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> | 165 | <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)"> |
165 | <summary> | 166 | <summary> |
166 | Generates a text box. | 167 | Encrypts parameters into a Digest string |
167 | </summary> | 168 | </summary> |
168 | <param name="propertyName"></param> | 169 | <param name="realm">Realm that the user want to log into.</param> |
169 | <param name="options"></param> | 170 | <param name="userName">User logging in</param> |
170 | <returns>generated html code</returns> | 171 | <param name="password">Users password.</param> |
172 | <param name="method">HTTP method.</param> | ||
173 | <param name="uri">Uri/domain that generated the login prompt.</param> | ||
174 | <param name="qop">Quality of Protection.</param> | ||
175 | <param name="nonce">"Number used ONCE"</param> | ||
176 | <param name="nc">Hexadecimal request counter.</param> | ||
177 | <param name="cnonce">"Client Number used ONCE"</param> | ||
178 | <returns>Digest encrypted string</returns> | ||
171 | </member> | 179 | </member> |
172 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> | 180 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)"> |
173 | <summary> | 181 | <summary> |
174 | password box | 182 | |
175 | </summary> | 183 | </summary> |
176 | <param name="propertyName"></param> | 184 | <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param> |
177 | <param name="options"></param> | 185 | <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param> |
178 | <returns>generated html code</returns> | 186 | <param name="qop">Quality of Protection</param> |
187 | <param name="nonce">"Number used ONCE"</param> | ||
188 | <param name="nc">Hexadecimal request counter.</param> | ||
189 | <param name="cnonce">Client number used once</param> | ||
190 | <returns></returns> | ||
179 | </member> | 191 | </member> |
180 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> | 192 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> |
181 | <summary> | 193 | <summary> |
182 | Hiddens the specified property name. | 194 | Create a response that can be sent in the WWW-Authenticate header. |
183 | </summary> | 195 | </summary> |
184 | <param name="propertyName">Name of the property.</param> | 196 | <param name="realm">Realm that the user should authenticate in</param> |
185 | <param name="options">The options.</param> | 197 | <param name="options">First options specifies if true if username/password is correct but not cnonce.</param> |
186 | <returns>generated html code</returns> | 198 | <returns>A correct auth request.</returns> |
199 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
187 | </member> | 200 | </member> |
188 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> | 201 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> |
189 | <summary> | 202 | <summary> |
190 | Labels the specified property name. | 203 | Decodes authorization header value |
191 | </summary> | 204 | </summary> |
192 | <param name="propertyName">property in object.</param> | 205 | <param name="buffer">header value</param> |
193 | <param name="label">caption</param> | 206 | <param name="encoding">Encoding that the buffer is in</param> |
194 | <returns>generated html code</returns> | 207 | <returns>All headers and their values if successful; otherwise null</returns> |
208 | <example> | ||
209 | NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); | ||
210 | </example> | ||
211 | <remarks>Can handle lots of whitespaces and new lines without failing.</remarks> | ||
195 | </member> | 212 | </member> |
196 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> | 213 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> |
197 | <summary> | 214 | <summary> |
198 | Generate a checkbox | 215 | Gets the current nonce. |
199 | </summary> | 216 | </summary> |
200 | <param name="propertyName">property in object</param> | 217 | <returns></returns> |
201 | <param name="value">checkbox value</param> | ||
202 | <param name="options">additional html attributes.</param> | ||
203 | <returns>generated html code</returns> | ||
204 | </member> | 218 | </member> |
205 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> | 219 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> |
206 | <summary> | 220 | <summary> |
207 | Write a html select tag | 221 | Gets the Md5 hash bin hex2. |
208 | </summary> | 222 | </summary> |
209 | <param name="propertyName">object property.</param> | 223 | <param name="toBeHashed">To be hashed.</param> |
210 | <param name="idColumn">id column</param> | ||
211 | <param name="titleColumn">The title column.</param> | ||
212 | <param name="options">The options.</param> | ||
213 | <returns></returns> | 224 | <returns></returns> |
214 | </member> | 225 | </member> |
215 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> | 226 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> |
216 | <summary> | 227 | <summary> |
217 | Selects the specified property name. | 228 | determines if the nonce is valid or has expired. |
218 | </summary> | 229 | </summary> |
219 | <param name="propertyName">Name of the property.</param> | 230 | <param name="nonce">nonce value (check wikipedia for info)</param> |
220 | <param name="items">The items.</param> | 231 | <returns>true if the nonce has not expired.</returns> |
221 | <param name="idColumn">The id column.</param> | ||
222 | <param name="titleColumn">The title column.</param> | ||
223 | <param name="options">The options.</param> | ||
224 | <returns></returns> | ||
225 | </member> | 232 | </member> |
226 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> | 233 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> |
227 | <summary> | 234 | <summary> |
228 | Write a submit tag. | 235 | name used in http request. |
229 | </summary> | 236 | </summary> |
230 | <param name="value">button caption</param> | ||
231 | <returns>html submit tag</returns> | ||
232 | </member> | 237 | </member> |
233 | <member name="M:HttpServer.Helpers.ObjectForm.End"> | 238 | <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"> |
234 | <summary> | 239 | <summary> |
235 | html end form tag | 240 | Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a |
241 | HA1 generated string. | ||
236 | </summary> | 242 | </summary> |
237 | <returns>html</returns> | ||
238 | </member> | 243 | </member> |
239 | <member name="T:HttpServer.FormDecoders.XmlDecoder"> | 244 | <member name="T:HttpServer.Rules.RegexRedirectRule"> |
240 | <summary> | 245 | <summary> |
241 | This decoder converts XML documents to form items. | 246 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules |
242 | Each element becomes a subitem in the form, and each attribute becomes an item. | 247 | a regular expression can be used to identify redirect URLs and their targets. |
243 | </summary> | 248 | </summary> |
244 | <example> | 249 | <example> |
245 | // xml: <hello id="1">something<world id="2">data</world></hello> | 250 | <![CDATA[ |
246 | // result: | 251 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) |
247 | // form["hello"].Value = "something" | 252 | ]]> |
248 | // form["hello"]["id"].Value = 1 | ||
249 | // form["hello"]["world]["id"].Value = 1 | ||
250 | // form["hello"]["world"].Value = "data" | ||
251 | </example> | 253 | </example> |
252 | <remarks> | ||
253 | The original xml document is stored in form["__xml__"].Value. | ||
254 | </remarks> | ||
255 | </member> | 254 | </member> |
256 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> | 255 | <member name="T:HttpServer.Rules.RedirectRule"> |
257 | <summary> | ||
258 | Interface for form content decoders. | ||
259 | </summary> | ||
260 | </member> | ||
261 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | ||
262 | <summary> | ||
263 | |||
264 | </summary> | ||
265 | <param name="stream">Stream containing the content</param> | ||
266 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
267 | <param name="encoding">Stream enconding</param> | ||
268 | <returns>A http form, or null if content could not be parsed.</returns> | ||
269 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | ||
270 | </member> | ||
271 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> | ||
272 | <summary> | ||
273 | Checks if the decoder can handle the mime type | ||
274 | </summary> | ||
275 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | ||
276 | <returns>True if the decoder can parse the specified content type</returns> | ||
277 | </member> | ||
278 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | ||
279 | <summary> | ||
280 | |||
281 | </summary> | ||
282 | <param name="stream">Stream containing the content</param> | ||
283 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
284 | <param name="encoding">Stream encoding</param> | ||
285 | Note: contentType and encoding are not used? | ||
286 | <returns>A http form, or null if content could not be parsed.</returns> | ||
287 | <exception cref="T:System.IO.InvalidDataException"></exception> | ||
288 | </member> | ||
289 | <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)"> | ||
290 | <summary> | ||
291 | Recursive function that will go through an xml element and store it's content | ||
292 | to the form item. | ||
293 | </summary> | ||
294 | <param name="item">(parent) Item in form that content should be added to.</param> | ||
295 | <param name="node">Node that should be parsed.</param> | ||
296 | </member> | ||
297 | <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)"> | ||
298 | <summary> | 256 | <summary> |
299 | Checks if the decoder can handle the mime type | 257 | redirects from one URL to another. |
300 | </summary> | 258 | </summary> |
301 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | ||
302 | <returns>True if the decoder can parse the specified content type</returns> | ||
303 | </member> | 259 | </member> |
304 | <member name="T:HttpServer.Exceptions.InternalServerException"> | 260 | <member name="T:HttpServer.Rules.IRule"> |
305 | <summary> | 261 | <summary> |
306 | The server encountered an unexpected condition which prevented it from fulfilling the request. | 262 | Rules are used to perform operations before a request is being handled. |
263 | Rules can be used to create routing etc. | ||
307 | </summary> | 264 | </summary> |
308 | </member> | 265 | </member> |
309 | <member name="T:HttpServer.Exceptions.HttpException"> | 266 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
310 | <summary> | 267 | <summary> |
311 | All HTTP based exceptions will derive this class. | 268 | Process the incoming request. |
312 | </summary> | 269 | </summary> |
270 | <param name="request">incoming HTTP request</param> | ||
271 | <param name="response">outgoing HTTP response</param> | ||
272 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
273 | <remarks> | ||
274 | returning true means that no modules will get the request. Returning true is typically being done | ||
275 | for redirects. | ||
276 | </remarks> | ||
277 | <exception cref="T:System.ArgumentNullException">If request or response is null.</exception> | ||
313 | </member> | 278 | </member> |
314 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)"> | 279 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> |
315 | <summary> | 280 | <summary> |
316 | Create a new HttpException | 281 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
317 | </summary> | 282 | </summary> |
318 | <param name="code">http status code (sent in the response)</param> | 283 | <param name="fromUrl">Absolute path (no server name)</param> |
319 | <param name="message">error description</param> | 284 | <param name="toUrl">Absolute path (no server name)</param> |
285 | <example> | ||
286 | server.Add(new RedirectRule("/", "/user/index")); | ||
287 | </example> | ||
320 | </member> | 288 | </member> |
321 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)"> | 289 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> |
322 | <summary> | 290 | <summary> |
323 | Create a new HttpException | 291 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
324 | </summary> | 292 | </summary> |
325 | <param name="code">http status code (sent in the response)</param> | 293 | <param name="fromUrl">Absolute path (no server name)</param> |
326 | <param name="message">error description</param> | 294 | <param name="toUrl">Absolute path (no server name)</param> |
327 | <param name="inner">inner exception</param> | 295 | <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param> |
296 | <example> | ||
297 | server.Add(new RedirectRule("/", "/user/index")); | ||
298 | </example> | ||
328 | </member> | 299 | </member> |
329 | <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode"> | 300 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
330 | <summary> | 301 | <summary> |
331 | status code to use in the response. | 302 | Process the incoming request. |
332 | </summary> | 303 | </summary> |
304 | <param name="request">incoming HTTP request</param> | ||
305 | <param name="response">outgoing HTTP response</param> | ||
306 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
307 | <remarks> | ||
308 | returning true means that no modules will get the request. Returning true is typically being done | ||
309 | for redirects. | ||
310 | </remarks> | ||
333 | </member> | 311 | </member> |
334 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> | 312 | <member name="P:HttpServer.Rules.RedirectRule.FromUrl"> |
335 | <summary> | 313 | <summary> |
336 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 314 | Gets string to match request URI with. |
337 | </summary> | 315 | </summary> |
316 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> | ||
338 | </member> | 317 | </member> |
339 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> | 318 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> |
340 | <summary> | 319 | <summary> |
341 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 320 | Gets where to redirect. |
342 | </summary> | 321 | </summary> |
343 | <param name="message">error message.</param> | ||
344 | </member> | 322 | </member> |
345 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> | 323 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> |
346 | <summary> | 324 | <summary> |
347 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 325 | Gets whether server should redirect client. |
348 | </summary> | 326 | </summary> |
349 | <param name="message">error message.</param> | 327 | <remarks> |
350 | <param name="inner">inner exception.</param> | 328 | <c>false</c> means that the rule will replace |
329 | the current request URI with the new one from this class. | ||
330 | <c>true</c> means that a redirect response is sent to the client. | ||
331 | </remarks> | ||
351 | </member> | 332 | </member> |
352 | <member name="T:HttpServer.Sessions.MemorySessionStore"> | 333 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> |
353 | <summary> | 334 | <summary> |
354 | Session store using memory for each session. | 335 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
355 | </summary> | 336 | </summary> |
337 | <param name="fromUrlExpression">Expression to match URL</param> | ||
338 | <param name="toUrlExpression">Expression to generate URL</param> | ||
339 | <example> | ||
340 | <![CDATA[ | ||
341 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}")); | ||
342 | Result of ie. /employee1 will then be /user/employee1 | ||
343 | ]]> | ||
344 | </example> | ||
356 | </member> | 345 | </member> |
357 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> | 346 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> |
358 | <summary> | 347 | <summary> |
359 | A session store is used to store and load sessions on a media. | 348 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
360 | The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory. | ||
361 | </summary> | 349 | </summary> |
350 | <param name="fromUrlExpression">Expression to match URL</param> | ||
351 | <param name="toUrlExpression">Expression to generate URL</param> | ||
352 | <param name="options">Regular expression options to use, can be null</param> | ||
353 | <example> | ||
354 | <![CDATA[ | ||
355 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); | ||
356 | Result of ie. /employee1 will then be /user/employee1 | ||
357 | ]]> | ||
358 | </example> | ||
362 | </member> | 359 | </member> |
363 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create"> | 360 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> |
364 | <summary> | 361 | <summary> |
365 | Creates a new http session with a generated id. | 362 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
366 | </summary> | 363 | </summary> |
367 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns> | 364 | <param name="fromUrlExpression">Expression to match URL</param> |
365 | <param name="toUrlExpression">Expression to generate URL</param> | ||
366 | <param name="options">Regular expression options to apply</param> | ||
367 | <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param> | ||
368 | <example> | ||
369 | <![CDATA[ | ||
370 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); | ||
371 | Result of ie. /employee1 will then be /user/employee1 | ||
372 | ]]> | ||
373 | </example> | ||
374 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | ||
375 | <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/> | ||
368 | </member> | 376 | </member> |
369 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)"> | 377 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
370 | <summary> | 378 | <summary> |
371 | Creates a new http session with a specific id | 379 | Process the incoming request. |
372 | </summary> | 380 | </summary> |
373 | <param name="id">Id used to identify the new cookie..</param> | 381 | <param name="request">incoming HTTP request</param> |
374 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | 382 | <param name="response">outgoing HTTP response</param> |
383 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
375 | <remarks> | 384 | <remarks> |
376 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. | 385 | returning true means that no modules will get the request. Returning true is typically being done |
386 | for redirects. | ||
377 | </remarks> | 387 | </remarks> |
388 | <exception cref="T:System.ArgumentNullException">If request or response is null</exception> | ||
378 | </member> | 389 | </member> |
379 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)"> | 390 | <member name="T:HttpServer.ExceptionHandler"> |
380 | <summary> | ||
381 | Load an existing session. | ||
382 | </summary> | ||
383 | <param name="sessionId">Session id (usually retrieved from a client side cookie).</param> | ||
384 | <returns>A session if found; otherwise null.</returns> | ||
385 | </member> | ||
386 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)"> | ||
387 | <summary> | ||
388 | Save an updated session to the store. | ||
389 | </summary> | ||
390 | <param name="session">Session id (usually retrieved from a client side cookie).</param> | ||
391 | <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception> | ||
392 | </member> | ||
393 | <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> | ||
394 | <summary> | ||
395 | We use the flyweight pattern which reuses small objects | ||
396 | instead of creating new each time. | ||
397 | </summary> | ||
398 | <param name="session">Unused session that should be reused next time Create is called.</param> | ||
399 | </member> | ||
400 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup"> | ||
401 | <summary> | 391 | <summary> |
402 | Remove expired sessions | 392 | We dont want to let the server to die due to exceptions thrown in worker threads. |
393 | therefore we use this delegate to give you a change to handle uncaught exceptions. | ||
403 | </summary> | 394 | </summary> |
395 | <param name="source">Class that the exception was thrown in.</param> | ||
396 | <param name="exception">Exception</param> | ||
397 | <remarks> | ||
398 | Server will throw a InternalServerException in release version if you dont | ||
399 | handle this delegate. | ||
400 | </remarks> | ||
404 | </member> | 401 | </member> |
405 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)"> | 402 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> |
406 | <summary> | 403 | <summary> |
407 | Remove a session | 404 | Delegate used to let authentication modules authenticate the user name and password. |
408 | </summary> | 405 | </summary> |
409 | <param name="sessionId">id of the session.</param> | 406 | <param name="realm">Realm that the user want to authenticate in</param> |
407 | <param name="userName">User name specified by client</param> | ||
408 | <param name="token">Can either be user password or implementation specific token.</param> | ||
409 | <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> | ||
410 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> | ||
411 | <remarks> | ||
412 | <para> | ||
413 | Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated | ||
414 | string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); | ||
415 | </para> | ||
416 | </remarks> | ||
410 | </member> | 417 | </member> |
411 | <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)"> | 418 | <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler"> |
412 | <summary> | 419 | <summary> |
413 | Load a session from the store | 420 | Let's you decide on a system level if authentication is required. |
414 | </summary> | 421 | </summary> |
415 | <param name="sessionId"></param> | 422 | <param name="request">HTTP request from client</param> |
416 | <returns>null if session is not found.</returns> | 423 | <returns>true if user should be authenticated.</returns> |
424 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks> | ||
425 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
417 | </member> | 426 | </member> |
418 | <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime"> | 427 | <member name="T:HttpServer.Sessions.IHttpSession"> |
419 | <summary> | 428 | <summary> |
420 | Number of minutes before a session expires. | 429 | Interface for sessions |
421 | </summary> | 430 | </summary> |
422 | <value>Default time is 20 minutes.</value> | ||
423 | </member> | 431 | </member> |
424 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> | 432 | <member name="M:HttpServer.Sessions.IHttpSession.Clear"> |
425 | <summary> | 433 | <summary> |
426 | Initializes the class setting the expirationtimer to clean the session every minute | 434 | Remove everything from the session |
427 | </summary> | 435 | </summary> |
428 | </member> | 436 | </member> |
429 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> | 437 | <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)"> |
430 | <summary> | 438 | <summary> |
431 | Delegate for the cleanup timer | 439 | Remove everything from the session |
432 | </summary> | 440 | </summary> |
441 | <param name="expires">True if the session is cleared due to expiration</param> | ||
433 | </member> | 442 | </member> |
434 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> | 443 | <member name="P:HttpServer.Sessions.IHttpSession.Id"> |
435 | <summary> | 444 | <summary> |
436 | Creates a new http session | 445 | Session id |
437 | </summary> | 446 | </summary> |
438 | <returns></returns> | ||
439 | </member> | 447 | </member> |
440 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> | 448 | <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)"> |
441 | <summary> | 449 | <summary> |
442 | Creates a new http session with a specific id | 450 | Should |
443 | </summary> | 451 | </summary> |
444 | <param name="id">Id used to identify the new cookie..</param> | 452 | <param name="name">Name of the session variable</param> |
445 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | 453 | <returns>null if it's not set</returns> |
446 | <remarks> | 454 | <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception> |
447 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. | ||
448 | </remarks> | ||
449 | </member> | 455 | </member> |
450 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> | 456 | <member name="P:HttpServer.Sessions.IHttpSession.Accessed"> |
451 | <summary> | 457 | <summary> |
452 | Load an existing session. | 458 | When the session was last accessed. |
459 | This property is touched by the http server each time the | ||
460 | session is requested. | ||
453 | </summary> | 461 | </summary> |
454 | <param name="sessionId"></param> | ||
455 | <returns></returns> | ||
456 | </member> | 462 | </member> |
457 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> | 463 | <member name="P:HttpServer.Sessions.IHttpSession.Count"> |
458 | <summary> | 464 | <summary> |
459 | Save an updated session to the store. | 465 | Number of session variables. |
460 | </summary> | 466 | </summary> |
461 | <param name="session"></param> | ||
462 | </member> | 467 | </member> |
463 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> | 468 | <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear"> |
464 | <summary> | 469 | <summary> |
465 | We use the flyweight pattern which reuses small objects | 470 | Event triggered upon clearing the session |
466 | instead of creating new each time. | ||
467 | </summary> | 471 | </summary> |
468 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> | ||
469 | </member> | 472 | </member> |
470 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> | 473 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> |
471 | <summary> | 474 | <summary> |
472 | Remove expired sessions | 475 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared |
473 | </summary> | 476 | </summary> |
474 | </member> | 477 | </member> |
475 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)"> | 478 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> |
476 | <summary> | 479 | <summary> |
477 | Remove a session | 480 | Instantiates the arguments for the event |
478 | </summary> | 481 | </summary> |
479 | <param name="sessionId">id of the session.</param> | 482 | <param name="expired">True if the session is cleared due to expiration</param> |
480 | </member> | 483 | </member> |
481 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> | 484 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> |
482 | <summary> | 485 | <summary> |
483 | Load a session from the store | 486 | Returns true if the session is cleared due to expiration |
484 | </summary> | 487 | </summary> |
485 | <param name="sessionId"></param> | ||
486 | <returns>null if session is not found.</returns> | ||
487 | </member> | 488 | </member> |
488 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> | 489 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> |
489 | <summary> | 490 | <summary> |
490 | Number of minutes before a session expires. | 491 | Delegate for when a IHttpSession is cleared |
491 | Default is 20 minutes. | ||
492 | </summary> | 492 | </summary> |
493 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> | ||
494 | <param name="args">Arguments for the clearing</param> | ||
493 | </member> | 495 | </member> |
494 | <member name="T:HttpServer.ResponseCookies"> | 496 | <member name="T:HttpServer.ResponseCookies"> |
495 | <summary> | 497 | <summary> |
@@ -541,35 +543,29 @@ | |||
541 | Gets the cookie of a given identifier (null if not existing). | 543 | Gets the cookie of a given identifier (null if not existing). |
542 | </summary> | 544 | </summary> |
543 | </member> | 545 | </member> |
544 | <member name="T:HttpServer.Check"> | 546 | <member name="T:HttpServer.RequestParserFactory"> |
545 | <summary> | 547 | <summary> |
546 | Small design by contract implementation. | 548 | Creates request parsers when needed. |
547 | </summary> | 549 | </summary> |
548 | </member> | 550 | </member> |
549 | <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)"> | 551 | <member name="T:HttpServer.IRequestParserFactory"> |
550 | <summary> | 552 | <summary> |
551 | Check whether a parameter is empty. | 553 | Creates request parsers when needed. |
552 | </summary> | 554 | </summary> |
553 | <param name="value">Parameter value</param> | ||
554 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | ||
555 | <exception cref="T:System.ArgumentException">value is empty.</exception> | ||
556 | </member> | 555 | </member> |
557 | <member name="M:HttpServer.Check.Require(System.Object,System.String)"> | 556 | <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)"> |
558 | <summary> | 557 | <summary> |
559 | Checks whether a parameter is null. | 558 | Create a new request parser. |
560 | </summary> | 559 | </summary> |
561 | <param name="value">Parameter value</param> | 560 | <param name="logWriter">Used when logging should be enabled.</param> |
562 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | 561 | <returns>A new request parser.</returns> |
563 | <exception cref="T:System.ArgumentNullException">value is null.</exception> | ||
564 | </member> | 562 | </member> |
565 | <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)"> | 563 | <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)"> |
566 | <summary> | 564 | <summary> |
567 | Checks whether a parameter is null. | 565 | Create a new request parser. |
568 | </summary> | 566 | </summary> |
569 | <param name="minValue"></param> | 567 | <param name="logWriter">Used when logging should be enabled.</param> |
570 | <param name="value">Parameter value</param> | 568 | <returns>A new request parser.</returns> |
571 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | ||
572 | <exception cref="T:System.ArgumentException">value is null.</exception> | ||
573 | </member> | 569 | </member> |
574 | <member name="T:HttpServer.Parser.HttpRequestParser"> | 570 | <member name="T:HttpServer.Parser.HttpRequestParser"> |
575 | <summary> | 571 | <summary> |
@@ -707,33 +703,20 @@ | |||
707 | A header have been received. | 703 | A header have been received. |
708 | </summary> | 704 | </summary> |
709 | </member> | 705 | </member> |
710 | <member name="T:HttpServer.HttpModules.WebSiteModule"> | 706 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> |
711 | <summary> | 707 | <summary> |
712 | The website module let's you handle multiple websites in the same server. | 708 | Used to inform http server that |
713 | It uses the "Host" header to check which site you want. | ||
714 | </summary> | 709 | </summary> |
715 | <remarks>It's recommended that you do not | ||
716 | add any other modules to HttpServer if you are using the website module. Instead, | ||
717 | add all wanted modules to each website.</remarks> | ||
718 | </member> | 710 | </member> |
719 | <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)"> | 711 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> |
720 | <summary> | ||
721 | |||
722 | </summary> | ||
723 | <param name="host">domain name that should be handled.</param> | ||
724 | <param name="name"></param> | ||
725 | </member> | ||
726 | <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | ||
727 | <summary> | 712 | <summary> |
728 | Method that process the url | 713 | Eventarguments used when an exception is thrown by a module |
729 | </summary> | 714 | </summary> |
730 | <param name="request">Information sent by the browser about the request</param> | 715 | <param name="e">the exception</param> |
731 | <param name="response">Information that is being sent back to the client.</param> | ||
732 | <param name="session">Session used to </param> | ||
733 | </member> | 716 | </member> |
734 | <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName"> | 717 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> |
735 | <summary> | 718 | <summary> |
736 | Name of site. | 719 | Exception thrown in a module |
737 | </summary> | 720 | </summary> |
738 | </member> | 721 | </member> |
739 | <member name="T:HttpServer.HttpForm"> | 722 | <member name="T:HttpServer.HttpForm"> |
@@ -927,76 +910,489 @@ | |||
927 | </summary> | 910 | </summary> |
928 | <returns>0 if no files are added</returns> | 911 | <returns>0 if no files are added</returns> |
929 | </member> | 912 | </member> |
930 | <member name="T:HttpServer.Exceptions.BadRequestException"> | 913 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> |
914 | <summary> | ||
915 | Interface for form content decoders. | ||
916 | </summary> | ||
917 | </member> | ||
918 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | ||
931 | <summary> | 919 | <summary> |
932 | The request could not be understood by the server due to malformed syntax. | ||
933 | The client SHOULD NOT repeat the request without modifications. | ||
934 | 920 | ||
935 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | ||
936 | </summary> | 921 | </summary> |
922 | <param name="stream">Stream containing the content</param> | ||
923 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
924 | <param name="encoding">Stream enconding</param> | ||
925 | <returns>A http form, or null if content could not be parsed.</returns> | ||
926 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | ||
937 | </member> | 927 | </member> |
938 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> | 928 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> |
939 | <summary> | 929 | <summary> |
940 | Create a new bad request exception. | 930 | Checks if the decoder can handle the mime type |
941 | </summary> | 931 | </summary> |
942 | <param name="errMsg">reason to why the request was bad.</param> | 932 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
933 | <returns>True if the decoder can parse the specified content type</returns> | ||
943 | </member> | 934 | </member> |
944 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> | 935 | <member name="T:HttpServer.ContentType"> |
945 | <summary> | 936 | <summary> |
946 | Create a new bad request exception. | 937 | Lists content type mime types. |
947 | </summary> | 938 | </summary> |
948 | <param name="errMsg">reason to why the request was bad.</param> | ||
949 | <param name="inner">inner exception</param> | ||
950 | </member> | 939 | </member> |
951 | <member name="T:HttpServer.Sessions.MemorySession"> | 940 | <member name="F:HttpServer.ContentType.Text"> |
952 | <summary> | 941 | <summary> |
953 | A session stored in memory. | 942 | text/plain |
954 | </summary> | 943 | </summary> |
955 | </member> | 944 | </member> |
956 | <member name="T:HttpServer.Sessions.IHttpSession"> | 945 | <member name="F:HttpServer.ContentType.Html"> |
957 | <summary> | 946 | <summary> |
958 | Interface for sessions | 947 | text/haml |
959 | </summary> | 948 | </summary> |
960 | </member> | 949 | </member> |
961 | <member name="M:HttpServer.Sessions.IHttpSession.Clear"> | 950 | <member name="F:HttpServer.ContentType.Javascript"> |
962 | <summary> | 951 | <summary> |
963 | Remove everything from the session | 952 | content type for javascript documents = application/javascript |
964 | </summary> | 953 | </summary> |
954 | <remarks> | ||
955 | <para> | ||
956 | RFC 4329 states that text/javascript have been superseeded by | ||
957 | application/javascript. You might still want to check browser versions | ||
958 | since older ones do not support application/javascript. | ||
959 | </para> | ||
960 | <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para> | ||
961 | </remarks> | ||
965 | </member> | 962 | </member> |
966 | <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)"> | 963 | <member name="F:HttpServer.ContentType.Xml"> |
967 | <summary> | 964 | <summary> |
968 | Remove everything from the session | 965 | text/xml |
969 | </summary> | 966 | </summary> |
970 | <param name="expires">True if the session is cleared due to expiration</param> | ||
971 | </member> | 967 | </member> |
972 | <member name="P:HttpServer.Sessions.IHttpSession.Id"> | 968 | <member name="T:HttpServer.ContentTypes"> |
973 | <summary> | 969 | <summary> |
974 | Session id | 970 | A list of content types |
975 | </summary> | 971 | </summary> |
976 | </member> | 972 | </member> |
977 | <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)"> | 973 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> |
978 | <summary> | 974 | <summary> |
979 | Should | 975 | |
980 | </summary> | 976 | </summary> |
981 | <param name="name">Name of the session variable</param> | 977 | <param name="types">Semicolon separated content types.</param> |
982 | <returns>null if it's not set</returns> | ||
983 | <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception> | ||
984 | </member> | 978 | </member> |
985 | <member name="P:HttpServer.Sessions.IHttpSession.Accessed"> | 979 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> |
986 | <summary> | 980 | <summary> |
987 | When the session was last accessed. | 981 | Returns an enumerator that iterates through a collection. |
988 | This property is touched by the http server each time the | ||
989 | session is requested. | ||
990 | </summary> | 982 | </summary> |
983 | <returns> | ||
984 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. | ||
985 | </returns> | ||
991 | </member> | 986 | </member> |
992 | <member name="P:HttpServer.Sessions.IHttpSession.Count"> | 987 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> |
993 | <summary> | 988 | <summary> |
994 | Number of session variables. | 989 | Searches for the specified type |
995 | </summary> | 990 | </summary> |
991 | <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param> | ||
992 | <returns>true if type was found.</returns> | ||
996 | </member> | 993 | </member> |
997 | <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear"> | 994 | <member name="P:HttpServer.ContentTypes.First"> |
998 | <summary> | 995 | <summary> |
999 | Event triggered upon clearing the session | 996 | Get this first content type. |
997 | </summary> | ||
998 | </member> | ||
999 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> | ||
1000 | <summary> | ||
1001 | Fetch a content type | ||
1002 | </summary> | ||
1003 | <param name="type">Part of type ("xml" would return "application/xml")</param> | ||
1004 | <returns></returns> | ||
1005 | <remarks>All content types are in lower case.</remarks> | ||
1006 | </member> | ||
1007 | <member name="T:HttpServer.HttpModules.HttpModule"> | ||
1008 | <summary> | ||
1009 | A HttpModule can be used to serve Uri's. The module itself | ||
1010 | decides if it should serve a Uri or not. In this way, you can | ||
1011 | get a very flexible http application since you can let multiple modules | ||
1012 | serve almost similar urls. | ||
1013 | </summary> | ||
1014 | <remarks> | ||
1015 | 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. | ||
1016 | </remarks> | ||
1017 | </member> | ||
1018 | <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | ||
1019 | <summary> | ||
1020 | Method that process the url | ||
1021 | </summary> | ||
1022 | <param name="request">Information sent by the browser about the request</param> | ||
1023 | <param name="response">Information that is being sent back to the client.</param> | ||
1024 | <param name="session">Session used to </param> | ||
1025 | <returns>true if this module handled the request.</returns> | ||
1026 | </member> | ||
1027 | <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)"> | ||
1028 | <summary> | ||
1029 | Set the log writer to use. | ||
1030 | </summary> | ||
1031 | <param name="writer">logwriter to use.</param> | ||
1032 | </member> | ||
1033 | <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)"> | ||
1034 | <summary> | ||
1035 | Log something. | ||
1036 | </summary> | ||
1037 | <param name="prio">importance of log message</param> | ||
1038 | <param name="message">message</param> | ||
1039 | </member> | ||
1040 | <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing"> | ||
1041 | <summary> | ||
1042 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules | ||
1043 | can continue processing afterwards. Default is false. | ||
1044 | </summary> | ||
1045 | </member> | ||
1046 | <member name="T:HttpServer.Helpers.WebHelper"> | ||
1047 | <summary> | ||
1048 | Webhelper provides helpers for common tasks in HTML. | ||
1049 | </summary> | ||
1050 | </member> | ||
1051 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> | ||
1052 | <summary> | ||
1053 | Used to let the website use different javascript libraries. | ||
1054 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
1055 | </summary> | ||
1056 | </member> | ||
1057 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> | ||
1058 | <summary> | ||
1059 | Creates a link that invokes through ajax. | ||
1060 | </summary> | ||
1061 | <param name="url">url to fetch</param> | ||
1062 | <param name="title">link title</param> | ||
1063 | <param name="options"> | ||
1064 | optional options in format "key, value, key, value". | ||
1065 | Javascript options starts with ':'. | ||
1066 | </param> | ||
1067 | <returns>a link tag</returns> | ||
1068 | <example> | ||
1069 | WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); | ||
1070 | </example> | ||
1071 | </member> | ||
1072 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> | ||
1073 | <summary> | ||
1074 | Builds a link that updates an element with the fetched ajax content. | ||
1075 | </summary> | ||
1076 | <param name="url">Url to fetch content from</param> | ||
1077 | <param name="title">link title</param> | ||
1078 | <param name="targetId">html element to update with the results of the ajax request.</param> | ||
1079 | <param name="options">optional options in format "key, value, key, value"</param> | ||
1080 | <returns>A link tag.</returns> | ||
1081 | </member> | ||
1082 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> | ||
1083 | <summary> | ||
1084 | A link that pop ups a Dialog (overlay div) | ||
1085 | </summary> | ||
1086 | <param name="url">url to contents of dialog</param> | ||
1087 | <param name="title">link title</param> | ||
1088 | <param name="htmlAttributes">name/value of html attributes.</param> | ||
1089 | <returns>A "a"-tag that popups a dialog when clicked</returns> | ||
1090 | <example> | ||
1091 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
1092 | </example> | ||
1093 | </member> | ||
1094 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> | ||
1095 | <summary> | ||
1096 | Create/Open a dialog box using ajax | ||
1097 | </summary> | ||
1098 | <param name="url"></param> | ||
1099 | <param name="title"></param> | ||
1100 | <param name="parameters"></param> | ||
1101 | <returns></returns> | ||
1102 | </member> | ||
1103 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> | ||
1104 | <summary> | ||
1105 | Close a javascript dialog window/div. | ||
1106 | </summary> | ||
1107 | <returns>javascript for closing a dialog.</returns> | ||
1108 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> | ||
1109 | </member> | ||
1110 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> | ||
1111 | <summary> | ||
1112 | Create a <form> tag. | ||
1113 | </summary> | ||
1114 | <param name="name">name of form</param> | ||
1115 | <param name="action">action to invoke on submit</param> | ||
1116 | <param name="isAjax">form should be posted as ajax</param> | ||
1117 | <returns>html code</returns> | ||
1118 | <example> | ||
1119 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
1120 | </example> | ||
1121 | </member> | ||
1122 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> | ||
1123 | <summary> | ||
1124 | Create a link tag. | ||
1125 | </summary> | ||
1126 | <param name="url">url to go to</param> | ||
1127 | <param name="title">link title (text that is displayed)</param> | ||
1128 | <param name="htmlAttributes">html attributes, name, value, name, value</param> | ||
1129 | <returns>html code</returns> | ||
1130 | <example> | ||
1131 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); | ||
1132 | </example> | ||
1133 | </member> | ||
1134 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> | ||
1135 | <summary> | ||
1136 | Build a link | ||
1137 | </summary> | ||
1138 | <param name="url">url to go to.</param> | ||
1139 | <param name="title">title of link (displayed text)</param> | ||
1140 | <param name="htmlAttributes">extra html attributes.</param> | ||
1141 | <returns>a complete link</returns> | ||
1142 | </member> | ||
1143 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> | ||
1144 | <summary> | ||
1145 | Build a link | ||
1146 | </summary> | ||
1147 | <param name="url">url to go to.</param> | ||
1148 | <param name="title">title of link (displayed text)</param> | ||
1149 | <param name="htmlAttributes">extra html attributes.</param> | ||
1150 | <returns>a complete link</returns> | ||
1151 | <param name="options">more options</param> | ||
1152 | </member> | ||
1153 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1154 | <summary> | ||
1155 | Obsolete | ||
1156 | </summary> | ||
1157 | <param name="name">Obsolete</param> | ||
1158 | <param name="collection">Obsolete</param> | ||
1159 | <param name="getIdTitle">Obsolete</param> | ||
1160 | <param name="selectedValue">Obsolete</param> | ||
1161 | <param name="firstEmpty">Obsolete</param> | ||
1162 | <returns>Obsolete</returns> | ||
1163 | </member> | ||
1164 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1165 | <summary> | ||
1166 | Obsolete | ||
1167 | </summary> | ||
1168 | <param name="name">Obsolete</param> | ||
1169 | <param name="id">Obsolete</param> | ||
1170 | <param name="collection">Obsolete</param> | ||
1171 | <param name="getIdTitle">Obsolete</param> | ||
1172 | <param name="selectedValue">Obsolete</param> | ||
1173 | <param name="firstEmpty">Obsolete</param> | ||
1174 | <returns>Obsolete</returns> | ||
1175 | </member> | ||
1176 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> | ||
1177 | <summary> | ||
1178 | Render errors into a UL with class "errors" | ||
1179 | </summary> | ||
1180 | <param name="className">class used by UL-tag.</param> | ||
1181 | <param name="theList">items to list</param> | ||
1182 | <returns>an unordered html list.</returns> | ||
1183 | </member> | ||
1184 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> | ||
1185 | <summary> | ||
1186 | Render errors into a UL with class "errors" | ||
1187 | </summary> | ||
1188 | <param name="className">class used by UL-tag.</param> | ||
1189 | <param name="theList">items to list</param> | ||
1190 | <returns>an unordered html list.</returns> | ||
1191 | </member> | ||
1192 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> | ||
1193 | <summary> | ||
1194 | Render errors into a UL with class "errors" | ||
1195 | </summary> | ||
1196 | <param name="errors"></param> | ||
1197 | <returns></returns> | ||
1198 | </member> | ||
1199 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> | ||
1200 | <summary> | ||
1201 | Generates a list with html attributes. | ||
1202 | </summary> | ||
1203 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1204 | <param name="firstOptions">attributes set by user.</param> | ||
1205 | <param name="secondOptions">attributes set by any of the helper classes.</param> | ||
1206 | </member> | ||
1207 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> | ||
1208 | <summary> | ||
1209 | Generates a list with html attributes. | ||
1210 | </summary> | ||
1211 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1212 | <param name="options"></param> | ||
1213 | </member> | ||
1214 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> | ||
1215 | <summary> | ||
1216 | Purpose of this class is to create a javascript toolkit independent javascript helper. | ||
1217 | </summary> | ||
1218 | </member> | ||
1219 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> | ||
1220 | <summary> | ||
1221 | Generates a list with JS options. | ||
1222 | </summary> | ||
1223 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1224 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> | ||
1225 | <param name="startWithComma">true if we should start with a comma.</param> | ||
1226 | </member> | ||
1227 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> | ||
1228 | <summary> | ||
1229 | Removes any javascript parameters from an array of parameters | ||
1230 | </summary> | ||
1231 | <param name="options">The array of parameters to remove javascript params from</param> | ||
1232 | <returns>An array of html parameters</returns> | ||
1233 | </member> | ||
1234 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> | ||
1235 | <summary> | ||
1236 | javascript action that should be added to the "onsubmit" event in the form tag. | ||
1237 | </summary> | ||
1238 | <returns></returns> | ||
1239 | <remarks>All javascript option names should end with colon.</remarks> | ||
1240 | <example> | ||
1241 | <code> | ||
1242 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
1243 | </code> | ||
1244 | </example> | ||
1245 | </member> | ||
1246 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> | ||
1247 | <summary> | ||
1248 | Requests a url through ajax | ||
1249 | </summary> | ||
1250 | <param name="url">url to fetch</param> | ||
1251 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> | ||
1252 | <returns>a link tag</returns> | ||
1253 | <remarks>All javascript option names should end with colon.</remarks> | ||
1254 | <example> | ||
1255 | <code> | ||
1256 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
1257 | </code> | ||
1258 | </example> | ||
1259 | </member> | ||
1260 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> | ||
1261 | <summary> | ||
1262 | Ajax requests that updates an element with | ||
1263 | the fetched content | ||
1264 | </summary> | ||
1265 | <param name="url">Url to fetch content from</param> | ||
1266 | <param name="targetId">element to update</param> | ||
1267 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> | ||
1268 | <returns>A link tag.</returns> | ||
1269 | <remarks>All javascript option names should end with colon.</remarks> | ||
1270 | <example> | ||
1271 | <code> | ||
1272 | JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); | ||
1273 | </code> | ||
1274 | </example> | ||
1275 | </member> | ||
1276 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> | ||
1277 | <summary> | ||
1278 | A link that pop ups a Dialog (overlay div) | ||
1279 | </summary> | ||
1280 | <param name="url">url to contents of dialog</param> | ||
1281 | <param name="title">link title</param> | ||
1282 | <returns>A "a"-tag that popups a dialog when clicked</returns> | ||
1283 | <param name="htmlAttributes">name/value of html attributes</param> | ||
1284 | <example> | ||
1285 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
1286 | </example> | ||
1287 | </member> | ||
1288 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> | ||
1289 | <summary> | ||
1290 | Close a javascript dialog window/div. | ||
1291 | </summary> | ||
1292 | <returns>javascript for closing a dialog.</returns> | ||
1293 | <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/> | ||
1294 | </member> | ||
1295 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> | ||
1296 | <summary> | ||
1297 | Creates a new modal dialog window | ||
1298 | </summary> | ||
1299 | <param name="url">url to open in window.</param> | ||
1300 | <param name="title">window title (may not be supported by all js implementations)</param> | ||
1301 | <param name="options"></param> | ||
1302 | <returns></returns> | ||
1303 | </member> | ||
1304 | <member name="T:HttpServer.IHttpContextHandler"> | ||
1305 | <summary> | ||
1306 | Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>. | ||
1307 | </summary> | ||
1308 | </member> | ||
1309 | <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> | ||
1310 | <summary> | ||
1311 | Client have been disconnected. | ||
1312 | </summary> | ||
1313 | <param name="client">Client that was disconnected.</param> | ||
1314 | <param name="error">Reason</param> | ||
1315 | <see cref="T:HttpServer.IHttpClientContext"/> | ||
1316 | </member> | ||
1317 | <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | ||
1318 | <summary> | ||
1319 | Invoked when a client context have received a new HTTP request | ||
1320 | </summary> | ||
1321 | <param name="client">Client that received the request.</param> | ||
1322 | <param name="request">Request that was received.</param> | ||
1323 | <see cref="T:HttpServer.IHttpClientContext"/> | ||
1324 | </member> | ||
1325 | <member name="T:HttpServer.HttpHelper"> | ||
1326 | <summary> | ||
1327 | Generic helper functions for HTTP | ||
1328 | </summary> | ||
1329 | </member> | ||
1330 | <member name="F:HttpServer.HttpHelper.HTTP10"> | ||
1331 | <summary> | ||
1332 | Version string for HTTP v1.0 | ||
1333 | </summary> | ||
1334 | </member> | ||
1335 | <member name="F:HttpServer.HttpHelper.HTTP11"> | ||
1336 | <summary> | ||
1337 | Version string for HTTP v1.1 | ||
1338 | </summary> | ||
1339 | </member> | ||
1340 | <member name="F:HttpServer.HttpHelper.EmptyUri"> | ||
1341 | <summary> | ||
1342 | An empty URI | ||
1343 | </summary> | ||
1344 | </member> | ||
1345 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> | ||
1346 | <summary> | ||
1347 | Parses a query string. | ||
1348 | </summary> | ||
1349 | <param name="queryString">Query string (URI encoded)</param> | ||
1350 | <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns> | ||
1351 | <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception> | ||
1352 | <exception cref="T:System.FormatException">If string cannot be parsed.</exception> | ||
1353 | </member> | ||
1354 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> | ||
1355 | <summary> | ||
1356 | This provider is used to let us implement any type of form decoding we want without | ||
1357 | having to rewrite anything else in the server. | ||
1358 | </summary> | ||
1359 | </member> | ||
1360 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> | ||
1361 | <summary> | ||
1362 | |||
1363 | </summary> | ||
1364 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> | ||
1365 | <param name="stream">Stream containing form data.</param> | ||
1366 | <param name="encoding">Encoding used when decoding the stream</param> | ||
1367 | <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns> | ||
1368 | <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception> | ||
1369 | <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception> | ||
1370 | </member> | ||
1371 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)"> | ||
1372 | <summary> | ||
1373 | Add a decoder. | ||
1374 | </summary> | ||
1375 | <param name="decoder"></param> | ||
1376 | <exception cref="T:System.ArgumentNullException"></exception> | ||
1377 | </member> | ||
1378 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count"> | ||
1379 | <summary> | ||
1380 | Number of added decoders. | ||
1381 | </summary> | ||
1382 | </member> | ||
1383 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders"> | ||
1384 | <summary> | ||
1385 | Use with care. | ||
1386 | </summary> | ||
1387 | </member> | ||
1388 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder"> | ||
1389 | <summary> | ||
1390 | Decoder used for unknown content types. | ||
1391 | </summary> | ||
1392 | </member> | ||
1393 | <member name="T:HttpServer.Sessions.MemorySession"> | ||
1394 | <summary> | ||
1395 | A session stored in memory. | ||
1000 | </summary> | 1396 | </summary> |
1001 | </member> | 1397 | </member> |
1002 | <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)"> | 1398 | <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)"> |
@@ -1064,113 +1460,624 @@ | |||
1064 | Event triggered upon clearing the session | 1460 | Event triggered upon clearing the session |
1065 | </summary> | 1461 | </summary> |
1066 | </member> | 1462 | </member> |
1067 | <member name="T:HttpServer.Rules.RedirectRule"> | 1463 | <member name="T:HttpServer.FormDecoders.XmlDecoder"> |
1068 | <summary> | 1464 | <summary> |
1069 | redirects from one URL to another. | 1465 | This decoder converts XML documents to form items. |
1466 | Each element becomes a subitem in the form, and each attribute becomes an item. | ||
1070 | </summary> | 1467 | </summary> |
1468 | <example> | ||
1469 | // xml: <hello id="1">something<world id="2">data</world></hello> | ||
1470 | // result: | ||
1471 | // form["hello"].Value = "something" | ||
1472 | // form["hello"]["id"].Value = 1 | ||
1473 | // form["hello"]["world]["id"].Value = 1 | ||
1474 | // form["hello"]["world"].Value = "data" | ||
1475 | </example> | ||
1476 | <remarks> | ||
1477 | The original xml document is stored in form["__xml__"].Value. | ||
1478 | </remarks> | ||
1071 | </member> | 1479 | </member> |
1072 | <member name="T:HttpServer.Rules.IRule"> | 1480 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
1073 | <summary> | 1481 | <summary> |
1074 | Rules are used to perform operations before a request is being handled. | 1482 | |
1075 | Rules can be used to create routing etc. | ||
1076 | </summary> | 1483 | </summary> |
1484 | <param name="stream">Stream containing the content</param> | ||
1485 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
1486 | <param name="encoding">Stream encoding</param> | ||
1487 | Note: contentType and encoding are not used? | ||
1488 | <returns>A http form, or null if content could not be parsed.</returns> | ||
1489 | <exception cref="T:System.IO.InvalidDataException"></exception> | ||
1077 | </member> | 1490 | </member> |
1078 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 1491 | <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)"> |
1079 | <summary> | 1492 | <summary> |
1080 | Process the incoming request. | 1493 | Recursive function that will go through an xml element and store it's content |
1494 | to the form item. | ||
1081 | </summary> | 1495 | </summary> |
1082 | <param name="request">incoming HTTP request</param> | 1496 | <param name="item">(parent) Item in form that content should be added to.</param> |
1083 | <param name="response">outgoing HTTP response</param> | 1497 | <param name="node">Node that should be parsed.</param> |
1084 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
1085 | <remarks> | ||
1086 | returning true means that no modules will get the request. Returning true is typically being done | ||
1087 | for redirects. | ||
1088 | </remarks> | ||
1089 | <exception cref="T:System.ArgumentNullException">If request or response is null.</exception> | ||
1090 | </member> | 1498 | </member> |
1091 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> | 1499 | <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)"> |
1092 | <summary> | 1500 | <summary> |
1093 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 1501 | Checks if the decoder can handle the mime type |
1094 | </summary> | 1502 | </summary> |
1095 | <param name="fromUrl">Absolute path (no server name)</param> | 1503 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
1096 | <param name="toUrl">Absolute path (no server name)</param> | 1504 | <returns>True if the decoder can parse the specified content type</returns> |
1097 | <example> | ||
1098 | server.Add(new RedirectRule("/", "/user/index")); | ||
1099 | </example> | ||
1100 | </member> | 1505 | </member> |
1101 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> | 1506 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> |
1102 | <summary> | 1507 | <summary> |
1103 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 1508 | |
1104 | </summary> | 1509 | </summary> |
1105 | <param name="fromUrl">Absolute path (no server name)</param> | 1510 | <returns></returns> |
1106 | <param name="toUrl">Absolute path (no server name)</param> | 1511 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
1107 | <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param> | 1512 | <exception cref="T:System.ObjectDisposedException"></exception> |
1513 | </member> | ||
1514 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> | ||
1515 | <summary>Represents a field in a multipart form</summary> | ||
1516 | </member> | ||
1517 | <member name="T:HttpServer.Exceptions.InternalServerException"> | ||
1518 | <summary> | ||
1519 | The server encountered an unexpected condition which prevented it from fulfilling the request. | ||
1520 | </summary> | ||
1521 | </member> | ||
1522 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> | ||
1523 | <summary> | ||
1524 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | ||
1525 | </summary> | ||
1526 | </member> | ||
1527 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> | ||
1528 | <summary> | ||
1529 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | ||
1530 | </summary> | ||
1531 | <param name="message">error message.</param> | ||
1532 | </member> | ||
1533 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> | ||
1534 | <summary> | ||
1535 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | ||
1536 | </summary> | ||
1537 | <param name="message">error message.</param> | ||
1538 | <param name="inner">inner exception.</param> | ||
1539 | </member> | ||
1540 | <member name="T:HttpServer.RequestParserState"> | ||
1541 | <summary> | ||
1542 | Current state in the parsing. | ||
1543 | </summary> | ||
1544 | </member> | ||
1545 | <member name="F:HttpServer.RequestParserState.FirstLine"> | ||
1546 | <summary> | ||
1547 | Should parse the request line | ||
1548 | </summary> | ||
1549 | </member> | ||
1550 | <member name="F:HttpServer.RequestParserState.HeaderName"> | ||
1551 | <summary> | ||
1552 | Searching for a complete header name | ||
1553 | </summary> | ||
1554 | </member> | ||
1555 | <member name="F:HttpServer.RequestParserState.AfterName"> | ||
1556 | <summary> | ||
1557 | Searching for colon after header name (ignoring white spaces) | ||
1558 | </summary> | ||
1559 | </member> | ||
1560 | <member name="F:HttpServer.RequestParserState.Between"> | ||
1561 | <summary> | ||
1562 | Searching for start of header value (ignoring white spaces) | ||
1563 | </summary> | ||
1564 | </member> | ||
1565 | <member name="F:HttpServer.RequestParserState.HeaderValue"> | ||
1566 | <summary> | ||
1567 | Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) | ||
1568 | </summary> | ||
1569 | </member> | ||
1570 | <member name="F:HttpServer.RequestParserState.Body"> | ||
1571 | <summary> | ||
1572 | Adding bytes to body | ||
1573 | </summary> | ||
1574 | </member> | ||
1575 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> | ||
1576 | <summary> | ||
1577 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites | ||
1578 | and public clients. | ||
1579 | |||
1580 | A typical usage is to allow web servers on non standard ports to still be available | ||
1581 | to the public clients, or allow web servers on private ips to be available. | ||
1582 | </summary> | ||
1583 | </member> | ||
1584 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)"> | ||
1585 | <summary> | ||
1586 | |||
1587 | </summary> | ||
1588 | <param name="source">Base url requested from browser</param> | ||
1589 | <param name="destination">Base url on private web server</param> | ||
1108 | <example> | 1590 | <example> |
1109 | server.Add(new RedirectRule("/", "/user/index")); | 1591 | // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas |
1592 | _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); | ||
1110 | </example> | 1593 | </example> |
1111 | </member> | 1594 | </member> |
1112 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 1595 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)"> |
1113 | <summary> | 1596 | <summary> |
1114 | Process the incoming request. | 1597 | Method that determines if an url should be handled or not by the module |
1598 | </summary> | ||
1599 | <param name="uri">Url requested by the client.</param> | ||
1600 | <returns>true if module should handle the url.</returns> | ||
1601 | </member> | ||
1602 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | ||
1603 | <summary> | ||
1604 | Method that process the url | ||
1605 | </summary> | ||
1606 | <param name="request">Information sent by the browser about the request</param> | ||
1607 | <param name="response">Information that is being sent back to the client.</param> | ||
1608 | <param name="session">Session used to </param> | ||
1609 | </member> | ||
1610 | <member name="T:HttpServer.Method"> | ||
1611 | <summary> | ||
1612 | Contains all HTTP Methods (according to the HTTP 1.1 specification) | ||
1613 | <para> | ||
1614 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | ||
1615 | </para> | ||
1616 | </summary> | ||
1617 | </member> | ||
1618 | <member name="F:HttpServer.Method.Delete"> | ||
1619 | <summary> | ||
1620 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. | ||
1115 | </summary> | 1621 | </summary> |
1116 | <param name="request">incoming HTTP request</param> | ||
1117 | <param name="response">outgoing HTTP response</param> | ||
1118 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
1119 | <remarks> | 1622 | <remarks> |
1120 | returning true means that no modules will get the request. Returning true is typically being done | 1623 | <para> |
1121 | for redirects. | 1624 | This method MAY be overridden by human intervention (or other means) on the origin server. |
1625 | The client cannot be guaranteed that the operation has been carried out, even if the status code | ||
1626 | returned from the origin server indicates that the action has been completed successfully. | ||
1627 | </para> | ||
1628 | <para> | ||
1629 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | ||
1630 | it intends to delete the resource or move it to an inaccessible location. | ||
1631 | </para> | ||
1632 | <para> | ||
1633 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | ||
1634 | 202 (Accepted) if the action has not yet been enacted, | ||
1635 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | ||
1636 | </para> | ||
1637 | <para> | ||
1638 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | ||
1639 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | ||
1640 | </para> | ||
1122 | </remarks> | 1641 | </remarks> |
1123 | </member> | 1642 | </member> |
1124 | <member name="P:HttpServer.Rules.RedirectRule.FromUrl"> | 1643 | <member name="F:HttpServer.Method.Get"> |
1125 | <summary> | 1644 | <summary> |
1126 | Gets string to match request URI with. | 1645 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. |
1127 | </summary> | 1646 | </summary> |
1128 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> | 1647 | <remarks> |
1648 | <para> | ||
1649 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | ||
1650 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | ||
1651 | </para> | ||
1652 | <para> | ||
1653 | The semantics of the GET method change to a "conditional GET" if the request message includes an | ||
1654 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | ||
1655 | A conditional GET method requests that the entity be transferred only under the circumstances described | ||
1656 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | ||
1657 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | ||
1658 | data already held by the client. | ||
1659 | </para> | ||
1660 | </remarks> | ||
1129 | </member> | 1661 | </member> |
1130 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> | 1662 | <member name="F:HttpServer.Method.Header"> |
1131 | <summary> | 1663 | <summary> |
1132 | Gets where to redirect. | 1664 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. |
1133 | </summary> | 1665 | </summary> |
1666 | <remarks> | ||
1667 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | ||
1668 | information sent in response to a GET request. This method can be used for obtaining meta information about | ||
1669 | the entity implied by the request without transferring the entity-body itself. | ||
1670 | |||
1671 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | ||
1672 | </remarks> | ||
1134 | </member> | 1673 | </member> |
1135 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> | 1674 | <member name="F:HttpServer.Method.Options"> |
1136 | <summary> | 1675 | <summary> |
1137 | Gets whether server should redirect client. | 1676 | <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> |
1138 | </summary> | 1677 | </summary> |
1139 | <remarks> | 1678 | <remarks> |
1140 | <c>false</c> means that the rule will replace | 1679 | <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> |
1141 | the current request URI with the new one from this class. | ||
1142 | <c>true</c> means that a redirect response is sent to the client. | ||
1143 | </remarks> | 1680 | </remarks> |
1144 | </member> | 1681 | </member> |
1145 | <member name="T:HttpServer.RequestCookie"> | 1682 | <member name="F:HttpServer.Method.Post"> |
1146 | <summary> | 1683 | <summary> |
1147 | cookie sent by the client/browser | 1684 | The POST method is used to request that the origin server accept the entity enclosed |
1685 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | ||
1148 | </summary> | 1686 | </summary> |
1149 | <seealso cref="T:HttpServer.ResponseCookie"/> | 1687 | <remarks> |
1688 | POST is designed to allow a uniform method to cover the following functions: | ||
1689 | <list type="bullet"> | ||
1690 | <item> | ||
1691 | Annotation of existing resources; | ||
1692 | </item><item> | ||
1693 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | ||
1694 | </item><item> | ||
1695 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | ||
1696 | </item><item> | ||
1697 | Extending a database through an append operation. | ||
1698 | </item> | ||
1699 | </list> | ||
1700 | <para> | ||
1701 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | ||
1702 | contain an entity which describes the status of the request and refers to the new resource, and a | ||
1703 | Location header (see section 14.30). | ||
1704 | </para> | ||
1705 | <para> | ||
1706 | The action performed by the POST method might not result in a resource that can be identified by a URI. | ||
1707 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | ||
1708 | whether or not the response includes an entity that describes the result. | ||
1709 | </para><para> | ||
1710 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | ||
1711 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | ||
1712 | to retrieve a cacheable resource. | ||
1713 | </para> | ||
1714 | </remarks> | ||
1150 | </member> | 1715 | </member> |
1151 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> | 1716 | <member name="F:HttpServer.Method.Put"> |
1152 | <summary> | 1717 | <summary> |
1153 | Constructor. | 1718 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. |
1154 | </summary> | 1719 | </summary> |
1155 | <param name="id">cookie identifier</param> | 1720 | <remarks> |
1156 | <param name="content">cookie content</param> | 1721 | <list type="bullet"> |
1157 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | 1722 | <item> |
1158 | <exception cref="T:System.ArgumentException">id is empty</exception> | 1723 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a |
1724 | modified version of the one residing on the origin server. | ||
1725 | </item><item> | ||
1726 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | ||
1727 | resource by the requesting user agent, the origin server can create the resource with that URI. | ||
1728 | </item><item> | ||
1729 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | ||
1730 | </item><item> | ||
1731 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | ||
1732 | indicate successful completion of the request. | ||
1733 | </item><item> | ||
1734 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | ||
1735 | given that reflects the nature of the problem. | ||
1736 | </item> | ||
1737 | </list> | ||
1738 | <para> | ||
1739 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | ||
1740 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | ||
1741 | </para> | ||
1742 | </remarks> | ||
1159 | </member> | 1743 | </member> |
1160 | <member name="M:HttpServer.RequestCookie.ToString"> | 1744 | <member name="F:HttpServer.Method.Trace"> |
1161 | <summary> | 1745 | <summary> |
1162 | Gets the cookie HTML representation. | 1746 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. |
1163 | </summary> | 1747 | </summary> |
1164 | <returns>cookie string</returns> | ||
1165 | </member> | 1748 | </member> |
1166 | <member name="P:HttpServer.RequestCookie.Name"> | 1749 | <member name="T:HttpServer.Methods"> |
1167 | <summary> | 1750 | <summary> |
1168 | Gets the cookie identifier. | 1751 | Contains all HTTP Methods (according to the HTTP 1.1 specification) |
1752 | <para> | ||
1753 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | ||
1754 | </para> | ||
1169 | </summary> | 1755 | </summary> |
1170 | </member> | 1756 | </member> |
1171 | <member name="P:HttpServer.RequestCookie.Value"> | 1757 | <member name="F:HttpServer.Methods.Delete"> |
1172 | <summary> | 1758 | <summary> |
1173 | Cookie value. Set to null to remove cookie. | 1759 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. |
1760 | </summary> | ||
1761 | <remarks> | ||
1762 | <para> | ||
1763 | This method MAY be overridden by human intervention (or other means) on the origin server. | ||
1764 | The client cannot be guaranteed that the operation has been carried out, even if the status code | ||
1765 | returned from the origin server indicates that the action has been completed successfully. | ||
1766 | </para> | ||
1767 | <para> | ||
1768 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | ||
1769 | it intends to delete the resource or move it to an inaccessible location. | ||
1770 | </para> | ||
1771 | <para> | ||
1772 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | ||
1773 | 202 (Accepted) if the action has not yet been enacted, | ||
1774 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | ||
1775 | </para> | ||
1776 | <para> | ||
1777 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | ||
1778 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | ||
1779 | </para> | ||
1780 | </remarks> | ||
1781 | </member> | ||
1782 | <member name="F:HttpServer.Methods.Get"> | ||
1783 | <summary> | ||
1784 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. | ||
1785 | </summary> | ||
1786 | <remarks> | ||
1787 | <para> | ||
1788 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | ||
1789 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | ||
1790 | </para> | ||
1791 | <para> | ||
1792 | The semantics of the GET method change to a "conditional GET" if the request message includes an | ||
1793 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | ||
1794 | A conditional GET method requests that the entity be transferred only under the circumstances described | ||
1795 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | ||
1796 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | ||
1797 | data already held by the client. | ||
1798 | </para> | ||
1799 | </remarks> | ||
1800 | </member> | ||
1801 | <member name="F:HttpServer.Methods.Header"> | ||
1802 | <summary> | ||
1803 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | ||
1804 | </summary> | ||
1805 | <remarks> | ||
1806 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | ||
1807 | information sent in response to a GET request. This method can be used for obtaining meta information about | ||
1808 | the entity implied by the request without transferring the entity-body itself. | ||
1809 | |||
1810 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | ||
1811 | </remarks> | ||
1812 | </member> | ||
1813 | <member name="F:HttpServer.Methods.Options"> | ||
1814 | <summary> | ||
1815 | <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> | ||
1816 | </summary> | ||
1817 | <remarks> | ||
1818 | <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> | ||
1819 | </remarks> | ||
1820 | </member> | ||
1821 | <member name="F:HttpServer.Methods.Post"> | ||
1822 | <summary> | ||
1823 | The POST method is used to request that the origin server accept the entity enclosed | ||
1824 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | ||
1825 | </summary> | ||
1826 | <remarks> | ||
1827 | POST is designed to allow a uniform method to cover the following functions: | ||
1828 | <list type="bullet"> | ||
1829 | <item> | ||
1830 | Annotation of existing resources; | ||
1831 | </item><item> | ||
1832 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | ||
1833 | </item><item> | ||
1834 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | ||
1835 | </item><item> | ||
1836 | Extending a database through an append operation. | ||
1837 | </item> | ||
1838 | </list> | ||
1839 | <para> | ||
1840 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | ||
1841 | contain an entity which describes the status of the request and refers to the new resource, and a | ||
1842 | Location header (see section 14.30). | ||
1843 | </para> | ||
1844 | <para> | ||
1845 | The action performed by the POST method might not result in a resource that can be identified by a URI. | ||
1846 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | ||
1847 | whether or not the response includes an entity that describes the result. | ||
1848 | </para><para> | ||
1849 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | ||
1850 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | ||
1851 | to retrieve a cacheable resource. | ||
1852 | </para> | ||
1853 | </remarks> | ||
1854 | </member> | ||
1855 | <member name="F:HttpServer.Methods.Put"> | ||
1856 | <summary> | ||
1857 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. | ||
1858 | </summary> | ||
1859 | <remarks> | ||
1860 | <list type="bullet"> | ||
1861 | <item> | ||
1862 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a | ||
1863 | modified version of the one residing on the origin server. | ||
1864 | </item><item> | ||
1865 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | ||
1866 | resource by the requesting user agent, the origin server can create the resource with that URI. | ||
1867 | </item><item> | ||
1868 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | ||
1869 | </item><item> | ||
1870 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | ||
1871 | indicate successful completion of the request. | ||
1872 | </item><item> | ||
1873 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | ||
1874 | given that reflects the nature of the problem. | ||
1875 | </item> | ||
1876 | </list> | ||
1877 | <para> | ||
1878 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | ||
1879 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | ||
1880 | </para> | ||
1881 | </remarks> | ||
1882 | </member> | ||
1883 | <member name="F:HttpServer.Methods.Trace"> | ||
1884 | <summary> | ||
1885 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | ||
1886 | </summary> | ||
1887 | </member> | ||
1888 | <member name="T:HttpServer.HttpListener"> | ||
1889 | <summary> | ||
1890 | New implementation of the HTTP listener. | ||
1891 | </summary> | ||
1892 | <remarks> | ||
1893 | Use the <c>Create</c> methods to create a default listener. | ||
1894 | </remarks> | ||
1895 | </member> | ||
1896 | <member name="T:HttpServer.HttpListenerBase"> | ||
1897 | <summary> | ||
1898 | Contains a listener that doesn't do anything with the connections. | ||
1899 | </summary> | ||
1900 | </member> | ||
1901 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | ||
1902 | <summary> | ||
1903 | Listen for regular HTTP connections | ||
1904 | </summary> | ||
1905 | <param name="address">IP Address to accept connections on</param> | ||
1906 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | ||
1907 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
1908 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
1909 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
1910 | </member> | ||
1911 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | ||
1912 | <summary> | ||
1913 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | ||
1914 | </summary> | ||
1915 | <param name="address">IP Address to accept connections on</param> | ||
1916 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | ||
1917 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
1918 | <param name="certificate">Certificate to use</param> | ||
1919 | </member> | ||
1920 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | ||
1921 | <summary> | ||
1922 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | ||
1923 | </summary> | ||
1924 | <param name="address">IP Address to accept connections on</param> | ||
1925 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | ||
1926 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
1927 | <param name="certificate">Certificate to use</param> | ||
1928 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | ||
1929 | </member> | ||
1930 | <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)"> | ||
1931 | <exception cref="T:System.Exception"><c>Exception</c>.</exception> | ||
1932 | </member> | ||
1933 | <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept"> | ||
1934 | <summary> | ||
1935 | Will try to accept connections one more time. | ||
1936 | </summary> | ||
1937 | <exception cref="T:System.Exception">If any exceptions is thrown.</exception> | ||
1938 | </member> | ||
1939 | <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)"> | ||
1940 | <summary> | ||
1941 | Can be used to create filtering of new connections. | ||
1942 | </summary> | ||
1943 | <param name="socket">Accepted socket</param> | ||
1944 | <returns>true if connection can be accepted; otherwise false.</returns> | ||
1945 | </member> | ||
1946 | <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)"> | ||
1947 | <summary> | ||
1948 | Start listen for new connections | ||
1949 | </summary> | ||
1950 | <param name="backlog">Number of connections that can stand in a queue to be accepted.</param> | ||
1951 | <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception> | ||
1952 | </member> | ||
1953 | <member name="M:HttpServer.HttpListenerBase.Stop"> | ||
1954 | <summary> | ||
1955 | Stop the listener | ||
1956 | </summary> | ||
1957 | <exception cref="T:System.Net.Sockets.SocketException"></exception> | ||
1958 | </member> | ||
1959 | <member name="P:HttpServer.HttpListenerBase.LogWriter"> | ||
1960 | <summary> | ||
1961 | Gives you a change to receive log entries for all internals of the HTTP library. | ||
1962 | </summary> | ||
1963 | <remarks> | ||
1964 | You may not switch log writer after starting the listener. | ||
1965 | </remarks> | ||
1966 | </member> | ||
1967 | <member name="P:HttpServer.HttpListenerBase.UseTraceLogs"> | ||
1968 | <summary> | ||
1969 | True if we should turn on trace logs. | ||
1970 | </summary> | ||
1971 | </member> | ||
1972 | <member name="E:HttpServer.HttpListenerBase.ExceptionThrown"> | ||
1973 | <summary> | ||
1974 | Catch exceptions not handled by the listener. | ||
1975 | </summary> | ||
1976 | <remarks> | ||
1977 | Exceptions will be thrown during debug mode if this event is not used, | ||
1978 | exceptions will be printed to console and suppressed during release mode. | ||
1979 | </remarks> | ||
1980 | </member> | ||
1981 | <member name="E:HttpServer.HttpListenerBase.RequestReceived"> | ||
1982 | <summary> | ||
1983 | A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>. | ||
1984 | </summary> | ||
1985 | </member> | ||
1986 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | ||
1987 | <summary> | ||
1988 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | ||
1989 | </summary> | ||
1990 | <param name="address">IP Address to accept connections on</param> | ||
1991 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | ||
1992 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
1993 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
1994 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
1995 | </member> | ||
1996 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | ||
1997 | <summary> | ||
1998 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | ||
1999 | </summary> | ||
2000 | <param name="address">The address.</param> | ||
2001 | <param name="port">The port.</param> | ||
2002 | <param name="factory">The factory.</param> | ||
2003 | <param name="certificate">The certificate.</param> | ||
2004 | </member> | ||
2005 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | ||
2006 | <summary> | ||
2007 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | ||
2008 | </summary> | ||
2009 | <param name="address">The address.</param> | ||
2010 | <param name="port">The port.</param> | ||
2011 | <param name="factory">The factory.</param> | ||
2012 | <param name="certificate">The certificate.</param> | ||
2013 | <param name="protocol">The protocol.</param> | ||
2014 | </member> | ||
2015 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)"> | ||
2016 | <summary> | ||
2017 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | ||
2018 | </summary> | ||
2019 | <param name="address">Address that the listener should accept connections on.</param> | ||
2020 | <param name="port">Port that listener should accept connections on.</param> | ||
2021 | <returns>Created HTTP listener.</returns> | ||
2022 | </member> | ||
2023 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> | ||
2024 | <summary> | ||
2025 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | ||
2026 | </summary> | ||
2027 | <param name="address">Address that the listener should accept connections on.</param> | ||
2028 | <param name="port">Port that listener should accept connections on.</param> | ||
2029 | <param name="certificate">Certificate to use</param> | ||
2030 | <returns>Created HTTP listener.</returns> | ||
2031 | </member> | ||
2032 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | ||
2033 | <summary> | ||
2034 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | ||
2035 | </summary> | ||
2036 | <param name="address">Address that the listener should accept connections on.</param> | ||
2037 | <param name="port">Port that listener should accept connections on.</param> | ||
2038 | <param name="certificate">Certificate to use</param> | ||
2039 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | ||
2040 | <returns>Created HTTP listener.</returns> | ||
2041 | </member> | ||
2042 | <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)"> | ||
2043 | <summary> | ||
2044 | Can be used to create filtering of new connections. | ||
2045 | </summary> | ||
2046 | <param name="socket">Accepted socket</param> | ||
2047 | <returns> | ||
2048 | true if connection can be accepted; otherwise false. | ||
2049 | </returns> | ||
2050 | </member> | ||
2051 | <member name="E:HttpServer.HttpListener.Accepted"> | ||
2052 | <summary> | ||
2053 | A client have been accepted, but not handled, by the listener. | ||
2054 | </summary> | ||
2055 | </member> | ||
2056 | <member name="T:HttpServer.Parser.HeaderEventArgs"> | ||
2057 | <summary> | ||
2058 | Event arguments used when a new header have been parsed. | ||
2059 | </summary> | ||
2060 | </member> | ||
2061 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)"> | ||
2062 | <summary> | ||
2063 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | ||
2064 | </summary> | ||
2065 | <param name="name">Name of header.</param> | ||
2066 | <param name="value">Header value.</param> | ||
2067 | </member> | ||
2068 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor"> | ||
2069 | <summary> | ||
2070 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | ||
2071 | </summary> | ||
2072 | </member> | ||
2073 | <member name="P:HttpServer.Parser.HeaderEventArgs.Name"> | ||
2074 | <summary> | ||
2075 | Gets or sets header name. | ||
2076 | </summary> | ||
2077 | </member> | ||
2078 | <member name="P:HttpServer.Parser.HeaderEventArgs.Value"> | ||
2079 | <summary> | ||
2080 | Gets or sets header value. | ||
1174 | </summary> | 2081 | </summary> |
1175 | </member> | 2082 | </member> |
1176 | <member name="T:HttpServer.LogPrio"> | 2083 | <member name="T:HttpServer.LogPrio"> |
@@ -1268,27 +2175,6 @@ | |||
1268 | <param name="prio">Importance of the log message</param> | 2175 | <param name="prio">Importance of the log message</param> |
1269 | <param name="message">The message.</param> | 2176 | <param name="message">The message.</param> |
1270 | </member> | 2177 | </member> |
1271 | <member name="T:HttpServer.IHttpContextHandler"> | ||
1272 | <summary> | ||
1273 | Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>. | ||
1274 | </summary> | ||
1275 | </member> | ||
1276 | <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> | ||
1277 | <summary> | ||
1278 | Client have been disconnected. | ||
1279 | </summary> | ||
1280 | <param name="client">Client that was disconnected.</param> | ||
1281 | <param name="error">Reason</param> | ||
1282 | <see cref="T:HttpServer.IHttpClientContext"/> | ||
1283 | </member> | ||
1284 | <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | ||
1285 | <summary> | ||
1286 | Invoked when a client context have received a new HTTP request | ||
1287 | </summary> | ||
1288 | <param name="client">Client that received the request.</param> | ||
1289 | <param name="request">Request that was received.</param> | ||
1290 | <see cref="T:HttpServer.IHttpClientContext"/> | ||
1291 | </member> | ||
1292 | <member name="T:HttpServer.Helpers.JSHelper"> | 2178 | <member name="T:HttpServer.Helpers.JSHelper"> |
1293 | <summary> | 2179 | <summary> |
1294 | Will contain helper functions for javascript. | 2180 | Will contain helper functions for javascript. |
@@ -1342,65 +2228,14 @@ | |||
1342 | <returns>javascript for closing a dialog.</returns> | 2228 | <returns>javascript for closing a dialog.</returns> |
1343 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> | 2229 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> |
1344 | </member> | 2230 | </member> |
1345 | <member name="T:HttpServer.Helpers.FormHelper"> | 2231 | <member name="T:HttpServer.Helpers.GetIdTitle"> |
1346 | <summary> | ||
1347 | Helpers making it easier to work with forms. | ||
1348 | </summary> | ||
1349 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> | ||
1350 | </member> | ||
1351 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> | ||
1352 | <summary> | ||
1353 | Used to let the website use different JavaScript libraries. | ||
1354 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
1355 | </summary> | ||
1356 | </member> | ||
1357 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> | ||
1358 | <summary> | ||
1359 | Create a <form> tag. | ||
1360 | </summary> | ||
1361 | <param name="id">name of form</param> | ||
1362 | <param name="action">action to invoke on submit</param> | ||
1363 | <param name="isAjax">form should be posted as Ajax</param> | ||
1364 | <returns>HTML code</returns> | ||
1365 | <example> | ||
1366 | <code> | ||
1367 | // without options | ||
1368 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
1369 | |||
1370 | // with options | ||
1371 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); | ||
1372 | </code> | ||
1373 | </example> | ||
1374 | <param name="options">HTML attributes or JavaScript options.</param> | ||
1375 | <remarks>Method will ALWAYS be POST.</remarks> | ||
1376 | <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception> | ||
1377 | </member> | ||
1378 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1379 | <summary> | ||
1380 | Creates a select list with the values in a collection. | ||
1381 | </summary> | ||
1382 | <param name="name">Name of the SELECT-tag</param> | ||
1383 | <param name="collection">collection used to generate options.</param> | ||
1384 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
1385 | <param name="selectedValue">value that should be marked as selected.</param> | ||
1386 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
1387 | <returns>string containing a SELECT-tag.</returns> | ||
1388 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
1389 | </member> | ||
1390 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1391 | <summary> | 2232 | <summary> |
1392 | Creates a select list with the values in a collection. | 2233 | 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. |
1393 | </summary> | 2234 | </summary> |
1394 | <param name="name">Name of the SELECT-tag</param> | 2235 | <param name="obj">current object (for instance a User).</param> |
1395 | <param name="id">Id of the SELECT-tag</param> | 2236 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> |
1396 | <param name="collection">collection used to generate options.</param> | 2237 | <param name="title">Text shown in the select list.</param> |
1397 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
1398 | <param name="selectedValue">value that should be marked as selected.</param> | ||
1399 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
1400 | <returns>string containing a SELECT-tag.</returns> | ||
1401 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
1402 | <example> | 2238 | <example> |
1403 | <code> | ||
1404 | // Class that is going to be used in a SELECT-tag. | 2239 | // Class that is going to be used in a SELECT-tag. |
1405 | public class User | 2240 | public class User |
1406 | { | 2241 | { |
@@ -1453,239 +2288,40 @@ | |||
1453 | User user = (User)o; | 2288 | User user = (User)o; |
1454 | id = user.Id; | 2289 | id = user.Id; |
1455 | value = user.RealName; | 2290 | value = user.RealName; |
1456 | } | 2291 | } /// </example> |
1457 | </code> | ||
1458 | </example> | ||
1459 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
1460 | </member> | ||
1461 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])"> | ||
1462 | <summary> | ||
1463 | Creates a select list with the values in a collection. | ||
1464 | </summary> | ||
1465 | <param name="name">Name of the SELECT-tag</param> | ||
1466 | <param name="id">Id of the SELECT-tag</param> | ||
1467 | <param name="collection">collection used to generate options.</param> | ||
1468 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
1469 | <param name="selectedValue">value that should be marked as selected.</param> | ||
1470 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
1471 | <param name="htmlAttributes">name, value collection of extra HTML attributes.</param> | ||
1472 | <returns>string containing a SELECT-tag.</returns> | ||
1473 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
1474 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
1475 | <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception> | ||
1476 | </member> | ||
1477 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1478 | <summary> | ||
1479 | Generate a list of HTML options | ||
1480 | </summary> | ||
1481 | <param name="collection">collection used to generate options.</param> | ||
1482 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
1483 | <param name="selectedValue">value that should be marked as selected.</param> | ||
1484 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
1485 | <returns></returns> | ||
1486 | <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
1487 | </member> | ||
1488 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | ||
1489 | <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception> | ||
1490 | </member> | ||
1491 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])"> | ||
1492 | <summary> | ||
1493 | Creates a check box. | ||
1494 | </summary> | ||
1495 | <param name="name">element name</param> | ||
1496 | <param name="value">element value</param> | ||
1497 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
1498 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
1499 | the box is checked or not. </param> | ||
1500 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
1501 | <returns>a generated radio button</returns> | ||
1502 | </member> | ||
1503 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])"> | ||
1504 | <summary> | ||
1505 | Creates a check box. | ||
1506 | </summary> | ||
1507 | <param name="name">element name</param> | ||
1508 | <param name="id">element id</param> | ||
1509 | <param name="value">element value</param> | ||
1510 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
1511 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
1512 | the box is checked or not. </param> | ||
1513 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
1514 | <returns>a generated radio button</returns> | ||
1515 | <remarks> | ||
1516 | value in your business object. (check box will be selected if it matches the element value) | ||
1517 | </remarks> | ||
1518 | </member> | ||
1519 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])"> | ||
1520 | <summary> | ||
1521 | Creates a check box. | ||
1522 | </summary> | ||
1523 | <param name="name">element name</param> | ||
1524 | <param name="id">element id</param> | ||
1525 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
1526 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
1527 | the box is checked or not. </param> | ||
1528 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
1529 | <returns>a generated radio button</returns> | ||
1530 | <remarks>will set value to "1".</remarks> | ||
1531 | </member> | ||
1532 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> | ||
1533 | <summary> | ||
1534 | Creates a RadioButton. | ||
1535 | </summary> | ||
1536 | <param name="name">element name</param> | ||
1537 | <param name="value">element value</param> | ||
1538 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | ||
1539 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
1540 | the box is checked or not. </param> | ||
1541 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
1542 | <returns>a generated radio button</returns> | ||
1543 | </member> | ||
1544 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> | ||
1545 | <summary> | ||
1546 | Creates a RadioButton. | ||
1547 | </summary> | ||
1548 | <param name="name">element name</param> | ||
1549 | <param name="id">element id</param> | ||
1550 | <param name="value">element value</param> | ||
1551 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | ||
1552 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
1553 | the box is checked or not. </param> | ||
1554 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
1555 | <returns>a generated radio button</returns> | ||
1556 | </member> | ||
1557 | <member name="M:HttpServer.Helpers.FormHelper.End"> | ||
1558 | <summary> | ||
1559 | form close tag | ||
1560 | </summary> | ||
1561 | <returns></returns> | ||
1562 | </member> | ||
1563 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> | ||
1564 | <summary> | ||
1565 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared | ||
1566 | </summary> | ||
1567 | </member> | ||
1568 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> | ||
1569 | <summary> | ||
1570 | Instantiates the arguments for the event | ||
1571 | </summary> | ||
1572 | <param name="expired">True if the session is cleared due to expiration</param> | ||
1573 | </member> | ||
1574 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> | ||
1575 | <summary> | ||
1576 | Returns true if the session is cleared due to expiration | ||
1577 | </summary> | ||
1578 | </member> | ||
1579 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> | ||
1580 | <summary> | ||
1581 | Delegate for when a IHttpSession is cleared | ||
1582 | </summary> | ||
1583 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> | ||
1584 | <param name="args">Arguments for the clearing</param> | ||
1585 | </member> | ||
1586 | <member name="T:HttpServer.RequestQueue"> | ||
1587 | <summary> | ||
1588 | Used to queue incoming requests. | ||
1589 | </summary> | ||
1590 | </member> | ||
1591 | <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)"> | ||
1592 | <summary> | ||
1593 | Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class. | ||
1594 | </summary> | ||
1595 | <param name="handler">Called when a request should be processed.</param> | ||
1596 | </member> | ||
1597 | <member name="M:HttpServer.RequestQueue.QueueThread"> | ||
1598 | <summary> | ||
1599 | Used to process queued requests. | ||
1600 | </summary> | ||
1601 | </member> | ||
1602 | <member name="P:HttpServer.RequestQueue.MaxRequestCount"> | ||
1603 | <summary> | ||
1604 | Gets or sets maximum number of allowed simultaneous requests. | ||
1605 | </summary> | ||
1606 | </member> | ||
1607 | <member name="P:HttpServer.RequestQueue.MaxQueueSize"> | ||
1608 | <summary> | ||
1609 | Gets or sets maximum number of requests queuing to be handled. | ||
1610 | </summary> | ||
1611 | </member> | ||
1612 | <member name="P:HttpServer.RequestQueue.CurrentRequestCount"> | ||
1613 | <summary> | ||
1614 | Specifies how many requests the HTTP server is currently processing. | ||
1615 | </summary> | ||
1616 | </member> | 2292 | </member> |
1617 | <member name="T:HttpServer.RequestQueue.QueueItem"> | 2293 | <member name="T:HttpServer.Parser.BodyEventArgs"> |
1618 | <summary> | 2294 | <summary> |
1619 | Used two queue incoming requests to avoid | 2295 | Arguments used when more body bytes have come. |
1620 | thread starvation. | ||
1621 | </summary> | 2296 | </summary> |
1622 | </member> | 2297 | </member> |
1623 | <member name="T:HttpServer.ProcessRequestHandler"> | 2298 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)"> |
1624 | <summary> | 2299 | <summary> |
1625 | Method used to process a queued request | 2300 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
1626 | </summary> | 2301 | </summary> |
1627 | <param name="context">Context that the request was received from.</param> | 2302 | <param name="buffer">buffer that contains the received bytes.</param> |
1628 | <param name="request">Request to process.</param> | 2303 | <param name="offset">offset in buffer where to start processing.</param> |
2304 | <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param> | ||
1629 | </member> | 2305 | </member> |
1630 | <member name="T:HttpServer.RequestParserFactory"> | 2306 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor"> |
1631 | <summary> | 2307 | <summary> |
1632 | Creates request parsers when needed. | 2308 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
1633 | </summary> | 2309 | </summary> |
1634 | </member> | 2310 | </member> |
1635 | <member name="T:HttpServer.IRequestParserFactory"> | 2311 | <member name="P:HttpServer.Parser.BodyEventArgs.Buffer"> |
1636 | <summary> | 2312 | <summary> |
1637 | Creates request parsers when needed. | 2313 | Gets or sets buffer that contains the received bytes. |
1638 | </summary> | 2314 | </summary> |
1639 | </member> | 2315 | </member> |
1640 | <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | 2316 | <member name="P:HttpServer.Parser.BodyEventArgs.Count"> |
1641 | <summary> | ||
1642 | Create a new request parser. | ||
1643 | </summary> | ||
1644 | <param name="logWriter">Used when logging should be enabled.</param> | ||
1645 | <returns>A new request parser.</returns> | ||
1646 | </member> | ||
1647 | <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | ||
1648 | <summary> | 2317 | <summary> |
1649 | Create a new request parser. | 2318 | Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed. |
1650 | </summary> | 2319 | </summary> |
1651 | <param name="logWriter">Used when logging should be enabled.</param> | ||
1652 | <returns>A new request parser.</returns> | ||
1653 | </member> | 2320 | </member> |
1654 | <member name="T:HttpServer.HttpResponse"> | 2321 | <member name="P:HttpServer.Parser.BodyEventArgs.Offset"> |
1655 | <summary> | 2322 | <summary> |
1656 | Response that is sent back to the web browser / client. | 2323 | Gets or sets offset in buffer where to start processing. |
1657 | </summary> | 2324 | </summary> |
1658 | <remarks> | ||
1659 | <para> | ||
1660 | A response can be sent if different ways. The easiest one is | ||
1661 | to just fill the Body stream with content, everything else | ||
1662 | will then be taken care of by the framework. The default content-type | ||
1663 | is text/html, you should change it if you send anything else. | ||
1664 | </para><para> | ||
1665 | The second and slightly more complex way is to send the response | ||
1666 | as parts. Start with sending the header using the SendHeaders method and | ||
1667 | then you can send the body using SendBody method, but do not forget | ||
1668 | to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so. | ||
1669 | </para> | ||
1670 | </remarks> | ||
1671 | <example> | ||
1672 | <code> | ||
1673 | // Example using response body. | ||
1674 | class MyModule : HttpModule | ||
1675 | { | ||
1676 | public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) | ||
1677 | { | ||
1678 | StreamWriter writer = new StreamWriter(response.Body); | ||
1679 | writer.WriteLine("Hello dear World!"); | ||
1680 | writer.Flush(); | ||
1681 | |||
1682 | // return true to tell webserver that we've handled the url | ||
1683 | return true; | ||
1684 | } | ||
1685 | } | ||
1686 | </code> | ||
1687 | </example> | ||
1688 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. | ||
1689 | </member> | 2325 | </member> |
1690 | <member name="T:HttpServer.IHttpResponse"> | 2326 | <member name="T:HttpServer.IHttpResponse"> |
1691 | <summary> | 2327 | <summary> |
@@ -1856,587 +2492,503 @@ | |||
1856 | Cookies that should be created/changed. | 2492 | Cookies that should be created/changed. |
1857 | </summary> | 2493 | </summary> |
1858 | </member> | 2494 | </member> |
1859 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 2495 | <member name="T:HttpServer.ConnectionType"> |
1860 | <summary> | 2496 | <summary> |
1861 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. | 2497 | Type of HTTP connection |
1862 | </summary> | 2498 | </summary> |
1863 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | ||
1864 | <param name="request">Contains information of what the client want to receive.</param> | ||
1865 | <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception> | ||
1866 | </member> | 2499 | </member> |
1867 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)"> | 2500 | <member name="F:HttpServer.ConnectionType.Close"> |
1868 | <summary> | 2501 | <summary> |
1869 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. | 2502 | Connection is closed after each request-response |
1870 | </summary> | 2503 | </summary> |
1871 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | ||
1872 | <param name="httpVersion">Version of HTTP protocol that the client uses.</param> | ||
1873 | <param name="connectionType">Type of HTTP connection used.</param> | ||
1874 | </member> | 2504 | </member> |
1875 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> | 2505 | <member name="F:HttpServer.ConnectionType.KeepAlive"> |
1876 | <summary> | 2506 | <summary> |
1877 | Add another header to the document. | 2507 | Connection is kept alive for X seconds (unless another request have been made) |
1878 | </summary> | 2508 | </summary> |
1879 | <param name="name">Name of the header, case sensitive, use lower cases.</param> | ||
1880 | <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> | ||
1881 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
1882 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | ||
1883 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | ||
1884 | </member> | 2509 | </member> |
1885 | <member name="M:HttpServer.HttpResponse.Send"> | 2510 | <member name="T:HttpServer.IHttpRequest"> |
1886 | <summary> | 2511 | <summary> |
1887 | Send headers and body to the browser. | 2512 | Contains server side HTTP request information. |
1888 | </summary> | 2513 | </summary> |
1889 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> | ||
1890 | </member> | 2514 | </member> |
1891 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> | 2515 | <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)"> |
1892 | <summary> | 2516 | <summary> |
1893 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. | 2517 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
1894 | </summary> | 2518 | </summary> |
1895 | <param name="buffer"></param> | 2519 | <param name="name">Name of the header, should not be URL encoded</param> |
1896 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 2520 | <param name="value">Value of the header, should not be URL encoded</param> |
1897 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 2521 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> |
1898 | <param name="offset">offset of first byte to send</param> | ||
1899 | <param name="count">number of bytes to send.</param> | ||
1900 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
1901 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
1902 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
1903 | is recommended for larger files to keep the memory usage low.</remarks> | ||
1904 | </member> | 2522 | </member> |
1905 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> | 2523 | <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
1906 | <summary> | 2524 | <summary> |
1907 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. | 2525 | Add bytes to the body |
1908 | </summary> | 2526 | </summary> |
1909 | <param name="buffer"></param> | 2527 | <param name="bytes">buffer to read bytes from</param> |
1910 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 2528 | <param name="offset">where to start read</param> |
1911 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 2529 | <param name="length">number of bytes to read</param> |
1912 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 2530 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> |
1913 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | 2531 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> |
1914 | <remarks>This method can be used if you want to send body contents without caching them first. This | 2532 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> |
1915 | is recommended for larger files to keep the memory usage low.</remarks> | 2533 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> |
1916 | </member> | 2534 | </member> |
1917 | <member name="M:HttpServer.HttpResponse.SendHeaders"> | 2535 | <member name="M:HttpServer.IHttpRequest.Clear"> |
1918 | <summary> | 2536 | <summary> |
1919 | Send headers to the client. | 2537 | Clear everything in the request |
1920 | </summary> | 2538 | </summary> |
1921 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
1922 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> | ||
1923 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
1924 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> | ||
1925 | </member> | 2539 | </member> |
1926 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> | 2540 | <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
1927 | <summary> | 2541 | <summary> |
1928 | Redirect client to somewhere else using the 302 status code. | 2542 | Decode body into a form. |
1929 | </summary> | 2543 | </summary> |
1930 | <param name="uri">Destination of the redirect</param> | 2544 | <param name="providers">A list with form decoders.</param> |
1931 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 2545 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> |
1932 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | 2546 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> |
1933 | action.</remarks> | ||
1934 | </member> | 2547 | </member> |
1935 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> | 2548 | <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)"> |
1936 | <summary> | 2549 | <summary> |
1937 | redirect to somewhere | 2550 | Sets the cookies. |
1938 | </summary> | 2551 | </summary> |
1939 | <param name="url">where the redirect should go</param> | 2552 | <param name="cookies">The cookies.</param> |
1940 | <remarks> | ||
1941 | No body are allowed when doing redirects. | ||
1942 | </remarks> | ||
1943 | </member> | 2553 | </member> |
1944 | <member name="P:HttpServer.HttpResponse.Body"> | 2554 | <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
1945 | <summary> | 2555 | <summary> |
1946 | The body stream is used to cache the body contents | 2556 | Create a response object. |
1947 | before sending everything to the client. It's the simplest | ||
1948 | way to serve documents. | ||
1949 | </summary> | 2557 | </summary> |
2558 | <param name="context">Context for the connected client.</param> | ||
2559 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | ||
1950 | </member> | 2560 | </member> |
1951 | <member name="P:HttpServer.HttpResponse.Chunked"> | 2561 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> |
1952 | <summary> | 2562 | <summary> |
1953 | The chunked encoding modifies the body of a message in order to | 2563 | Gets kind of types accepted by the client. |
1954 | transfer it as a series of chunks, each with its own size indicator, | ||
1955 | followed by an OPTIONAL trailer containing entity-header fields. This | ||
1956 | allows dynamically produced content to be transferred along with the | ||
1957 | information necessary for the recipient to verify that it has | ||
1958 | received the full message. | ||
1959 | </summary> | 2564 | </summary> |
1960 | </member> | 2565 | </member> |
1961 | <member name="P:HttpServer.HttpResponse.ProtocolVersion"> | 2566 | <member name="P:HttpServer.IHttpRequest.Body"> |
1962 | <summary> | 2567 | <summary> |
1963 | Defines the version of the HTTP Response for applications where it's required | 2568 | Gets or sets body stream. |
1964 | for this to be forced. | ||
1965 | </summary> | 2569 | </summary> |
1966 | </member> | 2570 | </member> |
1967 | <member name="P:HttpServer.HttpResponse.Connection"> | 2571 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> |
1968 | <summary> | 2572 | <summary> |
1969 | Kind of connection | 2573 | Gets whether the body is complete. |
1970 | </summary> | 2574 | </summary> |
1971 | </member> | 2575 | </member> |
1972 | <member name="P:HttpServer.HttpResponse.Encoding"> | 2576 | <member name="P:HttpServer.IHttpRequest.Connection"> |
1973 | <summary> | 2577 | <summary> |
1974 | Encoding to use when sending stuff to the client. | 2578 | Gets or sets kind of connection used for the session. |
1975 | </summary> | 2579 | </summary> |
1976 | <remarks>Default is UTF8</remarks> | ||
1977 | </member> | 2580 | </member> |
1978 | <member name="P:HttpServer.HttpResponse.KeepAlive"> | 2581 | <member name="P:HttpServer.IHttpRequest.ContentLength"> |
1979 | <summary> | 2582 | <summary> |
1980 | Number of seconds to keep connection alive | 2583 | Gets or sets number of bytes in the body. |
1981 | </summary> | 2584 | </summary> |
1982 | <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks> | ||
1983 | </member> | 2585 | </member> |
1984 | <member name="P:HttpServer.HttpResponse.Status"> | 2586 | <member name="P:HttpServer.IHttpRequest.Cookies"> |
1985 | <summary> | 2587 | <summary> |
1986 | Status code that is sent to the client. | 2588 | Gets cookies that was sent with the request. |
1987 | </summary> | 2589 | </summary> |
1988 | <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks> | ||
1989 | </member> | 2590 | </member> |
1990 | <member name="P:HttpServer.HttpResponse.Reason"> | 2591 | <member name="P:HttpServer.IHttpRequest.Form"> |
1991 | <summary> | 2592 | <summary> |
1992 | Information about why a specific status code was used. | 2593 | Gets form parameters. |
1993 | </summary> | 2594 | </summary> |
1994 | </member> | 2595 | </member> |
1995 | <member name="P:HttpServer.HttpResponse.ContentLength"> | 2596 | <member name="P:HttpServer.IHttpRequest.Headers"> |
1996 | <summary> | 2597 | <summary> |
1997 | Size of the body. MUST be specified before sending the header, | 2598 | Gets headers sent by the client. |
1998 | unless property Chunked is set to true. | ||
1999 | </summary> | 2599 | </summary> |
2000 | </member> | 2600 | </member> |
2001 | <member name="P:HttpServer.HttpResponse.ContentType"> | 2601 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> |
2002 | <summary> | 2602 | <summary> |
2003 | Kind of content in the body | 2603 | Gets or sets version of HTTP protocol that's used. |
2004 | </summary> | 2604 | </summary> |
2005 | <remarks>Default type is "text/html"</remarks> | 2605 | <remarks> |
2606 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. | ||
2607 | </remarks> | ||
2608 | <seealso cref="T:HttpServer.HttpHelper"/> | ||
2006 | </member> | 2609 | </member> |
2007 | <member name="P:HttpServer.HttpResponse.HeadersSent"> | 2610 | <member name="P:HttpServer.IHttpRequest.IsAjax"> |
2008 | <summary> | 2611 | <summary> |
2009 | Headers have been sent to the client- | 2612 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
2010 | </summary> | 2613 | </summary> |
2011 | <remarks>You can not send any additional headers if they have already been sent.</remarks> | ||
2012 | </member> | 2614 | </member> |
2013 | <member name="P:HttpServer.HttpResponse.Sent"> | 2615 | <member name="P:HttpServer.IHttpRequest.Method"> |
2014 | <summary> | 2616 | <summary> |
2015 | The whole response have been sent. | 2617 | Gets or sets requested method. |
2016 | </summary> | 2618 | </summary> |
2619 | <remarks> | ||
2620 | Will always be in upper case. | ||
2621 | </remarks> | ||
2622 | <see cref="P:HttpServer.IHttpRequest.Method"/> | ||
2017 | </member> | 2623 | </member> |
2018 | <member name="P:HttpServer.HttpResponse.Cookies"> | 2624 | <member name="P:HttpServer.IHttpRequest.Param"> |
2019 | <summary> | 2625 | <summary> |
2020 | Cookies that should be created/changed. | 2626 | Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>. |
2021 | </summary> | 2627 | </summary> |
2022 | </member> | 2628 | </member> |
2023 | <member name="T:HttpServer.HttpContextFactory"> | 2629 | <member name="P:HttpServer.IHttpRequest.QueryString"> |
2024 | <summary> | 2630 | <summary> |
2025 | Used to create and reuse contexts. | 2631 | Gets variables sent in the query string |
2026 | </summary> | 2632 | </summary> |
2027 | </member> | 2633 | </member> |
2028 | <member name="T:HttpServer.IHttpContextFactory"> | 2634 | <member name="P:HttpServer.IHttpRequest.Uri"> |
2029 | <summary> | 2635 | <summary> |
2030 | Used to create <see cref="T:HttpServer.IHttpClientContext"/>es. | 2636 | Gets or sets requested URI. |
2031 | </summary> | 2637 | </summary> |
2032 | </member> | 2638 | </member> |
2033 | <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> | 2639 | <member name="P:HttpServer.IHttpRequest.UriParts"> |
2034 | <summary> | 2640 | <summary> |
2035 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. | 2641 | Gets URI absolute path divided into parts. |
2036 | </summary> | 2642 | </summary> |
2037 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 2643 | <example> |
2038 | <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | 2644 | // URI is: http://gauffin.com/code/tiny/ |
2645 | Console.WriteLine(request.UriParts[0]); // result: code | ||
2646 | Console.WriteLine(request.UriParts[1]); // result: tiny | ||
2647 | </example> | ||
2648 | <remarks> | ||
2649 | If you're using controllers than the first part is controller name, | ||
2650 | the second part is method name and the third part is Id property. | ||
2651 | </remarks> | ||
2652 | <seealso cref="P:HttpServer.IHttpRequest.Uri"/> | ||
2039 | </member> | 2653 | </member> |
2040 | <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 2654 | <member name="P:HttpServer.IHttpRequest.UriPath"> |
2041 | <summary> | 2655 | <summary> |
2042 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. | 2656 | Gets or sets path and query. |
2043 | </summary> | 2657 | </summary> |
2044 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 2658 | <see cref="P:HttpServer.IHttpRequest.Uri"/> |
2045 | <param name="certificate">HTTPS certificate to use.</param> | 2659 | <remarks> |
2046 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | 2660 | Are only used during request parsing. Cannot be set after "Host" header have been |
2047 | <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | 2661 | added. |
2662 | </remarks> | ||
2048 | </member> | 2663 | </member> |
2049 | <member name="E:HttpServer.IHttpContextFactory.RequestReceived"> | 2664 | <member name="T:HttpServer.IHttpClientContext"> |
2050 | <summary> | 2665 | <summary> |
2051 | A request have been received from one of the contexts. | 2666 | Contains a connection to a browser/client. |
2052 | </summary> | 2667 | </summary> |
2053 | </member> | 2668 | </member> |
2054 | <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)"> | 2669 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
2055 | <summary> | 2670 | <summary> |
2056 | Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class. | 2671 | Disconnect from client |
2057 | </summary> | 2672 | </summary> |
2058 | <param name="writer">The writer.</param> | 2673 | <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param> |
2059 | <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param> | ||
2060 | <param name="factory">Used to create a request parser.</param> | ||
2061 | </member> | 2674 | </member> |
2062 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> | 2675 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> |
2063 | <summary> | 2676 | <summary> |
2064 | Create a new context. | 2677 | Send a response. |
2065 | </summary> | 2678 | </summary> |
2066 | <param name="isSecured">true if socket is running HTTPS.</param> | 2679 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
2067 | <param name="endPoint">Client that connected</param> | 2680 | <param name="statusCode">HTTP status code</param> |
2068 | <param name="stream">Network/SSL stream.</param> | 2681 | <param name="reason">reason for the status code.</param> |
2069 | <returns>A context.</returns> | 2682 | <param name="body">HTML body contents, can be null or empty.</param> |
2683 | <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> | ||
2684 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
2070 | </member> | 2685 | </member> |
2071 | <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> | 2686 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
2072 | <summary> | 2687 | <summary> |
2073 | Create a new context. | 2688 | Send a response. |
2074 | </summary> | 2689 | </summary> |
2075 | <param name="isSecured">true if HTTPS is used.</param> | 2690 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
2076 | <param name="endPoint">Remote client</param> | 2691 | <param name="statusCode">HTTP status code</param> |
2077 | <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param> | 2692 | <param name="reason">reason for the status code.</param> |
2078 | <returns>A new context (always).</returns> | ||
2079 | </member> | 2693 | </member> |
2080 | <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 2694 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> |
2081 | <summary> | 2695 | <summary> |
2082 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. | 2696 | Send a response. |
2083 | </summary> | 2697 | </summary> |
2084 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 2698 | <exception cref="T:System.ArgumentNullException"></exception> |
2085 | <param name="certificate">HTTPS certificate to use.</param> | ||
2086 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | ||
2087 | <returns> | ||
2088 | A created <see cref="T:HttpServer.IHttpClientContext"/>. | ||
2089 | </returns> | ||
2090 | </member> | 2699 | </member> |
2091 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> | 2700 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> |
2092 | <summary> | 2701 | <summary> |
2093 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. | 2702 | send a whole buffer |
2094 | </summary> | 2703 | </summary> |
2095 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 2704 | <param name="buffer">buffer to send</param> |
2096 | <returns> | 2705 | <exception cref="T:System.ArgumentNullException"></exception> |
2097 | A creates <see cref="T:HttpServer.IHttpClientContext"/>. | ||
2098 | </returns> | ||
2099 | </member> | 2706 | </member> |
2100 | <member name="P:HttpServer.HttpContextFactory.UseTraceLogs"> | 2707 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
2101 | <summary> | 2708 | <summary> |
2102 | True if detailed trace logs should be written. | 2709 | Send data using the stream |
2103 | </summary> | 2710 | </summary> |
2711 | <param name="buffer">Contains data to send</param> | ||
2712 | <param name="offset">Start position in buffer</param> | ||
2713 | <param name="size">number of bytes to send</param> | ||
2714 | <exception cref="T:System.ArgumentNullException"></exception> | ||
2715 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
2104 | </member> | 2716 | </member> |
2105 | <member name="E:HttpServer.HttpContextFactory.RequestReceived"> | 2717 | <member name="M:HttpServer.IHttpClientContext.Close"> |
2106 | <summary> | 2718 | <summary> |
2107 | A request have been received from one of the contexts. | 2719 | Closes the streams and disposes of the unmanaged resources |
2108 | </summary> | 2720 | </summary> |
2109 | </member> | 2721 | </member> |
2110 | <member name="T:HttpServer.ReusableSocketNetworkStream"> | 2722 | <member name="P:HttpServer.IHttpClientContext.Secured"> |
2111 | <summary> | 2723 | <summary> |
2112 | Custom network stream to mark sockets as reusable when disposing the stream. | 2724 | Using SSL or other encryption method. |
2113 | </summary> | 2725 | </summary> |
2114 | </member> | 2726 | </member> |
2115 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)"> | 2727 | <member name="P:HttpServer.IHttpClientContext.IsSecured"> |
2116 | <summary> | 2728 | <summary> |
2117 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />. | 2729 | Using SSL or other encryption method. |
2118 | </summary> | 2730 | </summary> |
2119 | <param name="socket"> | ||
2120 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
2121 | </param> | ||
2122 | <exception cref="T:System.ArgumentNullException"> | ||
2123 | The <paramref name="socket" /> parameter is null. | ||
2124 | </exception> | ||
2125 | <exception cref="T:System.IO.IOException"> | ||
2126 | The <paramref name="socket" /> parameter is not connected. | ||
2127 | -or- | ||
2128 | 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" />. | ||
2129 | -or- | ||
2130 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
2131 | </exception> | ||
2132 | </member> | 2731 | </member> |
2133 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)"> | 2732 | <member name="E:HttpServer.IHttpClientContext.Disconnected"> |
2134 | <summary> | 2733 | <summary> |
2135 | 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. | 2734 | The context have been disconnected. |
2136 | </summary> | 2735 | </summary> |
2137 | <param name="socket"> | 2736 | <remarks> |
2138 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | 2737 | Event can be used to clean up a context, or to reuse it. |
2139 | </param> | 2738 | </remarks> |
2140 | <param name="ownsSocket"> | ||
2141 | 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. | ||
2142 | </param> | ||
2143 | <exception cref="T:System.ArgumentNullException"> | ||
2144 | The <paramref name="socket" /> parameter is null. | ||
2145 | </exception> | ||
2146 | <exception cref="T:System.IO.IOException"> | ||
2147 | The <paramref name="socket" /> parameter is not connected. | ||
2148 | -or- | ||
2149 | 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" />. | ||
2150 | -or- | ||
2151 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
2152 | </exception> | ||
2153 | </member> | 2739 | </member> |
2154 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)"> | 2740 | <member name="E:HttpServer.IHttpClientContext.RequestReceived"> |
2155 | <summary> | 2741 | <summary> |
2156 | 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. | 2742 | A request have been received in the context. |
2157 | </summary> | 2743 | </summary> |
2158 | <param name="socket"> | ||
2159 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
2160 | </param> | ||
2161 | <param name="access"> | ||
2162 | 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" />. | ||
2163 | </param> | ||
2164 | <exception cref="T:System.ArgumentNullException"> | ||
2165 | The <paramref name="socket" /> parameter is null. | ||
2166 | </exception> | ||
2167 | <exception cref="T:System.IO.IOException"> | ||
2168 | The <paramref name="socket" /> parameter is not connected. | ||
2169 | -or- | ||
2170 | 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" />. | ||
2171 | -or- | ||
2172 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
2173 | </exception> | ||
2174 | </member> | 2744 | </member> |
2175 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)"> | 2745 | <member name="T:HttpServer.DisconnectedEventArgs"> |
2176 | <summary> | 2746 | <summary> |
2177 | 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. | 2747 | A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected. |
2178 | </summary> | 2748 | </summary> |
2179 | <param name="socket"> | ||
2180 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
2181 | </param> | ||
2182 | <param name="access"> | ||
2183 | 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" />. | ||
2184 | </param> | ||
2185 | <param name="ownsSocket"> | ||
2186 | 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. | ||
2187 | </param> | ||
2188 | <exception cref="T:System.ArgumentNullException"> | ||
2189 | The <paramref name="socket" /> parameter is null. | ||
2190 | </exception> | ||
2191 | <exception cref="T:System.IO.IOException"> | ||
2192 | The <paramref name="socket" /> parameter is not connected. | ||
2193 | -or- | ||
2194 | 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" />. | ||
2195 | -or- | ||
2196 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
2197 | </exception> | ||
2198 | </member> | 2749 | </member> |
2199 | <member name="M:HttpServer.ReusableSocketNetworkStream.Close"> | 2750 | <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)"> |
2200 | <summary> | 2751 | <summary> |
2201 | Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. | 2752 | Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class. |
2202 | </summary> | 2753 | </summary> |
2754 | <param name="error">Reason to disconnection.</param> | ||
2203 | </member> | 2755 | </member> |
2204 | <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)"> | 2756 | <member name="P:HttpServer.DisconnectedEventArgs.Error"> |
2205 | <summary> | 2757 | <summary> |
2206 | Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources. | 2758 | Gets reason to why client disconnected. |
2207 | </summary> | 2759 | </summary> |
2208 | <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> | ||
2209 | </member> | 2760 | </member> |
2210 | <member name="T:HttpServer.Authentication.BasicAuthentication"> | 2761 | <member name="T:HttpServer.RequestEventArgs"> |
2211 | <summary> | 2762 | <summary> |
2212 | The "basic" authentication scheme is based on the model that the | 2763 | |
2213 | client must authenticate itself with a user-ID and a password for | ||
2214 | each realm. The realm value should be considered an opaque string | ||
2215 | which can only be compared for equality with other realms on that | ||
2216 | server. The server will service the request only if it can validate | ||
2217 | the user-ID and password for the protection space of the Request-URI. | ||
2218 | There are no optional authentication parameters. | ||
2219 | </summary> | 2764 | </summary> |
2220 | </member> | 2765 | </member> |
2221 | <member name="T:HttpServer.Authentication.AuthenticationModule"> | 2766 | <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)"> |
2222 | <summary> | 2767 | <summary> |
2223 | Authentication modules are used to implement different | 2768 | Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class. |
2224 | kind of HTTP authentication. | ||
2225 | </summary> | 2769 | </summary> |
2770 | <param name="request">The request.</param> | ||
2226 | </member> | 2771 | </member> |
2227 | <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"> | 2772 | <member name="P:HttpServer.RequestEventArgs.Request"> |
2228 | <summary> | 2773 | <summary> |
2229 | Tag used for authentication. | 2774 | Gets received request. |
2230 | </summary> | 2775 | </summary> |
2231 | </member> | 2776 | </member> |
2232 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 2777 | <member name="T:HttpServer.HttpModules.WebSiteModule"> |
2233 | <summary> | 2778 | <summary> |
2234 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. | 2779 | The website module let's you handle multiple websites in the same server. |
2780 | It uses the "Host" header to check which site you want. | ||
2235 | </summary> | 2781 | </summary> |
2236 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 2782 | <remarks>It's recommended that you do not |
2237 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | 2783 | add any other modules to HttpServer if you are using the website module. Instead, |
2784 | add all wanted modules to each website.</remarks> | ||
2238 | </member> | 2785 | </member> |
2239 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 2786 | <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)"> |
2240 | <summary> | 2787 | <summary> |
2241 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. | 2788 | |
2242 | </summary> | 2789 | </summary> |
2243 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 2790 | <param name="host">domain name that should be handled.</param> |
2791 | <param name="name"></param> | ||
2244 | </member> | 2792 | </member> |
2245 | <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])"> | 2793 | <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
2246 | <summary> | 2794 | <summary> |
2247 | Create a response that can be sent in the WWW-Authenticate header. | 2795 | Method that process the url |
2248 | </summary> | 2796 | </summary> |
2249 | <param name="realm">Realm that the user should authenticate in</param> | 2797 | <param name="request">Information sent by the browser about the request</param> |
2250 | <param name="options">Array with optional options.</param> | 2798 | <param name="response">Information that is being sent back to the client.</param> |
2251 | <returns>A correct authentication request.</returns> | 2799 | <param name="session">Session used to </param> |
2252 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
2253 | </member> | 2800 | </member> |
2254 | <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])"> | 2801 | <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName"> |
2255 | <summary> | 2802 | <summary> |
2256 | An authentication response have been received from the web browser. | 2803 | Name of site. |
2257 | Check if it's correct | ||
2258 | </summary> | 2804 | </summary> |
2259 | <param name="authenticationHeader">Contents from the Authorization header</param> | ||
2260 | <param name="realm">Realm that should be authenticated</param> | ||
2261 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | ||
2262 | <param name="options">options to specific implementations</param> | ||
2263 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | ||
2264 | <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception> | ||
2265 | <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception> | ||
2266 | </member> | 2805 | </member> |
2267 | <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> | 2806 | <member name="T:HttpServer.HttpInputItem"> |
2268 | <summary> | 2807 | <summary> |
2269 | Used to invoke the authentication delegate that is used to lookup the user name/realm. | 2808 | represents a HTTP input item. Each item can have multiple sub items, a sub item |
2809 | is made in a HTML form by using square brackets | ||
2270 | </summary> | 2810 | </summary> |
2271 | <param name="realm">Realm (domain) that user want to authenticate in</param> | 2811 | <example> |
2272 | <param name="userName">User name</param> | 2812 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: |
2273 | <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param> | 2813 | Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); |
2274 | <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param> | 2814 | </example> |
2275 | <returns>true if authentication was successful</returns> | 2815 | <remarks> |
2816 | All names in a form SHOULD be in lowercase. | ||
2817 | </remarks> | ||
2276 | </member> | 2818 | </member> |
2277 | <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)"> | 2819 | <member name="F:HttpServer.HttpInputItem.Empty"> |
2820 | <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary> | ||
2821 | </member> | ||
2822 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> | ||
2278 | <summary> | 2823 | <summary> |
2279 | Determines if authentication is required. | 2824 | Initializes an input item setting its name/identifier and value |
2280 | </summary> | 2825 | </summary> |
2281 | <param name="request">HTTP request from browser</param> | 2826 | <param name="name">Parameter name/id</param> |
2282 | <returns>true if user should be authenticated.</returns> | 2827 | <param name="value">Parameter value</param> |
2283 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks> | ||
2284 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
2285 | </member> | 2828 | </member> |
2286 | <member name="P:HttpServer.Authentication.AuthenticationModule.Name"> | 2829 | <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)"> |
2830 | <summary>Creates a deep copy of the item specified</summary> | ||
2831 | <param name="item">The item to copy</param> | ||
2832 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> | ||
2833 | </member> | ||
2834 | <member name="M:HttpServer.HttpInputItem.Add(System.String)"> | ||
2287 | <summary> | 2835 | <summary> |
2288 | name used in HTTP request. | 2836 | Add another value to this item |
2289 | </summary> | 2837 | </summary> |
2838 | <param name="value">Value to add.</param> | ||
2839 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
2290 | </member> | 2840 | </member> |
2291 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 2841 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> |
2292 | <summary> | 2842 | <summary> |
2293 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 2843 | checks if a sub-item exists (and has a value). |
2294 | </summary> | 2844 | </summary> |
2295 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 2845 | <param name="name">name in lower case</param> |
2296 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | 2846 | <returns>true if the sub-item exists and has a value; otherwise false.</returns> |
2297 | </member> | 2847 | </member> |
2298 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 2848 | <member name="M:HttpServer.HttpInputItem.ToString"> |
2849 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> | ||
2850 | </member> | ||
2851 | <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)"> | ||
2299 | <summary> | 2852 | <summary> |
2300 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 2853 | Outputs the string in a formatted manner |
2301 | </summary> | 2854 | </summary> |
2302 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 2855 | <param name="prefix">A prefix to append, used internally</param> |
2856 | <param name="asQuerySting">produce a query string</param> | ||
2303 | </member> | 2857 | </member> |
2304 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> | 2858 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> |
2305 | <summary> | 2859 | <summary> |
2306 | Create a response that can be sent in the WWW-Authenticate header. | 2860 | Add a sub item. |
2307 | </summary> | 2861 | </summary> |
2308 | <param name="realm">Realm that the user should authenticate in</param> | 2862 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> |
2309 | <param name="options">Not used in basic auth</param> | 2863 | <param name="value">Value to add.</param> |
2310 | <returns>A correct auth request.</returns> | 2864 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> |
2865 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
2311 | </member> | 2866 | </member> |
2312 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | 2867 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
2313 | <summary> | 2868 | <summary> |
2314 | An authentication response have been received from the web browser. | 2869 | Returns an enumerator that iterates through the collection. |
2315 | Check if it's correct | ||
2316 | </summary> | 2870 | </summary> |
2317 | <param name="authenticationHeader">Contents from the Authorization header</param> | 2871 | |
2318 | <param name="realm">Realm that should be authenticated</param> | 2872 | <returns> |
2319 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 2873 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
2320 | <param name="options">Not used in basic auth</param> | 2874 | </returns> |
2321 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | 2875 | <filterpriority>1</filterpriority> |
2322 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
2323 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
2324 | </member> | 2876 | </member> |
2325 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> | 2877 | <member name="M:HttpServer.HttpInputItem.GetEnumerator"> |
2326 | <summary> | 2878 | <summary> |
2327 | name used in http request. | 2879 | Returns an enumerator that iterates through a collection. |
2328 | </summary> | 2880 | </summary> |
2881 | |||
2882 | <returns> | ||
2883 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | ||
2884 | </returns> | ||
2885 | <filterpriority>2</filterpriority> | ||
2329 | </member> | 2886 | </member> |
2330 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> | 2887 | <member name="M:HttpServer.HttpInputItem.ToString(System.String)"> |
2331 | <summary> | 2888 | <summary> |
2332 | Used to inform http server that | 2889 | Outputs the string in a formatted manner |
2333 | </summary> | 2890 | </summary> |
2891 | <param name="prefix">A prefix to append, used internally</param> | ||
2892 | <returns></returns> | ||
2334 | </member> | 2893 | </member> |
2335 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> | 2894 | <member name="P:HttpServer.HttpInputItem.Count"> |
2336 | <summary> | 2895 | <summary> |
2337 | Eventarguments used when an exception is thrown by a module | 2896 | Number of values |
2338 | </summary> | 2897 | </summary> |
2339 | <param name="e">the exception</param> | ||
2340 | </member> | 2898 | </member> |
2341 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> | 2899 | <member name="P:HttpServer.HttpInputItem.Item(System.String)"> |
2342 | <summary> | 2900 | <summary> |
2343 | Exception thrown in a module | 2901 | Get a sub item |
2344 | </summary> | 2902 | </summary> |
2903 | <param name="name">name in lower case.</param> | ||
2904 | <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns> | ||
2345 | </member> | 2905 | </member> |
2346 | <member name="T:HttpServer.Helpers.Implementations.PrototypeImp"> | 2906 | <member name="P:HttpServer.HttpInputItem.Name"> |
2347 | <summary> | 2907 | <summary> |
2348 | PrototypeJS implementation of the javascript functions. | 2908 | Name of item (in lower case). |
2349 | </summary> | 2909 | </summary> |
2350 | </member> | 2910 | </member> |
2351 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> | 2911 | <member name="P:HttpServer.HttpInputItem.Value"> |
2352 | <summary> | 2912 | <summary> |
2353 | Purpose of this class is to create a javascript toolkit independent javascript helper. | 2913 | Returns the first value, or null if no value exist. |
2354 | </summary> | 2914 | </summary> |
2355 | </member> | 2915 | </member> |
2356 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> | 2916 | <member name="P:HttpServer.HttpInputItem.LastValue"> |
2357 | <summary> | 2917 | <summary> |
2358 | Generates a list with JS options. | 2918 | Returns the last value, or null if no value exist. |
2359 | </summary> | 2919 | </summary> |
2360 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
2361 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> | ||
2362 | <param name="startWithComma">true if we should start with a comma.</param> | ||
2363 | </member> | 2920 | </member> |
2364 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> | 2921 | <member name="P:HttpServer.HttpInputItem.Values"> |
2365 | <summary> | 2922 | <summary> |
2366 | Removes any javascript parameters from an array of parameters | 2923 | Returns the list with values. |
2367 | </summary> | 2924 | </summary> |
2368 | <param name="options">The array of parameters to remove javascript params from</param> | ||
2369 | <returns>An array of html parameters</returns> | ||
2370 | </member> | 2925 | </member> |
2371 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> | 2926 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> |
2372 | <summary> | 2927 | <summary> |
2373 | javascript action that should be added to the "onsubmit" event in the form tag. | 2928 | |
2374 | </summary> | 2929 | </summary> |
2930 | <param name="name">name in lower case</param> | ||
2375 | <returns></returns> | 2931 | <returns></returns> |
2376 | <remarks>All javascript option names should end with colon.</remarks> | ||
2377 | <example> | ||
2378 | <code> | ||
2379 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
2380 | </code> | ||
2381 | </example> | ||
2382 | </member> | 2932 | </member> |
2383 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> | 2933 | <member name="T:HttpServer.HttpFile"> |
2384 | <summary> | 2934 | <summary> |
2385 | Requests a url through ajax | 2935 | Container class for posted files |
2386 | </summary> | 2936 | </summary> |
2387 | <param name="url">url to fetch</param> | ||
2388 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> | ||
2389 | <returns>a link tag</returns> | ||
2390 | <remarks>All javascript option names should end with colon.</remarks> | ||
2391 | <example> | ||
2392 | <code> | ||
2393 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
2394 | </code> | ||
2395 | </example> | ||
2396 | </member> | 2937 | </member> |
2397 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> | 2938 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"> |
2398 | <summary> | 2939 | <summary> |
2399 | Ajax requests that updates an element with | 2940 | Creates a container for a posted file |
2400 | the fetched content | ||
2401 | </summary> | 2941 | </summary> |
2402 | <param name="url">Url to fetch content from</param> | 2942 | <param name="name">The identifier of the post field</param> |
2403 | <param name="targetId">element to update</param> | 2943 | <param name="filename">The file path</param> |
2404 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> | 2944 | <param name="contentType">The content type of the file</param> |
2405 | <returns>A link tag.</returns> | 2945 | <param name="uploadFilename">The name of the file uploaded</param> |
2406 | <remarks>All javascript option names should end with colon.</remarks> | 2946 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> |
2407 | <example> | ||
2408 | <code> | ||
2409 | JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); | ||
2410 | </code> | ||
2411 | </example> | ||
2412 | </member> | 2947 | </member> |
2413 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> | 2948 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)"> |
2414 | <summary> | 2949 | <summary> |
2415 | A link that pop ups a Dialog (overlay div) | 2950 | Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/> |
2416 | </summary> | 2951 | </summary> |
2417 | <param name="url">url to contents of dialog</param> | 2952 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> |
2418 | <param name="title">link title</param> | ||
2419 | <returns>A "a"-tag that popups a dialog when clicked</returns> | ||
2420 | <param name="htmlAttributes">name/value of html attributes</param> | ||
2421 | <example> | ||
2422 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
2423 | </example> | ||
2424 | </member> | 2953 | </member> |
2425 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> | 2954 | <member name="M:HttpServer.HttpFile.Finalize"> |
2955 | <summary>Destructor disposing the file</summary> | ||
2956 | </member> | ||
2957 | <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)"> | ||
2426 | <summary> | 2958 | <summary> |
2427 | Close a javascript dialog window/div. | 2959 | Deletes the temporary file |
2428 | </summary> | 2960 | </summary> |
2429 | <returns>javascript for closing a dialog.</returns> | 2961 | <param name="disposing">True if manual dispose</param> |
2430 | <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/> | ||
2431 | </member> | 2962 | </member> |
2432 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> | 2963 | <member name="M:HttpServer.HttpFile.Dispose"> |
2433 | <summary> | 2964 | <summary> |
2434 | Creates a new modal dialog window | 2965 | Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization |
2966 | </summary> | ||
2967 | </member> | ||
2968 | <member name="P:HttpServer.HttpFile.Name"> | ||
2969 | <summary> | ||
2970 | The name/id of the file | ||
2971 | </summary> | ||
2972 | </member> | ||
2973 | <member name="P:HttpServer.HttpFile.Filename"> | ||
2974 | <summary> | ||
2975 | The full file path | ||
2976 | </summary> | ||
2977 | </member> | ||
2978 | <member name="P:HttpServer.HttpFile.UploadFilename"> | ||
2979 | <summary> | ||
2980 | The name of the uploaded file | ||
2981 | </summary> | ||
2982 | </member> | ||
2983 | <member name="P:HttpServer.HttpFile.ContentType"> | ||
2984 | <summary> | ||
2985 | The type of file | ||
2986 | </summary> | ||
2987 | </member> | ||
2988 | <member name="T:HttpServer.Helpers.Implementations.PrototypeImp"> | ||
2989 | <summary> | ||
2990 | PrototypeJS implementation of the javascript functions. | ||
2435 | </summary> | 2991 | </summary> |
2436 | <param name="url">url to open in window.</param> | ||
2437 | <param name="title">window title (may not be supported by all js implementations)</param> | ||
2438 | <param name="options"></param> | ||
2439 | <returns></returns> | ||
2440 | </member> | 2992 | </member> |
2441 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])"> | 2993 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])"> |
2442 | <summary> | 2994 | <summary> |
@@ -2533,907 +3085,587 @@ | |||
2533 | </code> | 3085 | </code> |
2534 | </example> | 3086 | </example> |
2535 | </member> | 3087 | </member> |
2536 | <member name="T:HttpServer.ContentType"> | 3088 | <member name="T:HttpServer.Exceptions.UnauthorizedException"> |
2537 | <summary> | ||
2538 | Lists content type mime types. | ||
2539 | </summary> | ||
2540 | </member> | ||
2541 | <member name="F:HttpServer.ContentType.Text"> | ||
2542 | <summary> | ||
2543 | text/plain | ||
2544 | </summary> | ||
2545 | </member> | ||
2546 | <member name="F:HttpServer.ContentType.Html"> | ||
2547 | <summary> | ||
2548 | text/haml | ||
2549 | </summary> | ||
2550 | </member> | ||
2551 | <member name="F:HttpServer.ContentType.Javascript"> | ||
2552 | <summary> | ||
2553 | content type for javascript documents = application/javascript | ||
2554 | </summary> | ||
2555 | <remarks> | ||
2556 | <para> | ||
2557 | RFC 4329 states that text/javascript have been superseeded by | ||
2558 | application/javascript. You might still want to check browser versions | ||
2559 | since older ones do not support application/javascript. | ||
2560 | </para> | ||
2561 | <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para> | ||
2562 | </remarks> | ||
2563 | </member> | ||
2564 | <member name="F:HttpServer.ContentType.Xml"> | ||
2565 | <summary> | ||
2566 | text/xml | ||
2567 | </summary> | ||
2568 | </member> | ||
2569 | <member name="T:HttpServer.ContentTypes"> | ||
2570 | <summary> | ||
2571 | A list of content types | ||
2572 | </summary> | ||
2573 | </member> | ||
2574 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> | ||
2575 | <summary> | 3089 | <summary> |
3090 | The request requires user authentication. The response MUST include a | ||
3091 | WWW-Authenticate header field (section 14.47) containing a challenge | ||
3092 | applicable to the requested resource. | ||
2576 | 3093 | ||
2577 | </summary> | 3094 | The client MAY repeat the request with a suitable Authorization header |
2578 | <param name="types">Semicolon separated content types.</param> | 3095 | field (section 14.8). If the request already included Authorization |
2579 | </member> | 3096 | credentials, then the 401 response indicates that authorization has been |
2580 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> | 3097 | refused for those credentials. If the 401 response contains the same challenge |
2581 | <summary> | 3098 | as the prior response, and the user agent has already attempted authentication |
2582 | Returns an enumerator that iterates through a collection. | 3099 | at least once, then the user SHOULD be presented the entity that was given in the response, |
2583 | </summary> | 3100 | since that entity might include relevant diagnostic information. |
2584 | <returns> | ||
2585 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. | ||
2586 | </returns> | ||
2587 | </member> | ||
2588 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> | ||
2589 | <summary> | ||
2590 | Searches for the specified type | ||
2591 | </summary> | ||
2592 | <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param> | ||
2593 | <returns>true if type was found.</returns> | ||
2594 | </member> | ||
2595 | <member name="P:HttpServer.ContentTypes.First"> | ||
2596 | <summary> | ||
2597 | Get this first content type. | ||
2598 | </summary> | ||
2599 | </member> | ||
2600 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> | ||
2601 | <summary> | ||
2602 | Fetch a content type | ||
2603 | </summary> | ||
2604 | <param name="type">Part of type ("xml" would return "application/xml")</param> | ||
2605 | <returns></returns> | ||
2606 | <remarks>All content types are in lower case.</remarks> | ||
2607 | </member> | ||
2608 | <member name="T:HttpServer.Parser.HeaderEventArgs"> | ||
2609 | <summary> | ||
2610 | Event arguments used when a new header have been parsed. | ||
2611 | </summary> | ||
2612 | </member> | ||
2613 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)"> | ||
2614 | <summary> | ||
2615 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | ||
2616 | </summary> | ||
2617 | <param name="name">Name of header.</param> | ||
2618 | <param name="value">Header value.</param> | ||
2619 | </member> | ||
2620 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor"> | ||
2621 | <summary> | ||
2622 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | ||
2623 | </summary> | ||
2624 | </member> | ||
2625 | <member name="P:HttpServer.Parser.HeaderEventArgs.Name"> | ||
2626 | <summary> | ||
2627 | Gets or sets header name. | ||
2628 | </summary> | ||
2629 | </member> | ||
2630 | <member name="P:HttpServer.Parser.HeaderEventArgs.Value"> | ||
2631 | <summary> | ||
2632 | Gets or sets header value. | ||
2633 | </summary> | ||
2634 | </member> | ||
2635 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> | ||
2636 | <summary> | ||
2637 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites | ||
2638 | and public clients. | ||
2639 | 3101 | ||
2640 | A typical usage is to allow web servers on non standard ports to still be available | 3102 | HTTP access authentication is explained in rfc2617: |
2641 | to the public clients, or allow web servers on private ips to be available. | 3103 | http://www.ietf.org/rfc/rfc2617.txt |
2642 | </summary> | ||
2643 | </member> | ||
2644 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)"> | ||
2645 | <summary> | ||
2646 | 3104 | ||
3105 | (description is taken from | ||
3106 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) | ||
2647 | </summary> | 3107 | </summary> |
2648 | <param name="source">Base url requested from browser</param> | ||
2649 | <param name="destination">Base url on private web server</param> | ||
2650 | <example> | ||
2651 | // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas | ||
2652 | _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); | ||
2653 | </example> | ||
2654 | </member> | 3108 | </member> |
2655 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)"> | 3109 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor"> |
2656 | <summary> | 3110 | <summary> |
2657 | Method that determines if an url should be handled or not by the module | 3111 | Create a new unauhtorized exception. |
2658 | </summary> | 3112 | </summary> |
2659 | <param name="uri">Url requested by the client.</param> | 3113 | <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/> |
2660 | <returns>true if module should handle the url.</returns> | ||
2661 | </member> | 3114 | </member> |
2662 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 3115 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)"> |
2663 | <summary> | 3116 | <summary> |
2664 | Method that process the url | 3117 | Create a new unauhtorized exception. |
2665 | </summary> | 3118 | </summary> |
2666 | <param name="request">Information sent by the browser about the request</param> | 3119 | <param name="message">reason to why the request was unauthorized.</param> |
2667 | <param name="response">Information that is being sent back to the client.</param> | 3120 | <param name="inner">inner exception</param> |
2668 | <param name="session">Session used to </param> | ||
2669 | </member> | 3121 | </member> |
2670 | <member name="T:HttpServer.HttpClientContext"> | 3122 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)"> |
2671 | <summary> | 3123 | <summary> |
2672 | Contains a connection to a browser/client. | 3124 | Create a new unauhtorized exception. |
2673 | </summary> | 3125 | </summary> |
2674 | <remarks> | 3126 | <param name="message">reason to why the request was unauthorized.</param> |
2675 | Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event. | ||
2676 | </remarks> | ||
2677 | TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? | ||
2678 | </member> | 3127 | </member> |
2679 | <member name="T:HttpServer.IHttpClientContext"> | 3128 | <member name="T:HttpServer.Exceptions.ForbiddenException"> |
2680 | <summary> | 3129 | <summary> |
2681 | Contains a connection to a browser/client. | 3130 | The server understood the request, but is refusing to fulfill it. |
3131 | Authorization will not help and the request SHOULD NOT be repeated. | ||
3132 | If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, | ||
3133 | it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information | ||
3134 | available to the client, the status code 404 (Not Found) can be used instead. | ||
3135 | |||
3136 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | ||
2682 | </summary> | 3137 | </summary> |
2683 | </member> | 3138 | </member> |
2684 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> | 3139 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> |
2685 | <summary> | 3140 | <summary> |
2686 | Disconnect from client | 3141 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. |
2687 | </summary> | 3142 | </summary> |
2688 | <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param> | 3143 | <param name="errorMsg">error message</param> |
2689 | </member> | 3144 | </member> |
2690 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> | 3145 | <member name="T:HttpServer.Authentication.BasicAuthentication"> |
2691 | <summary> | 3146 | <summary> |
2692 | Send a response. | 3147 | The "basic" authentication scheme is based on the model that the |
3148 | client must authenticate itself with a user-ID and a password for | ||
3149 | each realm. The realm value should be considered an opaque string | ||
3150 | which can only be compared for equality with other realms on that | ||
3151 | server. The server will service the request only if it can validate | ||
3152 | the user-ID and password for the protection space of the Request-URI. | ||
3153 | There are no optional authentication parameters. | ||
2693 | </summary> | 3154 | </summary> |
2694 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | ||
2695 | <param name="statusCode">HTTP status code</param> | ||
2696 | <param name="reason">reason for the status code.</param> | ||
2697 | <param name="body">HTML body contents, can be null or empty.</param> | ||
2698 | <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> | ||
2699 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
2700 | </member> | 3155 | </member> |
2701 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 3156 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
2702 | <summary> | 3157 | <summary> |
2703 | Send a response. | 3158 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
2704 | </summary> | 3159 | </summary> |
2705 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 3160 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
2706 | <param name="statusCode">HTTP status code</param> | 3161 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
2707 | <param name="reason">reason for the status code.</param> | ||
2708 | </member> | 3162 | </member> |
2709 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> | 3163 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
2710 | <summary> | 3164 | <summary> |
2711 | Send a response. | 3165 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
2712 | </summary> | 3166 | </summary> |
2713 | <exception cref="T:System.ArgumentNullException"></exception> | 3167 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
2714 | </member> | 3168 | </member> |
2715 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> | 3169 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> |
2716 | <summary> | 3170 | <summary> |
2717 | send a whole buffer | 3171 | Create a response that can be sent in the WWW-Authenticate header. |
2718 | </summary> | 3172 | </summary> |
2719 | <param name="buffer">buffer to send</param> | 3173 | <param name="realm">Realm that the user should authenticate in</param> |
2720 | <exception cref="T:System.ArgumentNullException"></exception> | 3174 | <param name="options">Not used in basic auth</param> |
3175 | <returns>A correct auth request.</returns> | ||
2721 | </member> | 3176 | </member> |
2722 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> | 3177 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
2723 | <summary> | 3178 | <summary> |
2724 | Send data using the stream | 3179 | An authentication response have been received from the web browser. |
3180 | Check if it's correct | ||
2725 | </summary> | 3181 | </summary> |
2726 | <param name="buffer">Contains data to send</param> | 3182 | <param name="authenticationHeader">Contents from the Authorization header</param> |
2727 | <param name="offset">Start position in buffer</param> | 3183 | <param name="realm">Realm that should be authenticated</param> |
2728 | <param name="size">number of bytes to send</param> | 3184 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> |
2729 | <exception cref="T:System.ArgumentNullException"></exception> | 3185 | <param name="options">Not used in basic auth</param> |
2730 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | 3186 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> |
3187 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
3188 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
2731 | </member> | 3189 | </member> |
2732 | <member name="M:HttpServer.IHttpClientContext.Close"> | 3190 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> |
2733 | <summary> | 3191 | <summary> |
2734 | Closes the streams and disposes of the unmanaged resources | 3192 | name used in http request. |
2735 | </summary> | 3193 | </summary> |
2736 | </member> | 3194 | </member> |
2737 | <member name="P:HttpServer.IHttpClientContext.Secured"> | 3195 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> |
2738 | <summary> | 3196 | <summary> |
2739 | Using SSL or other encryption method. | 3197 | A session store is used to store and load sessions on a media. |
3198 | The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory. | ||
2740 | </summary> | 3199 | </summary> |
2741 | </member> | 3200 | </member> |
2742 | <member name="P:HttpServer.IHttpClientContext.IsSecured"> | 3201 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create"> |
2743 | <summary> | 3202 | <summary> |
2744 | Using SSL or other encryption method. | 3203 | Creates a new http session with a generated id. |
2745 | </summary> | 3204 | </summary> |
3205 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns> | ||
2746 | </member> | 3206 | </member> |
2747 | <member name="E:HttpServer.IHttpClientContext.Disconnected"> | 3207 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)"> |
2748 | <summary> | 3208 | <summary> |
2749 | The context have been disconnected. | 3209 | Creates a new http session with a specific id |
2750 | </summary> | 3210 | </summary> |
3211 | <param name="id">Id used to identify the new cookie..</param> | ||
3212 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | ||
2751 | <remarks> | 3213 | <remarks> |
2752 | Event can be used to clean up a context, or to reuse it. | 3214 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. |
2753 | </remarks> | 3215 | </remarks> |
2754 | </member> | 3216 | </member> |
2755 | <member name="E:HttpServer.IHttpClientContext.RequestReceived"> | 3217 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)"> |
2756 | <summary> | ||
2757 | A request have been received in the context. | ||
2758 | </summary> | ||
2759 | </member> | ||
2760 | <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)"> | ||
2761 | <summary> | ||
2762 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class. | ||
2763 | </summary> | ||
2764 | <param name="secured">true if the connection is secured (SSL/TLS)</param> | ||
2765 | <param name="remoteEndPoint">client that connected.</param> | ||
2766 | <param name="stream">Stream used for communication</param> | ||
2767 | <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param> | ||
2768 | <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param> | ||
2769 | <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> | ||
2770 | <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception> | ||
2771 | </member> | ||
2772 | <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)"> | ||
2773 | <summary> | ||
2774 | Process incoming body bytes. | ||
2775 | </summary> | ||
2776 | <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param> | ||
2777 | <param name="e">Bytes</param> | ||
2778 | </member> | ||
2779 | <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)"> | ||
2780 | <summary> | 3218 | <summary> |
2781 | 3219 | Load an existing session. | |
2782 | </summary> | 3220 | </summary> |
2783 | <param name="sender"></param> | 3221 | <param name="sessionId">Session id (usually retrieved from a client side cookie).</param> |
2784 | <param name="e"></param> | 3222 | <returns>A session if found; otherwise null.</returns> |
2785 | </member> | 3223 | </member> |
2786 | <member name="M:HttpServer.HttpClientContext.Start"> | 3224 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)"> |
2787 | <summary> | 3225 | <summary> |
2788 | Start reading content. | 3226 | Save an updated session to the store. |
2789 | </summary> | 3227 | </summary> |
2790 | <remarks> | 3228 | <param name="session">Session id (usually retrieved from a client side cookie).</param> |
2791 | Make sure to call base.Start() if you override this method. | 3229 | <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception> |
2792 | </remarks> | ||
2793 | </member> | 3230 | </member> |
2794 | <member name="M:HttpServer.HttpClientContext.Cleanup"> | 3231 | <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> |
2795 | <summary> | 3232 | <summary> |
2796 | Clean up context. | 3233 | We use the flyweight pattern which reuses small objects |
3234 | instead of creating new each time. | ||
2797 | </summary> | 3235 | </summary> |
2798 | <remarks> | 3236 | <param name="session">Unused session that should be reused next time Create is called.</param> |
2799 | Make sure to call base.Cleanup() if you override the method. | ||
2800 | </remarks> | ||
2801 | </member> | 3237 | </member> |
2802 | <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> | 3238 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup"> |
2803 | <summary> | 3239 | <summary> |
2804 | Disconnect from client | 3240 | Remove expired sessions |
2805 | </summary> | 3241 | </summary> |
2806 | <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param> | ||
2807 | </member> | ||
2808 | <member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)"> | ||
2809 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | ||
2810 | </member> | 3242 | </member> |
2811 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> | 3243 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)"> |
2812 | <summary> | 3244 | <summary> |
2813 | Send a response. | 3245 | Remove a session |
2814 | </summary> | 3246 | </summary> |
2815 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 3247 | <param name="sessionId">id of the session.</param> |
2816 | <param name="statusCode">HTTP status code</param> | ||
2817 | <param name="reason">reason for the status code.</param> | ||
2818 | <param name="body">HTML body contents, can be null or empty.</param> | ||
2819 | <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> | ||
2820 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
2821 | </member> | 3248 | </member> |
2822 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 3249 | <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)"> |
2823 | <summary> | 3250 | <summary> |
2824 | Send a response. | 3251 | Load a session from the store |
2825 | </summary> | 3252 | </summary> |
2826 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 3253 | <param name="sessionId"></param> |
2827 | <param name="statusCode">HTTP status code</param> | 3254 | <returns>null if session is not found.</returns> |
2828 | <param name="reason">reason for the status code.</param> | ||
2829 | </member> | 3255 | </member> |
2830 | <member name="M:HttpServer.HttpClientContext.Respond(System.String)"> | 3256 | <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime"> |
2831 | <summary> | 3257 | <summary> |
2832 | Send a response. | 3258 | Number of minutes before a session expires. |
2833 | </summary> | 3259 | </summary> |
2834 | <exception cref="T:System.ArgumentNullException"></exception> | 3260 | <value>Default time is 20 minutes.</value> |
2835 | </member> | 3261 | </member> |
2836 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])"> | 3262 | <member name="T:HttpServer.RequestCookies"> |
2837 | <summary> | 3263 | <summary> |
2838 | send a whole buffer | 3264 | This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). |
3265 | The framework might switch class in the future and we dont want to have to replace all instances | ||
2839 | </summary> | 3266 | </summary> |
2840 | <param name="buffer">buffer to send</param> | ||
2841 | <exception cref="T:System.ArgumentNullException"></exception> | ||
2842 | </member> | 3267 | </member> |
2843 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> | 3268 | <member name="M:HttpServer.RequestCookies.#ctor(System.String)"> |
2844 | <summary> | 3269 | <summary> |
2845 | Send data using the stream | 3270 | Let's copy all the cookies. |
2846 | </summary> | 3271 | </summary> |
2847 | <param name="buffer">Contains data to send</param> | 3272 | <param name="cookies">value from cookie header.</param> |
2848 | <param name="offset">Start position in buffer</param> | ||
2849 | <param name="size">number of bytes to send</param> | ||
2850 | <exception cref="T:System.ArgumentNullException"></exception> | ||
2851 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
2852 | </member> | 3273 | </member> |
2853 | <member name="E:HttpServer.HttpClientContext.Cleaned"> | 3274 | <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)"> |
2854 | <summary> | 3275 | <summary> |
2855 | This context have been cleaned, which means that it can be reused. | 3276 | Adds a cookie in the collection. |
2856 | </summary> | 3277 | </summary> |
3278 | <param name="cookie">cookie to add</param> | ||
3279 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | ||
2857 | </member> | 3280 | </member> |
2858 | <member name="E:HttpServer.HttpClientContext.Started"> | 3281 | <member name="M:HttpServer.RequestCookies.GetEnumerator"> |
2859 | <summary> | 3282 | <summary> |
2860 | Context have been started (a new client have connected) | 3283 | Gets a collection enumerator on the cookie list. |
2861 | </summary> | 3284 | </summary> |
3285 | <returns>collection enumerator</returns> | ||
2862 | </member> | 3286 | </member> |
2863 | <member name="P:HttpServer.HttpClientContext.CurrentRequest"> | 3287 | <member name="M:HttpServer.RequestCookies.Clear"> |
2864 | <summary> | 3288 | <summary> |
2865 | Overload to specify own type. | 3289 | Remove all cookies. |
2866 | </summary> | 3290 | </summary> |
2867 | <remarks> | ||
2868 | Must be specified before the context is being used. | ||
2869 | </remarks> | ||
2870 | </member> | 3291 | </member> |
2871 | <member name="P:HttpServer.HttpClientContext.Secured"> | 3292 | <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator"> |
2872 | <summary> | 3293 | <summary> |
2873 | Using SSL or other encryption method. | 3294 | Returns an enumerator that iterates through the collection. |
2874 | </summary> | 3295 | </summary> |
3296 | |||
3297 | <returns> | ||
3298 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | ||
3299 | </returns> | ||
3300 | <filterpriority>1</filterpriority> | ||
2875 | </member> | 3301 | </member> |
2876 | <member name="P:HttpServer.HttpClientContext.IsSecured"> | 3302 | <member name="M:HttpServer.RequestCookies.Remove(System.String)"> |
2877 | <summary> | 3303 | <summary> |
2878 | Using SSL or other encryption method. | 3304 | Remove a cookie from the collection. |
2879 | </summary> | 3305 | </summary> |
3306 | <param name="cookieName">Name of cookie.</param> | ||
2880 | </member> | 3307 | </member> |
2881 | <member name="P:HttpServer.HttpClientContext.LogWriter"> | 3308 | <member name="P:HttpServer.RequestCookies.Count"> |
2882 | <summary> | 3309 | <summary> |
2883 | Specify which logger to use. | 3310 | Gets the count of cookies in the collection. |
2884 | </summary> | 3311 | </summary> |
2885 | </member> | 3312 | </member> |
2886 | <member name="P:HttpServer.HttpClientContext.Stream"> | 3313 | <member name="P:HttpServer.RequestCookies.Item(System.String)"> |
2887 | <summary> | 3314 | <summary> |
2888 | Gets or sets the network stream. | 3315 | Gets the cookie of a given identifier (null if not existing). |
2889 | </summary> | 3316 | </summary> |
2890 | </member> | 3317 | </member> |
2891 | <member name="P:HttpServer.HttpClientContext.RemoteAddress"> | 3318 | <member name="T:HttpServer.IComponentProvider"> |
2892 | <summary> | 3319 | <summary> |
2893 | Gets or sets IP address that the client connected from. | 3320 | Inversion of control interface. |
2894 | </summary> | 3321 | </summary> |
2895 | </member> | 3322 | </member> |
2896 | <member name="P:HttpServer.HttpClientContext.RemotePort"> | 3323 | <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)"> |
2897 | <summary> | 3324 | <summary> |
2898 | Gets or sets port that the client connected from. | 3325 | Add a component instance |
2899 | </summary> | 3326 | </summary> |
3327 | <typeparam name="T">Interface type</typeparam> | ||
3328 | <param name="instance">Instance to add</param> | ||
2900 | </member> | 3329 | </member> |
2901 | <member name="E:HttpServer.HttpClientContext.Disconnected"> | 3330 | <member name="M:HttpServer.IComponentProvider.Get``1"> |
2902 | <summary> | 3331 | <summary> |
2903 | The context have been disconnected. | 3332 | Get a component. |
2904 | </summary> | 3333 | </summary> |
3334 | <typeparam name="T">Interface type</typeparam> | ||
3335 | <returns>Component if registered, otherwise null.</returns> | ||
2905 | <remarks> | 3336 | <remarks> |
2906 | Event can be used to clean up a context, or to reuse it. | 3337 | Component will get created if needed. |
2907 | </remarks> | 3338 | </remarks> |
2908 | </member> | 3339 | </member> |
2909 | <member name="E:HttpServer.HttpClientContext.RequestReceived"> | 3340 | <member name="M:HttpServer.IComponentProvider.Contains(System.Type)"> |
2910 | <summary> | 3341 | <summary> |
2911 | A request have been received in the context. | 3342 | Checks if the specified component interface have been added. |
2912 | </summary> | 3343 | </summary> |
3344 | <param name="interfaceType"></param> | ||
3345 | <returns>true if found; otherwise false.</returns> | ||
2913 | </member> | 3346 | </member> |
2914 | <member name="T:HttpServer.Helpers.XmlHelper"> | 3347 | <member name="M:HttpServer.IComponentProvider.Add``2"> |
2915 | <summary> | 3348 | <summary> |
2916 | Helpers to make XML handling easier | 3349 | Add a component. |
2917 | </summary> | 3350 | </summary> |
3351 | <typeparam name="InterfaceType">Type being requested.</typeparam> | ||
3352 | <typeparam name="InstanceType">Type being created.</typeparam> | ||
2918 | </member> | 3353 | </member> |
2919 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> | 3354 | <member name="T:HttpServer.HttpRequest"> |
2920 | <summary> | 3355 | <summary> |
2921 | Serializes object to XML. | 3356 | Contains server side HTTP request information. |
2922 | </summary> | 3357 | </summary> |
2923 | <param name="value">object to serialize.</param> | ||
2924 | <returns>XML</returns> | ||
2925 | <remarks> | ||
2926 | Removes name spaces and adds indentation | ||
2927 | </remarks> | ||
2928 | </member> | 3358 | </member> |
2929 | <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)"> | 3359 | <member name="F:HttpServer.HttpRequest.UriSplitters"> |
2930 | <summary> | 3360 | <summary> |
2931 | Create an object from a XML string | 3361 | Chars used to split an URL path into multiple parts. |
2932 | </summary> | 3362 | </summary> |
2933 | <typeparam name="T">Type of object</typeparam> | ||
2934 | <param name="xml">XML string</param> | ||
2935 | <returns>object</returns> | ||
2936 | </member> | 3363 | </member> |
2937 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> | 3364 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> |
2938 | <summary> | 3365 | <summary> |
2939 | Can handle application/x-www-form-urlencoded | 3366 | Assign a form. |
2940 | </summary> | 3367 | </summary> |
3368 | <param name="form"></param> | ||
2941 | </member> | 3369 | </member> |
2942 | <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 3370 | <member name="M:HttpServer.HttpRequest.Clone"> |
2943 | <summary> | 3371 | <summary> |
3372 | Creates a new object that is a copy of the current instance. | ||
2944 | </summary> | 3373 | </summary> |
2945 | <param name="stream">Stream containing the content</param> | 3374 | |
2946 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
2947 | <param name="encoding">Stream encoding</param> | ||
2948 | <returns> | 3375 | <returns> |
2949 | A HTTP form, or null if content could not be parsed. | 3376 | A new object that is a copy of this instance. |
2950 | </returns> | 3377 | </returns> |
2951 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | 3378 | <filterpriority>2</filterpriority> |
2952 | </member> | ||
2953 | <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)"> | ||
2954 | <summary> | ||
2955 | Checks if the decoder can handle the mime type | ||
2956 | </summary> | ||
2957 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | ||
2958 | <returns>True if the decoder can parse the specified content type</returns> | ||
2959 | </member> | ||
2960 | <member name="T:HttpServer.Exceptions.ForbiddenException"> | ||
2961 | <summary> | ||
2962 | The server understood the request, but is refusing to fulfill it. | ||
2963 | Authorization will not help and the request SHOULD NOT be repeated. | ||
2964 | If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, | ||
2965 | it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information | ||
2966 | available to the client, the status code 404 (Not Found) can be used instead. | ||
2967 | |||
2968 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | ||
2969 | </summary> | ||
2970 | </member> | ||
2971 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> | ||
2972 | <summary> | ||
2973 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. | ||
2974 | </summary> | ||
2975 | <param name="errorMsg">error message</param> | ||
2976 | </member> | ||
2977 | <member name="T:HttpServer.ClientAcceptedEventArgs"> | ||
2978 | <summary> | ||
2979 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> | ||
2980 | </summary> | ||
2981 | <remarks> | ||
2982 | Can be used to revoke incoming connections | ||
2983 | </remarks> | ||
2984 | </member> | ||
2985 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> | ||
2986 | <summary> | ||
2987 | Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class. | ||
2988 | </summary> | ||
2989 | <param name="socket">The socket.</param> | ||
2990 | </member> | ||
2991 | <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke"> | ||
2992 | <summary> | ||
2993 | Client may not be handled. | ||
2994 | </summary> | ||
2995 | </member> | ||
2996 | <member name="P:HttpServer.ClientAcceptedEventArgs.Socket"> | ||
2997 | <summary> | ||
2998 | Accepted socket. | ||
2999 | </summary> | ||
3000 | </member> | ||
3001 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> | ||
3002 | <summary> | ||
3003 | Client should be revoked. | ||
3004 | </summary> | ||
3005 | </member> | ||
3006 | <member name="T:HttpServer.Helpers.ResourceManager"> | ||
3007 | <summary>Class to handle loading of resource files</summary> | ||
3008 | </member> | 3379 | </member> |
3009 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor"> | 3380 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
3010 | <summary> | 3381 | <summary> |
3011 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. | 3382 | Decode body into a form. |
3012 | </summary> | 3383 | </summary> |
3384 | <param name="providers">A list with form decoders.</param> | ||
3385 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> | ||
3386 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | ||
3013 | </member> | 3387 | </member> |
3014 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)"> | 3388 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> |
3015 | <summary> | 3389 | <summary> |
3016 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. | 3390 | Cookies |
3017 | </summary> | 3391 | </summary> |
3018 | <param name="writer">logger.</param> | 3392 | <param name="cookies">the cookies</param> |
3019 | </member> | 3393 | </member> |
3020 | <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> | 3394 | <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
3021 | <summary> | 3395 | <summary> |
3022 | Loads resources from a namespace in the given assembly to an URI | 3396 | Create a response object. |
3023 | </summary> | 3397 | </summary> |
3024 | <param name="toUri">The URI to map the resources to</param> | 3398 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> |
3025 | <param name="fromAssembly">The assembly in which the resources reside</param> | ||
3026 | <param name="fromNamespace">The namespace from which to load the resources</param> | ||
3027 | <usage> | ||
3028 | <code> | ||
3029 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | ||
3030 | </code> | ||
3031 | Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ | ||
3032 | </usage> | ||
3033 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | ||
3034 | <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception> | ||
3035 | </member> | 3399 | </member> |
3036 | <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)"> | 3400 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> |
3037 | <summary> | 3401 | <summary> |
3038 | Retrieves a stream for the specified resource path if loaded otherwise null | 3402 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
3039 | </summary> | 3403 | </summary> |
3040 | <param name="path">Path to the resource to retrieve a stream for</param> | 3404 | <param name="name">Name of the header, should not be URL encoded</param> |
3041 | <returns>A stream or null if the resource couldn't be found</returns> | 3405 | <param name="value">Value of the header, should not be URL encoded</param> |
3406 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> | ||
3042 | </member> | 3407 | </member> |
3043 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)"> | 3408 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
3044 | <summary> | 3409 | <summary> |
3045 | Fetch all files from the resource that matches the specified arguments. | 3410 | Add bytes to the body |
3046 | </summary> | 3411 | </summary> |
3047 | <param name="path">The path to the resource to extract</param> | 3412 | <param name="bytes">buffer to read bytes from</param> |
3048 | <returns> | 3413 | <param name="offset">where to start read</param> |
3049 | a list of files if found; or an empty array if no files are found. | 3414 | <param name="length">number of bytes to read</param> |
3050 | </returns> | 3415 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> |
3051 | <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception> | 3416 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> |
3417 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | ||
3418 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | ||
3052 | </member> | 3419 | </member> |
3053 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)"> | 3420 | <member name="M:HttpServer.HttpRequest.Clear"> |
3054 | <summary> | 3421 | <summary> |
3055 | Fetch all files from the resource that matches the specified arguments. | 3422 | Clear everything in the request |
3056 | </summary> | 3423 | </summary> |
3057 | <param name="path">Where the file should reside.</param> | ||
3058 | <param name="filename">Files to check</param> | ||
3059 | <returns> | ||
3060 | a list of files if found; or an empty array if no files are found. | ||
3061 | </returns> | ||
3062 | </member> | 3424 | </member> |
3063 | <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)"> | 3425 | <member name="P:HttpServer.HttpRequest.Secure"> |
3064 | <summary> | 3426 | <summary> |
3065 | Returns whether or not the loader has an instance of the file requested | 3427 | Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure. |
3066 | </summary> | 3428 | </summary> |
3067 | <param name="filename">The name of the template/file</param> | ||
3068 | <returns>True if the loader can provide the file</returns> | ||
3069 | </member> | 3429 | </member> |
3070 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> | 3430 | <member name="P:HttpServer.HttpRequest.UriPath"> |
3071 | <summary> | 3431 | <summary> |
3072 | 3432 | Path and query (will be merged with the host header) and put in Uri | |
3073 | </summary> | 3433 | </summary> |
3074 | <returns></returns> | 3434 | <see cref="P:HttpServer.HttpRequest.Uri"/> |
3075 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
3076 | <exception cref="T:System.ObjectDisposedException"></exception> | ||
3077 | </member> | ||
3078 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> | ||
3079 | <summary>Represents a field in a multipart form</summary> | ||
3080 | </member> | 3435 | </member> |
3081 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> | 3436 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> |
3082 | <summary> | 3437 | <summary> |
3083 | This provider is used to let us implement any type of form decoding we want without | 3438 | Gets whether the body is complete. |
3084 | having to rewrite anything else in the server. | ||
3085 | </summary> | 3439 | </summary> |
3086 | </member> | 3440 | </member> |
3087 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> | 3441 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> |
3088 | <summary> | 3442 | <summary> |
3089 | 3443 | Gets kind of types accepted by the client. | |
3090 | </summary> | 3444 | </summary> |
3091 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> | ||
3092 | <param name="stream">Stream containing form data.</param> | ||
3093 | <param name="encoding">Encoding used when decoding the stream</param> | ||
3094 | <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns> | ||
3095 | <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception> | ||
3096 | <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception> | ||
3097 | </member> | 3445 | </member> |
3098 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)"> | 3446 | <member name="P:HttpServer.HttpRequest.Body"> |
3099 | <summary> | 3447 | <summary> |
3100 | Add a decoder. | 3448 | Gets or sets body stream. |
3101 | </summary> | 3449 | </summary> |
3102 | <param name="decoder"></param> | ||
3103 | <exception cref="T:System.ArgumentNullException"></exception> | ||
3104 | </member> | 3450 | </member> |
3105 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count"> | 3451 | <member name="P:HttpServer.HttpRequest.Connection"> |
3106 | <summary> | 3452 | <summary> |
3107 | Number of added decoders. | 3453 | Gets or sets kind of connection used for the session. |
3108 | </summary> | 3454 | </summary> |
3109 | </member> | 3455 | </member> |
3110 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders"> | 3456 | <member name="P:HttpServer.HttpRequest.ContentLength"> |
3111 | <summary> | 3457 | <summary> |
3112 | Use with care. | 3458 | Gets or sets number of bytes in the body. |
3113 | </summary> | 3459 | </summary> |
3114 | </member> | 3460 | </member> |
3115 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder"> | 3461 | <member name="P:HttpServer.HttpRequest.Headers"> |
3116 | <summary> | 3462 | <summary> |
3117 | Decoder used for unknown content types. | 3463 | Gets headers sent by the client. |
3118 | </summary> | 3464 | </summary> |
3119 | </member> | 3465 | </member> |
3120 | <member name="T:HttpServer.RealmHandler"> | 3466 | <member name="P:HttpServer.HttpRequest.HttpVersion"> |
3121 | <summary> | 3467 | <summary> |
3122 | Delegate used to find a realm/domain. | 3468 | Gets or sets version of HTTP protocol that's used. |
3123 | </summary> | 3469 | </summary> |
3124 | <param name="domain"></param> | ||
3125 | <returns></returns> | ||
3126 | <remarks> | 3470 | <remarks> |
3127 | Realms are used during HTTP Authentication | 3471 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. |
3128 | </remarks> | 3472 | </remarks> |
3129 | <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/> | 3473 | <seealso cref="T:HttpServer.HttpHelper"/> |
3130 | <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/> | ||
3131 | </member> | ||
3132 | <member name="T:HttpServer.HttpServer"> | ||
3133 | <summary> | ||
3134 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. | ||
3135 | </summary> | ||
3136 | <example> | ||
3137 | <code> | ||
3138 | // this small example will add two web site modules, thus handling | ||
3139 | // two different sites. In reality you should add Controller modules or something | ||
3140 | // two the website modules to be able to handle different requests. | ||
3141 | HttpServer server = new HttpServer(); | ||
3142 | server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); | ||
3143 | server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); | ||
3144 | |||
3145 | // start regular http | ||
3146 | server.Start(IPAddress.Any, 80); | ||
3147 | |||
3148 | // start https | ||
3149 | server.Start(IPAddress.Any, 443, myCertificate); | ||
3150 | </code> | ||
3151 | </example> | ||
3152 | <seealso cref="T:HttpServer.HttpModules.HttpModule"/> | ||
3153 | <seealso cref="T:HttpServer.HttpModules.FileModule"/> | ||
3154 | <seealso cref="T:HttpServer.HttpListener"/> | ||
3155 | </member> | ||
3156 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)"> | ||
3157 | <summary> | ||
3158 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3159 | </summary> | ||
3160 | <param name="provider">Used to get all components used in the server..</param> | ||
3161 | </member> | ||
3162 | <member name="M:HttpServer.HttpServer.#ctor"> | ||
3163 | <summary> | ||
3164 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3165 | </summary> | ||
3166 | </member> | ||
3167 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)"> | ||
3168 | <summary> | ||
3169 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3170 | </summary> | ||
3171 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | ||
3172 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
3173 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
3174 | </member> | ||
3175 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)"> | ||
3176 | <summary> | ||
3177 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3178 | </summary> | ||
3179 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | ||
3180 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | ||
3181 | </member> | ||
3182 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)"> | ||
3183 | <summary> | ||
3184 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3185 | </summary> | ||
3186 | <param name="logWriter">The log writer.</param> | ||
3187 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
3188 | </member> | ||
3189 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)"> | ||
3190 | <summary> | ||
3191 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3192 | </summary> | ||
3193 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | ||
3194 | <param name="logWriter">The log writer.</param> | ||
3195 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
3196 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
3197 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
3198 | </member> | ||
3199 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)"> | ||
3200 | <summary> | ||
3201 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | ||
3202 | </summary> | ||
3203 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | ||
3204 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | ||
3205 | <param name="logWriter">The log writer.</param> | ||
3206 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
3207 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
3208 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
3209 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | ||
3210 | </member> | ||
3211 | <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)"> | ||
3212 | <summary> | ||
3213 | Adds the specified rule. | ||
3214 | </summary> | ||
3215 | <param name="rule">The rule.</param> | ||
3216 | </member> | ||
3217 | <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)"> | ||
3218 | <summary> | ||
3219 | Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server. | ||
3220 | </summary> | ||
3221 | <param name="module">mode to add</param> | ||
3222 | </member> | 3474 | </member> |
3223 | <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)"> | 3475 | <member name="P:HttpServer.HttpRequest.Method"> |
3224 | <summary> | 3476 | <summary> |
3225 | Decodes the request body. | 3477 | Gets or sets requested method. |
3226 | </summary> | 3478 | </summary> |
3227 | <param name="request">The request.</param> | 3479 | <value></value> |
3228 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception> | 3480 | <remarks> |
3481 | Will always be in upper case. | ||
3482 | </remarks> | ||
3483 | <see cref="!:HttpServer.Method"/> | ||
3229 | </member> | 3484 | </member> |
3230 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)"> | 3485 | <member name="P:HttpServer.HttpRequest.QueryString"> |
3231 | <summary> | 3486 | <summary> |
3232 | Generate a HTTP error page (that will be added to the response body). | 3487 | Gets variables sent in the query string |
3233 | response status code is also set. | ||
3234 | </summary> | 3488 | </summary> |
3235 | <param name="response">Response that the page will be generated in.</param> | ||
3236 | <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param> | ||
3237 | <param name="body">response body contents.</param> | ||
3238 | </member> | 3489 | </member> |
3239 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)"> | 3490 | <member name="P:HttpServer.HttpRequest.Uri"> |
3240 | <summary> | 3491 | <summary> |
3241 | Generate a HTTP error page (that will be added to the response body). | 3492 | Gets or sets requested URI. |
3242 | response status code is also set. | ||
3243 | </summary> | 3493 | </summary> |
3244 | <param name="response">Response that the page will be generated in.</param> | ||
3245 | <param name="err">exception.</param> | ||
3246 | </member> | 3494 | </member> |
3247 | <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)"> | 3495 | <member name="P:HttpServer.HttpRequest.UriParts"> |
3248 | <summary> | 3496 | <summary> |
3249 | Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s. | 3497 | Uri absolute path splitted into parts. |
3250 | </summary> | 3498 | </summary> |
3251 | <param name="request">HTTP request</param> | 3499 | <example> |
3252 | <returns>domain/realm.</returns> | 3500 | // uri is: http://gauffin.com/code/tiny/ |
3501 | Console.WriteLine(request.UriParts[0]); // result: code | ||
3502 | Console.WriteLine(request.UriParts[1]); // result: tiny | ||
3503 | </example> | ||
3504 | <remarks> | ||
3505 | If you're using controllers than the first part is controller name, | ||
3506 | the second part is method name and the third part is Id property. | ||
3507 | </remarks> | ||
3508 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> | ||
3253 | </member> | 3509 | </member> |
3254 | <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 3510 | <member name="P:HttpServer.HttpRequest.Param"> |
3255 | <summary> | 3511 | <summary> |
3256 | Process an incoming request. | 3512 | Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>. |
3257 | </summary> | 3513 | </summary> |
3258 | <param name="context">connection to client</param> | ||
3259 | <param name="request">request information</param> | ||
3260 | <param name="response">response that should be filled</param> | ||
3261 | <param name="session">session information</param> | ||
3262 | </member> | 3514 | </member> |
3263 | <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> | 3515 | <member name="P:HttpServer.HttpRequest.Form"> |
3264 | <summary> | 3516 | <summary> |
3265 | Can be overloaded to implement stuff when a client have been connected. | 3517 | Gets form parameters. |
3266 | </summary> | 3518 | </summary> |
3267 | <remarks> | ||
3268 | Default implementation does nothing. | ||
3269 | </remarks> | ||
3270 | <param name="client">client that disconnected</param> | ||
3271 | <param name="error">disconnect reason</param> | ||
3272 | </member> | 3519 | </member> |
3273 | <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 3520 | <member name="P:HttpServer.HttpRequest.IsAjax"> |
3274 | <summary> | 3521 | <summary> |
3275 | Handle authentication | 3522 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
3276 | </summary> | 3523 | </summary> |
3277 | <param name="request"></param> | ||
3278 | <param name="response"></param> | ||
3279 | <param name="session"></param> | ||
3280 | <returns>true if request can be handled; false if not.</returns> | ||
3281 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception> | ||
3282 | </member> | 3524 | </member> |
3283 | <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 3525 | <member name="P:HttpServer.HttpRequest.Cookies"> |
3284 | <summary> | 3526 | <summary> |
3285 | Will request authentication. | 3527 | Gets cookies that was sent with the request. |
3286 | </summary> | 3528 | </summary> |
3287 | <remarks> | ||
3288 | Sends respond to client, nothing else can be done with the response after this. | ||
3289 | </remarks> | ||
3290 | <param name="mod"></param> | ||
3291 | <param name="request"></param> | ||
3292 | <param name="response"></param> | ||
3293 | </member> | 3529 | </member> |
3294 | <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)"> | 3530 | <member name="T:HttpServer.Helpers.ObjectForm"> |
3295 | <summary> | 3531 | <summary> |
3296 | Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully. | 3532 | The object form class takes an object and creates form items for it. |
3297 | </summary> | 3533 | </summary> |
3298 | <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param> | ||
3299 | <param name="args">The request.</param> | ||
3300 | </member> | 3534 | </member> |
3301 | <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 3535 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> |
3302 | <summary> | 3536 | <summary> |
3303 | To be able to track request count. | 3537 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3304 | </summary> | 3538 | </summary> |
3305 | <param name="context"></param> | 3539 | <param name="method"></param> |
3306 | <param name="request"></param> | 3540 | <param name="name">form name *and* id.</param> |
3541 | <param name="action">action to do when form is posted.</param> | ||
3542 | <param name="obj"></param> | ||
3307 | </member> | 3543 | </member> |
3308 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)"> | 3544 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> |
3309 | <summary> | 3545 | <summary> |
3310 | Start the web server using regular HTTP. | 3546 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3311 | </summary> | 3547 | </summary> |
3312 | <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param> | 3548 | <param name="name">form name *and* id.</param> |
3313 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | 3549 | <param name="action">action to do when form is posted.</param> |
3314 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 3550 | <param name="obj">object to get values from</param> |
3315 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
3316 | </member> | 3551 | </member> |
3317 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 3552 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> |
3318 | <summary> | 3553 | <summary> |
3319 | Accept secure connections. | 3554 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3320 | </summary> | 3555 | </summary> |
3321 | <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> | 3556 | <param name="action">form action.</param> |
3322 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | 3557 | <param name="obj">object to get values from.</param> |
3323 | <param name="certificate">Certificate to use</param> | ||
3324 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
3325 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
3326 | </member> | 3558 | </member> |
3327 | <member name="M:HttpServer.HttpServer.Stop"> | 3559 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> |
3328 | <summary> | 3560 | <summary> |
3329 | shut down the server and listeners | 3561 | write out the FORM-tag. |
3330 | </summary> | 3562 | </summary> |
3563 | <returns>generated html code</returns> | ||
3331 | </member> | 3564 | </member> |
3332 | <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)"> | 3565 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> |
3333 | <summary> | 3566 | <summary> |
3334 | write an entry to the log file | 3567 | Writeout the form tag |
3335 | </summary> | 3568 | </summary> |
3336 | <param name="prio">importance of the message</param> | 3569 | <param name="isAjax">form should be posted through ajax.</param> |
3337 | <param name="message">log message</param> | 3570 | <returns>generated html code</returns> |
3338 | </member> | 3571 | </member> |
3339 | <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)"> | 3572 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> |
3340 | <summary> | 3573 | <summary> |
3341 | write an entry to the log file | 3574 | Generates a text box. |
3342 | </summary> | 3575 | </summary> |
3343 | <param name="source">object that wrote the message</param> | 3576 | <param name="propertyName"></param> |
3344 | <param name="prio">importance of the message</param> | 3577 | <param name="options"></param> |
3345 | <param name="message">log message</param> | 3578 | <returns>generated html code</returns> |
3346 | </member> | 3579 | </member> |
3347 | <member name="P:HttpServer.HttpServer.Current"> | 3580 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> |
3348 | <summary> | 3581 | <summary> |
3349 | Server that is handling the current request. | 3582 | password box |
3350 | </summary> | 3583 | </summary> |
3351 | <remarks> | 3584 | <param name="propertyName"></param> |
3352 | Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object. | 3585 | <param name="options"></param> |
3353 | </remarks> | 3586 | <returns>generated html code</returns> |
3354 | </member> | 3587 | </member> |
3355 | <member name="P:HttpServer.HttpServer.AuthenticationModules"> | 3588 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> |
3356 | <summary> | 3589 | <summary> |
3357 | Modules used for authentication. The module that is is added first is used as | 3590 | Hiddens the specified property name. |
3358 | the default authentication module. | ||
3359 | </summary> | 3591 | </summary> |
3360 | <remarks>Use the corresponding property | 3592 | <param name="propertyName">Name of the property.</param> |
3361 | in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks> | 3593 | <param name="options">The options.</param> |
3594 | <returns>generated html code</returns> | ||
3362 | </member> | 3595 | </member> |
3363 | <member name="P:HttpServer.HttpServer.FormDecoderProviders"> | 3596 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> |
3364 | <summary> | 3597 | <summary> |
3365 | Form decoder providers are used to decode request body (which normally contains form data). | 3598 | Labels the specified property name. |
3366 | </summary> | 3599 | </summary> |
3600 | <param name="propertyName">property in object.</param> | ||
3601 | <param name="label">caption</param> | ||
3602 | <returns>generated html code</returns> | ||
3367 | </member> | 3603 | </member> |
3368 | <member name="P:HttpServer.HttpServer.ServerName"> | 3604 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> |
3369 | <summary> | 3605 | <summary> |
3370 | Server name sent in HTTP responses. | 3606 | Generate a checkbox |
3371 | </summary> | 3607 | </summary> |
3372 | <remarks> | 3608 | <param name="propertyName">property in object</param> |
3373 | Do NOT include version in name, since it makes it | 3609 | <param name="value">checkbox value</param> |
3374 | easier for hackers. | 3610 | <param name="options">additional html attributes.</param> |
3375 | </remarks> | 3611 | <returns>generated html code</returns> |
3376 | </member> | 3612 | </member> |
3377 | <member name="P:HttpServer.HttpServer.SessionCookieName"> | 3613 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> |
3378 | <summary> | 3614 | <summary> |
3379 | Name of cookie where session id is stored. | 3615 | Write a html select tag |
3380 | </summary> | 3616 | </summary> |
3617 | <param name="propertyName">object property.</param> | ||
3618 | <param name="idColumn">id column</param> | ||
3619 | <param name="titleColumn">The title column.</param> | ||
3620 | <param name="options">The options.</param> | ||
3621 | <returns></returns> | ||
3381 | </member> | 3622 | </member> |
3382 | <member name="P:HttpServer.HttpServer.LogWriter"> | 3623 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> |
3383 | <summary> | 3624 | <summary> |
3384 | Specified where logging should go. | 3625 | Selects the specified property name. |
3385 | </summary> | 3626 | </summary> |
3386 | <seealso cref="T:HttpServer.NullLogWriter"/> | 3627 | <param name="propertyName">Name of the property.</param> |
3387 | <seealso cref="T:HttpServer.ConsoleLogWriter"/> | 3628 | <param name="items">The items.</param> |
3388 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | 3629 | <param name="idColumn">The id column.</param> |
3630 | <param name="titleColumn">The title column.</param> | ||
3631 | <param name="options">The options.</param> | ||
3632 | <returns></returns> | ||
3389 | </member> | 3633 | </member> |
3390 | <member name="P:HttpServer.HttpServer.BackLog"> | 3634 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> |
3391 | <summary> | 3635 | <summary> |
3392 | Number of connections that can wait to be accepted by the server. | 3636 | Write a submit tag. |
3393 | </summary> | 3637 | </summary> |
3394 | <remarks>Default is 10.</remarks> | 3638 | <param name="value">button caption</param> |
3639 | <returns>html submit tag</returns> | ||
3395 | </member> | 3640 | </member> |
3396 | <member name="P:HttpServer.HttpServer.MaxRequestCount"> | 3641 | <member name="M:HttpServer.Helpers.ObjectForm.End"> |
3397 | <summary> | 3642 | <summary> |
3398 | Gets or sets maximum number of allowed simultaneous requests. | 3643 | html end form tag |
3399 | </summary> | 3644 | </summary> |
3400 | <remarks> | 3645 | <returns>html</returns> |
3401 | <para> | ||
3402 | This property is useful in busy systems. The HTTP server | ||
3403 | will start queuing new requests if this limit is hit, instead | ||
3404 | of trying to process all incoming requests directly. | ||
3405 | </para> | ||
3406 | <para> | ||
3407 | The default number if allowed simultaneous requests are 10. | ||
3408 | </para> | ||
3409 | </remarks> | ||
3410 | </member> | 3646 | </member> |
3411 | <member name="P:HttpServer.HttpServer.MaxQueueSize"> | 3647 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> |
3412 | <summary> | 3648 | <summary> |
3413 | Gets or sets maximum number of requests queuing to be handled. | 3649 | Can handle application/x-www-form-urlencoded |
3414 | </summary> | 3650 | </summary> |
3415 | <remarks> | ||
3416 | <para> | ||
3417 | The WebServer will start turning requests away if response code | ||
3418 | <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server | ||
3419 | is too busy to be able to handle the request. | ||
3420 | </para> | ||
3421 | </remarks> | ||
3422 | </member> | 3651 | </member> |
3423 | <member name="E:HttpServer.HttpServer.RealmWanted"> | 3652 | <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
3424 | <summary> | 3653 | <summary> |
3425 | Realms are used during HTTP authentication. | ||
3426 | Default realm is same as server name. | ||
3427 | </summary> | 3654 | </summary> |
3655 | <param name="stream">Stream containing the content</param> | ||
3656 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
3657 | <param name="encoding">Stream encoding</param> | ||
3658 | <returns> | ||
3659 | A HTTP form, or null if content could not be parsed. | ||
3660 | </returns> | ||
3661 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | ||
3428 | </member> | 3662 | </member> |
3429 | <member name="E:HttpServer.HttpServer.ExceptionThrown"> | 3663 | <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)"> |
3430 | <summary> | 3664 | <summary> |
3431 | Let's to receive unhandled exceptions from the threads. | 3665 | Checks if the decoder can handle the mime type |
3432 | </summary> | 3666 | </summary> |
3433 | <remarks> | 3667 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
3434 | Exceptions will be thrown during debug mode if this event is not used, | 3668 | <returns>True if the decoder can parse the specified content type</returns> |
3435 | exceptions will be printed to console and suppressed during release mode. | ||
3436 | </remarks> | ||
3437 | </member> | 3669 | </member> |
3438 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> | 3670 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> |
3439 | <summary> | 3671 | <summary> |
@@ -3471,40 +3703,34 @@ | |||
3471 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 3703 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
3472 | <returns>True if the decoder can parse the specified content type</returns> | 3704 | <returns>True if the decoder can parse the specified content type</returns> |
3473 | </member> | 3705 | </member> |
3474 | <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)"> | 3706 | <member name="T:HttpServer.ClientAcceptedEventArgs"> |
3475 | <summary> | 3707 | <summary> |
3476 | Add a component instance | 3708 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> |
3477 | </summary> | 3709 | </summary> |
3478 | <typeparam name="T">Interface type</typeparam> | 3710 | <remarks> |
3479 | <param name="instance">Instance to add</param> | 3711 | Can be used to revoke incoming connections |
3712 | </remarks> | ||
3480 | </member> | 3713 | </member> |
3481 | <member name="M:HttpServer.ComponentProvider.Get``1"> | 3714 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> |
3482 | <summary> | 3715 | <summary> |
3483 | Get a component. | 3716 | Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class. |
3484 | </summary> | 3717 | </summary> |
3485 | <typeparam name="T">Interface type</typeparam> | 3718 | <param name="socket">The socket.</param> |
3486 | <returns>Component if registered, otherwise null.</returns> | ||
3487 | <remarks> | ||
3488 | Component will get created if needed. | ||
3489 | </remarks> | ||
3490 | </member> | 3719 | </member> |
3491 | <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)"> | 3720 | <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke"> |
3492 | <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception> | 3721 | <summary> |
3722 | Client may not be handled. | ||
3723 | </summary> | ||
3493 | </member> | 3724 | </member> |
3494 | <member name="M:HttpServer.ComponentProvider.Contains(System.Type)"> | 3725 | <member name="P:HttpServer.ClientAcceptedEventArgs.Socket"> |
3495 | <summary> | 3726 | <summary> |
3496 | Checks if the specified component interface have been added. | 3727 | Accepted socket. |
3497 | </summary> | 3728 | </summary> |
3498 | <param name="interfaceType"></param> | ||
3499 | <returns>true if found; otherwise false.</returns> | ||
3500 | </member> | 3729 | </member> |
3501 | <member name="M:HttpServer.ComponentProvider.Add``2"> | 3730 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> |
3502 | <summary> | 3731 | <summary> |
3503 | Add a component. | 3732 | Client should be revoked. |
3504 | </summary> | 3733 | </summary> |
3505 | <typeparam name="InterfaceType">Type being requested.</typeparam> | ||
3506 | <typeparam name="InstanceType">Type being created.</typeparam> | ||
3507 | <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception> | ||
3508 | </member> | 3734 | </member> |
3509 | <member name="T:HttpServer.HttpModules.FileModule"> | 3735 | <member name="T:HttpServer.HttpModules.FileModule"> |
3510 | <summary> | 3736 | <summary> |
@@ -3581,1013 +3807,951 @@ | |||
3581 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; | 3807 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; |
3582 | </example> | 3808 | </example> |
3583 | </member> | 3809 | </member> |
3584 | <member name="T:HttpServer.HttpListenerBase"> | 3810 | <member name="T:HttpServer.Helpers.XmlHelper"> |
3585 | <summary> | ||
3586 | Contains a listener that doesn't do anything with the connections. | ||
3587 | </summary> | ||
3588 | </member> | ||
3589 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | ||
3590 | <summary> | ||
3591 | Listen for regular HTTP connections | ||
3592 | </summary> | ||
3593 | <param name="address">IP Address to accept connections on</param> | ||
3594 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | ||
3595 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
3596 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
3597 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
3598 | </member> | ||
3599 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | ||
3600 | <summary> | 3811 | <summary> |
3601 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | 3812 | Helpers to make XML handling easier |
3602 | </summary> | 3813 | </summary> |
3603 | <param name="address">IP Address to accept connections on</param> | ||
3604 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | ||
3605 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
3606 | <param name="certificate">Certificate to use</param> | ||
3607 | </member> | 3814 | </member> |
3608 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 3815 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> |
3609 | <summary> | ||
3610 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | ||
3611 | </summary> | ||
3612 | <param name="address">IP Address to accept connections on</param> | ||
3613 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | ||
3614 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
3615 | <param name="certificate">Certificate to use</param> | ||
3616 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | ||
3617 | </member> | ||
3618 | <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)"> | ||
3619 | <exception cref="T:System.Exception"><c>Exception</c>.</exception> | ||
3620 | </member> | ||
3621 | <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept"> | ||
3622 | <summary> | 3816 | <summary> |
3623 | Will try to accept connections one more time. | 3817 | Serializes object to XML. |
3624 | </summary> | 3818 | </summary> |
3625 | <exception cref="T:System.Exception">If any exceptions is thrown.</exception> | 3819 | <param name="value">object to serialize.</param> |
3820 | <returns>XML</returns> | ||
3821 | <remarks> | ||
3822 | Removes name spaces and adds indentation | ||
3823 | </remarks> | ||
3626 | </member> | 3824 | </member> |
3627 | <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)"> | 3825 | <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)"> |
3628 | <summary> | 3826 | <summary> |
3629 | Can be used to create filtering of new connections. | 3827 | Create an object from a XML string |
3630 | </summary> | 3828 | </summary> |
3631 | <param name="socket">Accepted socket</param> | 3829 | <typeparam name="T">Type of object</typeparam> |
3632 | <returns>true if connection can be accepted; otherwise false.</returns> | 3830 | <param name="xml">XML string</param> |
3831 | <returns>object</returns> | ||
3633 | </member> | 3832 | </member> |
3634 | <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)"> | 3833 | <member name="T:HttpServer.Exceptions.NotFoundException"> |
3635 | <summary> | 3834 | <summary> |
3636 | Start listen for new connections | 3835 | The requested resource was not found in the web server. |
3637 | </summary> | 3836 | </summary> |
3638 | <param name="backlog">Number of connections that can stand in a queue to be accepted.</param> | ||
3639 | <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception> | ||
3640 | </member> | 3837 | </member> |
3641 | <member name="M:HttpServer.HttpListenerBase.Stop"> | 3838 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)"> |
3642 | <summary> | 3839 | <summary> |
3643 | Stop the listener | 3840 | Create a new exception |
3644 | </summary> | 3841 | </summary> |
3645 | <exception cref="T:System.Net.Sockets.SocketException"></exception> | 3842 | <param name="message">message describing the error</param> |
3843 | <param name="inner">inner exception</param> | ||
3646 | </member> | 3844 | </member> |
3647 | <member name="P:HttpServer.HttpListenerBase.LogWriter"> | 3845 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)"> |
3648 | <summary> | 3846 | <summary> |
3649 | Gives you a change to receive log entries for all internals of the HTTP library. | 3847 | Create a new exception |
3650 | </summary> | 3848 | </summary> |
3651 | <remarks> | 3849 | <param name="message">message describing the error</param> |
3652 | You may not switch log writer after starting the listener. | ||
3653 | </remarks> | ||
3654 | </member> | 3850 | </member> |
3655 | <member name="P:HttpServer.HttpListenerBase.UseTraceLogs"> | 3851 | <member name="T:HttpServer.RequestCookie"> |
3656 | <summary> | 3852 | <summary> |
3657 | True if we should turn on trace logs. | 3853 | cookie sent by the client/browser |
3658 | </summary> | 3854 | </summary> |
3855 | <seealso cref="T:HttpServer.ResponseCookie"/> | ||
3659 | </member> | 3856 | </member> |
3660 | <member name="E:HttpServer.HttpListenerBase.ExceptionThrown"> | 3857 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> |
3661 | <summary> | 3858 | <summary> |
3662 | Catch exceptions not handled by the listener. | 3859 | Constructor. |
3663 | </summary> | 3860 | </summary> |
3664 | <remarks> | 3861 | <param name="id">cookie identifier</param> |
3665 | Exceptions will be thrown during debug mode if this event is not used, | 3862 | <param name="content">cookie content</param> |
3666 | exceptions will be printed to console and suppressed during release mode. | 3863 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> |
3667 | </remarks> | 3864 | <exception cref="T:System.ArgumentException">id is empty</exception> |
3668 | </member> | 3865 | </member> |
3669 | <member name="E:HttpServer.HttpListenerBase.RequestReceived"> | 3866 | <member name="M:HttpServer.RequestCookie.ToString"> |
3670 | <summary> | 3867 | <summary> |
3671 | A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>. | 3868 | Gets the cookie HTML representation. |
3672 | </summary> | 3869 | </summary> |
3870 | <returns>cookie string</returns> | ||
3673 | </member> | 3871 | </member> |
3674 | <member name="T:HttpServer.HttpFile"> | 3872 | <member name="P:HttpServer.RequestCookie.Name"> |
3675 | <summary> | 3873 | <summary> |
3676 | Container class for posted files | 3874 | Gets the cookie identifier. |
3677 | </summary> | 3875 | </summary> |
3678 | </member> | 3876 | </member> |
3679 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"> | 3877 | <member name="P:HttpServer.RequestCookie.Value"> |
3680 | <summary> | 3878 | <summary> |
3681 | Creates a container for a posted file | 3879 | Cookie value. Set to null to remove cookie. |
3682 | </summary> | 3880 | </summary> |
3683 | <param name="name">The identifier of the post field</param> | ||
3684 | <param name="filename">The file path</param> | ||
3685 | <param name="contentType">The content type of the file</param> | ||
3686 | <param name="uploadFilename">The name of the file uploaded</param> | ||
3687 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> | ||
3688 | </member> | 3881 | </member> |
3689 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)"> | 3882 | <member name="T:HttpServer.HttpParam"> |
3690 | <summary> | 3883 | <summary> |
3691 | Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/> | 3884 | Returns item either from a form or a query string (checks them in that order) |
3692 | </summary> | 3885 | </summary> |
3693 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> | ||
3694 | </member> | 3886 | </member> |
3695 | <member name="M:HttpServer.HttpFile.Finalize"> | 3887 | <member name="F:HttpServer.HttpParam.Empty"> |
3696 | <summary>Destructor disposing the file</summary> | 3888 | <summary> Representation of a non-initialized HttpParam </summary> |
3697 | </member> | 3889 | </member> |
3698 | <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)"> | 3890 | <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)"> |
3699 | <summary> | 3891 | <summary>Initialises the class to hold a value either from a post request or a querystring request</summary> |
3700 | Deletes the temporary file | ||
3701 | </summary> | ||
3702 | <param name="disposing">True if manual dispose</param> | ||
3703 | </member> | 3892 | </member> |
3704 | <member name="M:HttpServer.HttpFile.Dispose"> | 3893 | <member name="M:HttpServer.HttpParam.Add(System.String,System.String)"> |
3705 | <summary> | 3894 | <summary> |
3706 | Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization | 3895 | The add method is not availible for HttpParam |
3896 | since HttpParam checks both Request.Form and Request.QueryString | ||
3707 | </summary> | 3897 | </summary> |
3898 | <param name="name">name identifying the value</param> | ||
3899 | <param name="value">value to add</param> | ||
3900 | <exception cref="T:System.NotImplementedException"></exception> | ||
3708 | </member> | 3901 | </member> |
3709 | <member name="P:HttpServer.HttpFile.Name"> | 3902 | <member name="M:HttpServer.HttpParam.Contains(System.String)"> |
3710 | <summary> | 3903 | <summary> |
3711 | The name/id of the file | 3904 | Checks whether the form or querystring has the specified value |
3712 | </summary> | 3905 | </summary> |
3906 | <param name="name">Name, case sensitive</param> | ||
3907 | <returns>true if found; otherwise false.</returns> | ||
3713 | </member> | 3908 | </member> |
3714 | <member name="P:HttpServer.HttpFile.Filename"> | 3909 | <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
3715 | <summary> | 3910 | <summary> |
3716 | The full file path | 3911 | Returns an enumerator that iterates through the collection. |
3717 | </summary> | 3912 | </summary> |
3913 | |||
3914 | <returns> | ||
3915 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | ||
3916 | </returns> | ||
3917 | <filterpriority>1</filterpriority> | ||
3718 | </member> | 3918 | </member> |
3719 | <member name="P:HttpServer.HttpFile.UploadFilename"> | 3919 | <member name="M:HttpServer.HttpParam.GetEnumerator"> |
3720 | <summary> | 3920 | <summary> |
3721 | The name of the uploaded file | 3921 | Returns an enumerator that iterates through a collection. |
3722 | </summary> | 3922 | </summary> |
3923 | |||
3924 | <returns> | ||
3925 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | ||
3926 | </returns> | ||
3927 | <filterpriority>2</filterpriority> | ||
3723 | </member> | 3928 | </member> |
3724 | <member name="P:HttpServer.HttpFile.ContentType"> | 3929 | <member name="P:HttpServer.HttpParam.Item(System.String)"> |
3725 | <summary> | 3930 | <summary> |
3726 | The type of file | 3931 | Fetch an item from the form or querystring (in that order). |
3727 | </summary> | 3932 | </summary> |
3933 | <param name="name"></param> | ||
3934 | <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns> | ||
3728 | </member> | 3935 | </member> |
3729 | <member name="T:HttpServer.Authentication.DigestAuthentication"> | 3936 | <member name="T:HttpServer.HttpClientContext"> |
3730 | <summary> | 3937 | <summary> |
3731 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is | 3938 | Contains a connection to a browser/client. |
3732 | encrypted with a "key" from the server. | ||
3733 | </summary> | 3939 | </summary> |
3734 | <remarks> | 3940 | <remarks> |
3735 | Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. | 3941 | Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event. |
3736 | </remarks> | 3942 | </remarks> |
3943 | TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? | ||
3737 | </member> | 3944 | </member> |
3738 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 3945 | <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)"> |
3739 | <summary> | ||
3740 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | ||
3741 | </summary> | ||
3742 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | ||
3743 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | ||
3744 | </member> | ||
3745 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | ||
3746 | <summary> | ||
3747 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | ||
3748 | </summary> | ||
3749 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | ||
3750 | </member> | ||
3751 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> | ||
3752 | <summary> | ||
3753 | Used by test classes to be able to use hardcoded values | ||
3754 | </summary> | ||
3755 | </member> | ||
3756 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | ||
3757 | <summary> | 3946 | <summary> |
3758 | An authentication response have been received from the web browser. | 3947 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class. |
3759 | Check if it's correct | ||
3760 | </summary> | 3948 | </summary> |
3761 | <param name="authenticationHeader">Contents from the Authorization header</param> | 3949 | <param name="secured">true if the connection is secured (SSL/TLS)</param> |
3762 | <param name="realm">Realm that should be authenticated</param> | 3950 | <param name="remoteEndPoint">client that connected.</param> |
3763 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 3951 | <param name="stream">Stream used for communication</param> |
3764 | <param name="options">First option: true if username/password is correct but not cnonce</param> | 3952 | <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param> |
3765 | <returns> | 3953 | <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param> |
3766 | Authentication object that is stored for the request. A user class or something like that. | 3954 | <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> |
3767 | </returns> | 3955 | <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception> |
3768 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
3769 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
3770 | </member> | 3956 | </member> |
3771 | <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)"> | 3957 | <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)"> |
3772 | <summary> | 3958 | <summary> |
3773 | Encrypts parameters into a Digest string | 3959 | Process incoming body bytes. |
3774 | </summary> | 3960 | </summary> |
3775 | <param name="realm">Realm that the user want to log into.</param> | 3961 | <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param> |
3776 | <param name="userName">User logging in</param> | 3962 | <param name="e">Bytes</param> |
3777 | <param name="password">Users password.</param> | ||
3778 | <param name="method">HTTP method.</param> | ||
3779 | <param name="uri">Uri/domain that generated the login prompt.</param> | ||
3780 | <param name="qop">Quality of Protection.</param> | ||
3781 | <param name="nonce">"Number used ONCE"</param> | ||
3782 | <param name="nc">Hexadecimal request counter.</param> | ||
3783 | <param name="cnonce">"Client Number used ONCE"</param> | ||
3784 | <returns>Digest encrypted string</returns> | ||
3785 | </member> | 3963 | </member> |
3786 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)"> | 3964 | <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)"> |
3787 | <summary> | 3965 | <summary> |
3788 | 3966 | ||
3789 | </summary> | 3967 | </summary> |
3790 | <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param> | 3968 | <param name="sender"></param> |
3791 | <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param> | 3969 | <param name="e"></param> |
3792 | <param name="qop">Quality of Protection</param> | ||
3793 | <param name="nonce">"Number used ONCE"</param> | ||
3794 | <param name="nc">Hexadecimal request counter.</param> | ||
3795 | <param name="cnonce">Client number used once</param> | ||
3796 | <returns></returns> | ||
3797 | </member> | 3970 | </member> |
3798 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> | 3971 | <member name="M:HttpServer.HttpClientContext.Start"> |
3799 | <summary> | 3972 | <summary> |
3800 | Create a response that can be sent in the WWW-Authenticate header. | 3973 | Start reading content. |
3801 | </summary> | 3974 | </summary> |
3802 | <param name="realm">Realm that the user should authenticate in</param> | 3975 | <remarks> |
3803 | <param name="options">First options specifies if true if username/password is correct but not cnonce.</param> | 3976 | Make sure to call base.Start() if you override this method. |
3804 | <returns>A correct auth request.</returns> | 3977 | </remarks> |
3805 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
3806 | </member> | 3978 | </member> |
3807 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> | 3979 | <member name="M:HttpServer.HttpClientContext.Cleanup"> |
3808 | <summary> | 3980 | <summary> |
3809 | Decodes authorization header value | 3981 | Clean up context. |
3810 | </summary> | 3982 | </summary> |
3811 | <param name="buffer">header value</param> | 3983 | <remarks> |
3812 | <param name="encoding">Encoding that the buffer is in</param> | 3984 | Make sure to call base.Cleanup() if you override the method. |
3813 | <returns>All headers and their values if successful; otherwise null</returns> | 3985 | </remarks> |
3814 | <example> | ||
3815 | NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); | ||
3816 | </example> | ||
3817 | <remarks>Can handle lots of whitespaces and new lines without failing.</remarks> | ||
3818 | </member> | 3986 | </member> |
3819 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> | 3987 | <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
3820 | <summary> | 3988 | <summary> |
3821 | Gets the current nonce. | 3989 | Disconnect from client |
3822 | </summary> | 3990 | </summary> |
3823 | <returns></returns> | 3991 | <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param> |
3824 | </member> | 3992 | </member> |
3825 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> | 3993 | <member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)"> |
3826 | <summary> | 3994 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> |
3827 | Gets the Md5 hash bin hex2. | ||
3828 | </summary> | ||
3829 | <param name="toBeHashed">To be hashed.</param> | ||
3830 | <returns></returns> | ||
3831 | </member> | 3995 | </member> |
3832 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> | 3996 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> |
3833 | <summary> | 3997 | <summary> |
3834 | determines if the nonce is valid or has expired. | 3998 | Send a response. |
3835 | </summary> | 3999 | </summary> |
3836 | <param name="nonce">nonce value (check wikipedia for info)</param> | 4000 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
3837 | <returns>true if the nonce has not expired.</returns> | 4001 | <param name="statusCode">HTTP status code</param> |
4002 | <param name="reason">reason for the status code.</param> | ||
4003 | <param name="body">HTML body contents, can be null or empty.</param> | ||
4004 | <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> | ||
4005 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
3838 | </member> | 4006 | </member> |
3839 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> | 4007 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
3840 | <summary> | 4008 | <summary> |
3841 | name used in http request. | 4009 | Send a response. |
3842 | </summary> | 4010 | </summary> |
4011 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | ||
4012 | <param name="statusCode">HTTP status code</param> | ||
4013 | <param name="reason">reason for the status code.</param> | ||
3843 | </member> | 4014 | </member> |
3844 | <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"> | 4015 | <member name="M:HttpServer.HttpClientContext.Respond(System.String)"> |
3845 | <summary> | 4016 | <summary> |
3846 | Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a | 4017 | Send a response. |
3847 | HA1 generated string. | ||
3848 | </summary> | 4018 | </summary> |
4019 | <exception cref="T:System.ArgumentNullException"></exception> | ||
3849 | </member> | 4020 | </member> |
3850 | <member name="T:HttpServer.RequestParserState"> | 4021 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])"> |
3851 | <summary> | 4022 | <summary> |
3852 | Current state in the parsing. | 4023 | send a whole buffer |
3853 | </summary> | 4024 | </summary> |
4025 | <param name="buffer">buffer to send</param> | ||
4026 | <exception cref="T:System.ArgumentNullException"></exception> | ||
3854 | </member> | 4027 | </member> |
3855 | <member name="F:HttpServer.RequestParserState.FirstLine"> | 4028 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
3856 | <summary> | 4029 | <summary> |
3857 | Should parse the request line | 4030 | Send data using the stream |
3858 | </summary> | 4031 | </summary> |
4032 | <param name="buffer">Contains data to send</param> | ||
4033 | <param name="offset">Start position in buffer</param> | ||
4034 | <param name="size">number of bytes to send</param> | ||
4035 | <exception cref="T:System.ArgumentNullException"></exception> | ||
4036 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
3859 | </member> | 4037 | </member> |
3860 | <member name="F:HttpServer.RequestParserState.HeaderName"> | 4038 | <member name="E:HttpServer.HttpClientContext.Cleaned"> |
3861 | <summary> | 4039 | <summary> |
3862 | Searching for a complete header name | 4040 | This context have been cleaned, which means that it can be reused. |
3863 | </summary> | 4041 | </summary> |
3864 | </member> | 4042 | </member> |
3865 | <member name="F:HttpServer.RequestParserState.AfterName"> | 4043 | <member name="E:HttpServer.HttpClientContext.Started"> |
3866 | <summary> | 4044 | <summary> |
3867 | Searching for colon after header name (ignoring white spaces) | 4045 | Context have been started (a new client have connected) |
3868 | </summary> | 4046 | </summary> |
3869 | </member> | 4047 | </member> |
3870 | <member name="F:HttpServer.RequestParserState.Between"> | 4048 | <member name="P:HttpServer.HttpClientContext.CurrentRequest"> |
3871 | <summary> | 4049 | <summary> |
3872 | Searching for start of header value (ignoring white spaces) | 4050 | Overload to specify own type. |
3873 | </summary> | 4051 | </summary> |
4052 | <remarks> | ||
4053 | Must be specified before the context is being used. | ||
4054 | </remarks> | ||
3874 | </member> | 4055 | </member> |
3875 | <member name="F:HttpServer.RequestParserState.HeaderValue"> | 4056 | <member name="P:HttpServer.HttpClientContext.Secured"> |
3876 | <summary> | 4057 | <summary> |
3877 | Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) | 4058 | Using SSL or other encryption method. |
3878 | </summary> | 4059 | </summary> |
3879 | </member> | 4060 | </member> |
3880 | <member name="F:HttpServer.RequestParserState.Body"> | 4061 | <member name="P:HttpServer.HttpClientContext.IsSecured"> |
3881 | <summary> | 4062 | <summary> |
3882 | Adding bytes to body | 4063 | Using SSL or other encryption method. |
3883 | </summary> | 4064 | </summary> |
3884 | </member> | 4065 | </member> |
3885 | <member name="T:HttpServer.Rules.RegexRedirectRule"> | 4066 | <member name="P:HttpServer.HttpClientContext.LogWriter"> |
3886 | <summary> | 4067 | <summary> |
3887 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules | 4068 | Specify which logger to use. |
3888 | a regular expression can be used to identify redirect URLs and their targets. | ||
3889 | </summary> | 4069 | </summary> |
3890 | <example> | ||
3891 | <![CDATA[ | ||
3892 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) | ||
3893 | ]]> | ||
3894 | </example> | ||
3895 | </member> | 4070 | </member> |
3896 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> | 4071 | <member name="P:HttpServer.HttpClientContext.Stream"> |
3897 | <summary> | 4072 | <summary> |
3898 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 4073 | Gets or sets the network stream. |
3899 | </summary> | 4074 | </summary> |
3900 | <param name="fromUrlExpression">Expression to match URL</param> | ||
3901 | <param name="toUrlExpression">Expression to generate URL</param> | ||
3902 | <example> | ||
3903 | <![CDATA[ | ||
3904 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}")); | ||
3905 | Result of ie. /employee1 will then be /user/employee1 | ||
3906 | ]]> | ||
3907 | </example> | ||
3908 | </member> | 4075 | </member> |
3909 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> | 4076 | <member name="P:HttpServer.HttpClientContext.RemoteAddress"> |
3910 | <summary> | 4077 | <summary> |
3911 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 4078 | Gets or sets IP address that the client connected from. |
3912 | </summary> | 4079 | </summary> |
3913 | <param name="fromUrlExpression">Expression to match URL</param> | ||
3914 | <param name="toUrlExpression">Expression to generate URL</param> | ||
3915 | <param name="options">Regular expression options to use, can be null</param> | ||
3916 | <example> | ||
3917 | <![CDATA[ | ||
3918 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); | ||
3919 | Result of ie. /employee1 will then be /user/employee1 | ||
3920 | ]]> | ||
3921 | </example> | ||
3922 | </member> | 4080 | </member> |
3923 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> | 4081 | <member name="P:HttpServer.HttpClientContext.RemotePort"> |
3924 | <summary> | 4082 | <summary> |
3925 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 4083 | Gets or sets port that the client connected from. |
3926 | </summary> | 4084 | </summary> |
3927 | <param name="fromUrlExpression">Expression to match URL</param> | ||
3928 | <param name="toUrlExpression">Expression to generate URL</param> | ||
3929 | <param name="options">Regular expression options to apply</param> | ||
3930 | <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param> | ||
3931 | <example> | ||
3932 | <![CDATA[ | ||
3933 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); | ||
3934 | Result of ie. /employee1 will then be /user/employee1 | ||
3935 | ]]> | ||
3936 | </example> | ||
3937 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | ||
3938 | <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/> | ||
3939 | </member> | 4085 | </member> |
3940 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 4086 | <member name="E:HttpServer.HttpClientContext.Disconnected"> |
3941 | <summary> | 4087 | <summary> |
3942 | Process the incoming request. | 4088 | The context have been disconnected. |
3943 | </summary> | 4089 | </summary> |
3944 | <param name="request">incoming HTTP request</param> | ||
3945 | <param name="response">outgoing HTTP response</param> | ||
3946 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
3947 | <remarks> | 4090 | <remarks> |
3948 | returning true means that no modules will get the request. Returning true is typically being done | 4091 | Event can be used to clean up a context, or to reuse it. |
3949 | for redirects. | ||
3950 | </remarks> | 4092 | </remarks> |
3951 | <exception cref="T:System.ArgumentNullException">If request or response is null</exception> | ||
3952 | </member> | 4093 | </member> |
3953 | <member name="T:HttpServer.RequestCookies"> | 4094 | <member name="E:HttpServer.HttpClientContext.RequestReceived"> |
3954 | <summary> | 4095 | <summary> |
3955 | This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). | 4096 | A request have been received in the context. |
3956 | The framework might switch class in the future and we dont want to have to replace all instances | ||
3957 | </summary> | 4097 | </summary> |
3958 | </member> | 4098 | </member> |
3959 | <member name="M:HttpServer.RequestCookies.#ctor(System.String)"> | 4099 | <member name="T:HttpServer.Helpers.ResourceManager"> |
4100 | <summary>Class to handle loading of resource files</summary> | ||
4101 | </member> | ||
4102 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor"> | ||
3960 | <summary> | 4103 | <summary> |
3961 | Let's copy all the cookies. | 4104 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
3962 | </summary> | 4105 | </summary> |
3963 | <param name="cookies">value from cookie header.</param> | ||
3964 | </member> | 4106 | </member> |
3965 | <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)"> | 4107 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)"> |
3966 | <summary> | 4108 | <summary> |
3967 | Adds a cookie in the collection. | 4109 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
3968 | </summary> | 4110 | </summary> |
3969 | <param name="cookie">cookie to add</param> | 4111 | <param name="writer">logger.</param> |
3970 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | ||
3971 | </member> | 4112 | </member> |
3972 | <member name="M:HttpServer.RequestCookies.GetEnumerator"> | 4113 | <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> |
3973 | <summary> | 4114 | <summary> |
3974 | Gets a collection enumerator on the cookie list. | 4115 | Loads resources from a namespace in the given assembly to an URI |
3975 | </summary> | 4116 | </summary> |
3976 | <returns>collection enumerator</returns> | 4117 | <param name="toUri">The URI to map the resources to</param> |
4118 | <param name="fromAssembly">The assembly in which the resources reside</param> | ||
4119 | <param name="fromNamespace">The namespace from which to load the resources</param> | ||
4120 | <usage> | ||
4121 | <code> | ||
4122 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | ||
4123 | </code> | ||
4124 | Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ | ||
4125 | </usage> | ||
4126 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | ||
4127 | <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception> | ||
3977 | </member> | 4128 | </member> |
3978 | <member name="M:HttpServer.RequestCookies.Clear"> | 4129 | <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)"> |
3979 | <summary> | 4130 | <summary> |
3980 | Remove all cookies. | 4131 | Retrieves a stream for the specified resource path if loaded otherwise null |
3981 | </summary> | 4132 | </summary> |
4133 | <param name="path">Path to the resource to retrieve a stream for</param> | ||
4134 | <returns>A stream or null if the resource couldn't be found</returns> | ||
3982 | </member> | 4135 | </member> |
3983 | <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator"> | 4136 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)"> |
3984 | <summary> | 4137 | <summary> |
3985 | Returns an enumerator that iterates through the collection. | 4138 | Fetch all files from the resource that matches the specified arguments. |
3986 | </summary> | 4139 | </summary> |
3987 | 4140 | <param name="path">The path to the resource to extract</param> | |
3988 | <returns> | 4141 | <returns> |
3989 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 4142 | a list of files if found; or an empty array if no files are found. |
3990 | </returns> | 4143 | </returns> |
3991 | <filterpriority>1</filterpriority> | 4144 | <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception> |
3992 | </member> | 4145 | </member> |
3993 | <member name="M:HttpServer.RequestCookies.Remove(System.String)"> | 4146 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)"> |
3994 | <summary> | 4147 | <summary> |
3995 | Remove a cookie from the collection. | 4148 | Fetch all files from the resource that matches the specified arguments. |
3996 | </summary> | 4149 | </summary> |
3997 | <param name="cookieName">Name of cookie.</param> | 4150 | <param name="path">Where the file should reside.</param> |
4151 | <param name="filename">Files to check</param> | ||
4152 | <returns> | ||
4153 | a list of files if found; or an empty array if no files are found. | ||
4154 | </returns> | ||
3998 | </member> | 4155 | </member> |
3999 | <member name="P:HttpServer.RequestCookies.Count"> | 4156 | <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)"> |
4000 | <summary> | 4157 | <summary> |
4001 | Gets the count of cookies in the collection. | 4158 | Returns whether or not the loader has an instance of the file requested |
4002 | </summary> | 4159 | </summary> |
4160 | <param name="filename">The name of the template/file</param> | ||
4161 | <returns>True if the loader can provide the file</returns> | ||
4003 | </member> | 4162 | </member> |
4004 | <member name="P:HttpServer.RequestCookies.Item(System.String)"> | 4163 | <member name="T:HttpServer.Check"> |
4005 | <summary> | 4164 | <summary> |
4006 | Gets the cookie of a given identifier (null if not existing). | 4165 | Small design by contract implementation. |
4007 | </summary> | 4166 | </summary> |
4008 | </member> | 4167 | </member> |
4009 | <member name="T:HttpServer.Parser.BodyEventArgs"> | 4168 | <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)"> |
4010 | <summary> | 4169 | <summary> |
4011 | Arguments used when more body bytes have come. | 4170 | Check whether a parameter is empty. |
4012 | </summary> | 4171 | </summary> |
4172 | <param name="value">Parameter value</param> | ||
4173 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | ||
4174 | <exception cref="T:System.ArgumentException">value is empty.</exception> | ||
4013 | </member> | 4175 | </member> |
4014 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)"> | 4176 | <member name="M:HttpServer.Check.Require(System.Object,System.String)"> |
4015 | <summary> | 4177 | <summary> |
4016 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. | 4178 | Checks whether a parameter is null. |
4017 | </summary> | 4179 | </summary> |
4018 | <param name="buffer">buffer that contains the received bytes.</param> | 4180 | <param name="value">Parameter value</param> |
4019 | <param name="offset">offset in buffer where to start processing.</param> | 4181 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
4020 | <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param> | 4182 | <exception cref="T:System.ArgumentNullException">value is null.</exception> |
4021 | </member> | 4183 | </member> |
4022 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor"> | 4184 | <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)"> |
4023 | <summary> | 4185 | <summary> |
4024 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. | 4186 | Checks whether a parameter is null. |
4025 | </summary> | 4187 | </summary> |
4188 | <param name="minValue"></param> | ||
4189 | <param name="value">Parameter value</param> | ||
4190 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | ||
4191 | <exception cref="T:System.ArgumentException">value is null.</exception> | ||
4026 | </member> | 4192 | </member> |
4027 | <member name="P:HttpServer.Parser.BodyEventArgs.Buffer"> | 4193 | <member name="T:HttpServer.ResponseCookie"> |
4028 | <summary> | 4194 | <summary> |
4029 | Gets or sets buffer that contains the received bytes. | 4195 | cookie being sent back to the browser. |
4030 | </summary> | 4196 | </summary> |
4197 | <seealso cref="T:HttpServer.ResponseCookie"/> | ||
4031 | </member> | 4198 | </member> |
4032 | <member name="P:HttpServer.Parser.BodyEventArgs.Count"> | 4199 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> |
4033 | <summary> | 4200 | <summary> |
4034 | Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed. | 4201 | Constructor. |
4035 | </summary> | 4202 | </summary> |
4203 | <param name="id">cookie identifier</param> | ||
4204 | <param name="content">cookie content</param> | ||
4205 | <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param> | ||
4206 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | ||
4207 | <exception cref="T:System.ArgumentException">id is empty</exception> | ||
4036 | </member> | 4208 | </member> |
4037 | <member name="P:HttpServer.Parser.BodyEventArgs.Offset"> | 4209 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> |
4038 | <summary> | 4210 | <summary> |
4039 | Gets or sets offset in buffer where to start processing. | 4211 | Create a new cookie |
4040 | </summary> | 4212 | </summary> |
4213 | <param name="name">name identifying the cookie</param> | ||
4214 | <param name="value">cookie value</param> | ||
4215 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> | ||
4216 | <param name="path">Path to where the cookie is valid</param> | ||
4217 | <param name="domain">Domain that the cookie is valid for.</param> | ||
4041 | </member> | 4218 | </member> |
4042 | <member name="T:HttpServer.HttpParam"> | 4219 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> |
4043 | <summary> | 4220 | <summary> |
4044 | Returns item either from a form or a query string (checks them in that order) | 4221 | Create a new cookie |
4045 | </summary> | 4222 | </summary> |
4223 | <param name="cookie">Name and value will be used</param> | ||
4224 | <param name="expires">when the cookie expires.</param> | ||
4046 | </member> | 4225 | </member> |
4047 | <member name="F:HttpServer.HttpParam.Empty"> | 4226 | <member name="M:HttpServer.ResponseCookie.ToString"> |
4048 | <summary> Representation of a non-initialized HttpParam </summary> | 4227 | <summary> |
4049 | </member> | 4228 | Gets the cookie HTML representation. |
4050 | <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)"> | 4229 | </summary> |
4051 | <summary>Initialises the class to hold a value either from a post request or a querystring request</summary> | 4230 | <returns>cookie string</returns> |
4052 | </member> | 4231 | </member> |
4053 | <member name="M:HttpServer.HttpParam.Add(System.String,System.String)"> | 4232 | <member name="P:HttpServer.ResponseCookie.Expires"> |
4054 | <summary> | 4233 | <summary> |
4055 | The add method is not availible for HttpParam | 4234 | When the cookie expires. |
4056 | since HttpParam checks both Request.Form and Request.QueryString | 4235 | DateTime.MinValue means that the cookie expires when the session do so. |
4057 | </summary> | 4236 | </summary> |
4058 | <param name="name">name identifying the value</param> | ||
4059 | <param name="value">value to add</param> | ||
4060 | <exception cref="T:System.NotImplementedException"></exception> | ||
4061 | </member> | 4237 | </member> |
4062 | <member name="M:HttpServer.HttpParam.Contains(System.String)"> | 4238 | <member name="P:HttpServer.ResponseCookie.Path"> |
4063 | <summary> | 4239 | <summary> |
4064 | Checks whether the form or querystring has the specified value | 4240 | Cookie is only valid under this path. |
4065 | </summary> | 4241 | </summary> |
4066 | <param name="name">Name, case sensitive</param> | ||
4067 | <returns>true if found; otherwise false.</returns> | ||
4068 | </member> | 4242 | </member> |
4069 | <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | 4243 | <member name="T:HttpServer.Parser.RequestLineEventArgs"> |
4070 | <summary> | 4244 | <summary> |
4071 | Returns an enumerator that iterates through the collection. | 4245 | Used when the request line have been successfully parsed. |
4072 | </summary> | 4246 | </summary> |
4073 | |||
4074 | <returns> | ||
4075 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | ||
4076 | </returns> | ||
4077 | <filterpriority>1</filterpriority> | ||
4078 | </member> | 4247 | </member> |
4079 | <member name="M:HttpServer.HttpParam.GetEnumerator"> | 4248 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)"> |
4080 | <summary> | 4249 | <summary> |
4081 | Returns an enumerator that iterates through a collection. | 4250 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
4082 | </summary> | 4251 | </summary> |
4083 | 4252 | <param name="httpMethod">The HTTP method.</param> | |
4084 | <returns> | 4253 | <param name="uriPath">The URI path.</param> |
4085 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | 4254 | <param name="httpVersion">The HTTP version.</param> |
4086 | </returns> | ||
4087 | <filterpriority>2</filterpriority> | ||
4088 | </member> | 4255 | </member> |
4089 | <member name="P:HttpServer.HttpParam.Item(System.String)"> | 4256 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor"> |
4090 | <summary> | 4257 | <summary> |
4091 | Fetch an item from the form or querystring (in that order). | 4258 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
4092 | </summary> | 4259 | </summary> |
4093 | <param name="name"></param> | ||
4094 | <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns> | ||
4095 | </member> | 4260 | </member> |
4096 | <member name="T:HttpServer.ExceptionHandler"> | 4261 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod"> |
4097 | <summary> | 4262 | <summary> |
4098 | We dont want to let the server to die due to exceptions thrown in worker threads. | 4263 | Gets or sets http method. |
4099 | therefore we use this delegate to give you a change to handle uncaught exceptions. | ||
4100 | </summary> | 4264 | </summary> |
4101 | <param name="source">Class that the exception was thrown in.</param> | ||
4102 | <param name="exception">Exception</param> | ||
4103 | <remarks> | 4265 | <remarks> |
4104 | Server will throw a InternalServerException in release version if you dont | 4266 | Should be one of the methods declared in <see cref="T:HttpServer.Method"/>. |
4105 | handle this delegate. | ||
4106 | </remarks> | 4267 | </remarks> |
4107 | </member> | 4268 | </member> |
4108 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> | 4269 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion"> |
4109 | <summary> | 4270 | <summary> |
4110 | Delegate used to let authentication modules authenticate the user name and password. | 4271 | Gets or sets the version of the HTTP protocol that the client want to use. |
4111 | </summary> | 4272 | </summary> |
4112 | <param name="realm">Realm that the user want to authenticate in</param> | ||
4113 | <param name="userName">User name specified by client</param> | ||
4114 | <param name="token">Can either be user password or implementation specific token.</param> | ||
4115 | <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> | ||
4116 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> | ||
4117 | <remarks> | ||
4118 | <para> | ||
4119 | Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated | ||
4120 | string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); | ||
4121 | </para> | ||
4122 | </remarks> | ||
4123 | </member> | 4273 | </member> |
4124 | <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler"> | 4274 | <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath"> |
4125 | <summary> | 4275 | <summary> |
4126 | Let's you decide on a system level if authentication is required. | 4276 | Gets or sets requested URI path. |
4127 | </summary> | 4277 | </summary> |
4128 | <param name="request">HTTP request from client</param> | ||
4129 | <returns>true if user should be authenticated.</returns> | ||
4130 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks> | ||
4131 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
4132 | </member> | 4278 | </member> |
4133 | <member name="T:HttpServer.HttpListener"> | 4279 | <member name="T:HttpServer.RealmHandler"> |
4134 | <summary> | 4280 | <summary> |
4135 | New implementation of the HTTP listener. | 4281 | Delegate used to find a realm/domain. |
4136 | </summary> | 4282 | </summary> |
4283 | <param name="domain"></param> | ||
4284 | <returns></returns> | ||
4137 | <remarks> | 4285 | <remarks> |
4138 | Use the <c>Create</c> methods to create a default listener. | 4286 | Realms are used during HTTP Authentication |
4139 | </remarks> | 4287 | </remarks> |
4288 | <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/> | ||
4289 | <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/> | ||
4140 | </member> | 4290 | </member> |
4141 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | 4291 | <member name="T:HttpServer.HttpServer"> |
4142 | <summary> | 4292 | <summary> |
4143 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 4293 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. |
4144 | </summary> | 4294 | </summary> |
4145 | <param name="address">IP Address to accept connections on</param> | 4295 | <example> |
4146 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | 4296 | <code> |
4147 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | 4297 | // this small example will add two web site modules, thus handling |
4148 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 4298 | // two different sites. In reality you should add Controller modules or something |
4149 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | 4299 | // two the website modules to be able to handle different requests. |
4300 | HttpServer server = new HttpServer(); | ||
4301 | server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); | ||
4302 | server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); | ||
4303 | |||
4304 | // start regular http | ||
4305 | server.Start(IPAddress.Any, 80); | ||
4306 | |||
4307 | // start https | ||
4308 | server.Start(IPAddress.Any, 443, myCertificate); | ||
4309 | </code> | ||
4310 | </example> | ||
4311 | <seealso cref="T:HttpServer.HttpModules.HttpModule"/> | ||
4312 | <seealso cref="T:HttpServer.HttpModules.FileModule"/> | ||
4313 | <seealso cref="T:HttpServer.HttpListener"/> | ||
4150 | </member> | 4314 | </member> |
4151 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 4315 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)"> |
4152 | <summary> | 4316 | <summary> |
4153 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 4317 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4154 | </summary> | 4318 | </summary> |
4155 | <param name="address">The address.</param> | 4319 | <param name="provider">Used to get all components used in the server..</param> |
4156 | <param name="port">The port.</param> | ||
4157 | <param name="factory">The factory.</param> | ||
4158 | <param name="certificate">The certificate.</param> | ||
4159 | </member> | 4320 | </member> |
4160 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 4321 | <member name="M:HttpServer.HttpServer.#ctor"> |
4161 | <summary> | 4322 | <summary> |
4162 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 4323 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4163 | </summary> | 4324 | </summary> |
4164 | <param name="address">The address.</param> | ||
4165 | <param name="port">The port.</param> | ||
4166 | <param name="factory">The factory.</param> | ||
4167 | <param name="certificate">The certificate.</param> | ||
4168 | <param name="protocol">The protocol.</param> | ||
4169 | </member> | 4325 | </member> |
4170 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)"> | 4326 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)"> |
4171 | <summary> | 4327 | <summary> |
4172 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 4328 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4173 | </summary> | 4329 | </summary> |
4174 | <param name="address">Address that the listener should accept connections on.</param> | 4330 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
4175 | <param name="port">Port that listener should accept connections on.</param> | 4331 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
4176 | <returns>Created HTTP listener.</returns> | 4332 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
4177 | </member> | 4333 | </member> |
4178 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 4334 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)"> |
4179 | <summary> | 4335 | <summary> |
4180 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 4336 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4181 | </summary> | 4337 | </summary> |
4182 | <param name="address">Address that the listener should accept connections on.</param> | 4338 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> |
4183 | <param name="port">Port that listener should accept connections on.</param> | 4339 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> |
4184 | <param name="certificate">Certificate to use</param> | ||
4185 | <returns>Created HTTP listener.</returns> | ||
4186 | </member> | 4340 | </member> |
4187 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 4341 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)"> |
4188 | <summary> | 4342 | <summary> |
4189 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 4343 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4190 | </summary> | 4344 | </summary> |
4191 | <param name="address">Address that the listener should accept connections on.</param> | 4345 | <param name="logWriter">The log writer.</param> |
4192 | <param name="port">Port that listener should accept connections on.</param> | 4346 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
4193 | <param name="certificate">Certificate to use</param> | ||
4194 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | ||
4195 | <returns>Created HTTP listener.</returns> | ||
4196 | </member> | 4347 | </member> |
4197 | <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)"> | 4348 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)"> |
4198 | <summary> | 4349 | <summary> |
4199 | Can be used to create filtering of new connections. | 4350 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4200 | </summary> | 4351 | </summary> |
4201 | <param name="socket">Accepted socket</param> | 4352 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
4202 | <returns> | 4353 | <param name="logWriter">The log writer.</param> |
4203 | true if connection can be accepted; otherwise false. | 4354 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
4204 | </returns> | 4355 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
4356 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
4205 | </member> | 4357 | </member> |
4206 | <member name="E:HttpServer.HttpListener.Accepted"> | 4358 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)"> |
4207 | <summary> | 4359 | <summary> |
4208 | A client have been accepted, but not handled, by the listener. | 4360 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
4209 | </summary> | 4361 | </summary> |
4362 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | ||
4363 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | ||
4364 | <param name="logWriter">The log writer.</param> | ||
4365 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
4366 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
4367 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
4368 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | ||
4210 | </member> | 4369 | </member> |
4211 | <member name="T:HttpServer.Helpers.WebHelper"> | 4370 | <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)"> |
4212 | <summary> | 4371 | <summary> |
4213 | Webhelper provides helpers for common tasks in HTML. | 4372 | Adds the specified rule. |
4214 | </summary> | 4373 | </summary> |
4374 | <param name="rule">The rule.</param> | ||
4215 | </member> | 4375 | </member> |
4216 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> | 4376 | <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)"> |
4217 | <summary> | 4377 | <summary> |
4218 | Used to let the website use different javascript libraries. | 4378 | Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server. |
4219 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
4220 | </summary> | 4379 | </summary> |
4380 | <param name="module">mode to add</param> | ||
4221 | </member> | 4381 | </member> |
4222 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> | 4382 | <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)"> |
4223 | <summary> | 4383 | <summary> |
4224 | Creates a link that invokes through ajax. | 4384 | Decodes the request body. |
4225 | </summary> | 4385 | </summary> |
4226 | <param name="url">url to fetch</param> | 4386 | <param name="request">The request.</param> |
4227 | <param name="title">link title</param> | 4387 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception> |
4228 | <param name="options"> | ||
4229 | optional options in format "key, value, key, value". | ||
4230 | Javascript options starts with ':'. | ||
4231 | </param> | ||
4232 | <returns>a link tag</returns> | ||
4233 | <example> | ||
4234 | WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); | ||
4235 | </example> | ||
4236 | </member> | 4388 | </member> |
4237 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> | 4389 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)"> |
4238 | <summary> | 4390 | <summary> |
4239 | Builds a link that updates an element with the fetched ajax content. | 4391 | Generate a HTTP error page (that will be added to the response body). |
4392 | response status code is also set. | ||
4240 | </summary> | 4393 | </summary> |
4241 | <param name="url">Url to fetch content from</param> | 4394 | <param name="response">Response that the page will be generated in.</param> |
4242 | <param name="title">link title</param> | 4395 | <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param> |
4243 | <param name="targetId">html element to update with the results of the ajax request.</param> | 4396 | <param name="body">response body contents.</param> |
4244 | <param name="options">optional options in format "key, value, key, value"</param> | ||
4245 | <returns>A link tag.</returns> | ||
4246 | </member> | 4397 | </member> |
4247 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> | 4398 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)"> |
4248 | <summary> | 4399 | <summary> |
4249 | A link that pop ups a Dialog (overlay div) | 4400 | Generate a HTTP error page (that will be added to the response body). |
4401 | response status code is also set. | ||
4250 | </summary> | 4402 | </summary> |
4251 | <param name="url">url to contents of dialog</param> | 4403 | <param name="response">Response that the page will be generated in.</param> |
4252 | <param name="title">link title</param> | 4404 | <param name="err">exception.</param> |
4253 | <param name="htmlAttributes">name/value of html attributes.</param> | ||
4254 | <returns>A "a"-tag that popups a dialog when clicked</returns> | ||
4255 | <example> | ||
4256 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
4257 | </example> | ||
4258 | </member> | 4405 | </member> |
4259 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> | 4406 | <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)"> |
4260 | <summary> | 4407 | <summary> |
4261 | Create/Open a dialog box using ajax | 4408 | Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s. |
4262 | </summary> | 4409 | </summary> |
4263 | <param name="url"></param> | 4410 | <param name="request">HTTP request</param> |
4264 | <param name="title"></param> | 4411 | <returns>domain/realm.</returns> |
4265 | <param name="parameters"></param> | ||
4266 | <returns></returns> | ||
4267 | </member> | 4412 | </member> |
4268 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> | 4413 | <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
4269 | <summary> | 4414 | <summary> |
4270 | Close a javascript dialog window/div. | 4415 | Process an incoming request. |
4271 | </summary> | 4416 | </summary> |
4272 | <returns>javascript for closing a dialog.</returns> | 4417 | <param name="context">connection to client</param> |
4273 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> | 4418 | <param name="request">request information</param> |
4419 | <param name="response">response that should be filled</param> | ||
4420 | <param name="session">session information</param> | ||
4274 | </member> | 4421 | </member> |
4275 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> | 4422 | <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> |
4276 | <summary> | 4423 | <summary> |
4277 | Create a <form> tag. | 4424 | Can be overloaded to implement stuff when a client have been connected. |
4278 | </summary> | 4425 | </summary> |
4279 | <param name="name">name of form</param> | 4426 | <remarks> |
4280 | <param name="action">action to invoke on submit</param> | 4427 | Default implementation does nothing. |
4281 | <param name="isAjax">form should be posted as ajax</param> | 4428 | </remarks> |
4282 | <returns>html code</returns> | 4429 | <param name="client">client that disconnected</param> |
4283 | <example> | 4430 | <param name="error">disconnect reason</param> |
4284 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
4285 | </example> | ||
4286 | </member> | 4431 | </member> |
4287 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> | 4432 | <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
4288 | <summary> | 4433 | <summary> |
4289 | Create a link tag. | 4434 | Handle authentication |
4290 | </summary> | 4435 | </summary> |
4291 | <param name="url">url to go to</param> | 4436 | <param name="request"></param> |
4292 | <param name="title">link title (text that is displayed)</param> | 4437 | <param name="response"></param> |
4293 | <param name="htmlAttributes">html attributes, name, value, name, value</param> | 4438 | <param name="session"></param> |
4294 | <returns>html code</returns> | 4439 | <returns>true if request can be handled; false if not.</returns> |
4295 | <example> | 4440 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception> |
4296 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); | ||
4297 | </example> | ||
4298 | </member> | 4441 | </member> |
4299 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> | 4442 | <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
4300 | <summary> | 4443 | <summary> |
4301 | Build a link | 4444 | Will request authentication. |
4302 | </summary> | 4445 | </summary> |
4303 | <param name="url">url to go to.</param> | 4446 | <remarks> |
4304 | <param name="title">title of link (displayed text)</param> | 4447 | Sends respond to client, nothing else can be done with the response after this. |
4305 | <param name="htmlAttributes">extra html attributes.</param> | 4448 | </remarks> |
4306 | <returns>a complete link</returns> | 4449 | <param name="mod"></param> |
4450 | <param name="request"></param> | ||
4451 | <param name="response"></param> | ||
4307 | </member> | 4452 | </member> |
4308 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> | 4453 | <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)"> |
4309 | <summary> | 4454 | <summary> |
4310 | Build a link | 4455 | Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully. |
4311 | </summary> | 4456 | </summary> |
4312 | <param name="url">url to go to.</param> | 4457 | <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param> |
4313 | <param name="title">title of link (displayed text)</param> | 4458 | <param name="args">The request.</param> |
4314 | <param name="htmlAttributes">extra html attributes.</param> | ||
4315 | <returns>a complete link</returns> | ||
4316 | <param name="options">more options</param> | ||
4317 | </member> | 4459 | </member> |
4318 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4460 | <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
4319 | <summary> | 4461 | <summary> |
4320 | Obsolete | 4462 | To be able to track request count. |
4321 | </summary> | 4463 | </summary> |
4322 | <param name="name">Obsolete</param> | 4464 | <param name="context"></param> |
4323 | <param name="collection">Obsolete</param> | 4465 | <param name="request"></param> |
4324 | <param name="getIdTitle">Obsolete</param> | ||
4325 | <param name="selectedValue">Obsolete</param> | ||
4326 | <param name="firstEmpty">Obsolete</param> | ||
4327 | <returns>Obsolete</returns> | ||
4328 | </member> | 4466 | </member> |
4329 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4467 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)"> |
4330 | <summary> | 4468 | <summary> |
4331 | Obsolete | 4469 | Start the web server using regular HTTP. |
4332 | </summary> | 4470 | </summary> |
4333 | <param name="name">Obsolete</param> | 4471 | <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param> |
4334 | <param name="id">Obsolete</param> | 4472 | <param name="port">Port to listen on. 80 can be a good idea =)</param> |
4335 | <param name="collection">Obsolete</param> | 4473 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> |
4336 | <param name="getIdTitle">Obsolete</param> | 4474 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> |
4337 | <param name="selectedValue">Obsolete</param> | ||
4338 | <param name="firstEmpty">Obsolete</param> | ||
4339 | <returns>Obsolete</returns> | ||
4340 | </member> | 4475 | </member> |
4341 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> | 4476 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
4342 | <summary> | 4477 | <summary> |
4343 | Render errors into a UL with class "errors" | 4478 | Accept secure connections. |
4344 | </summary> | 4479 | </summary> |
4345 | <param name="className">class used by UL-tag.</param> | 4480 | <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> |
4346 | <param name="theList">items to list</param> | 4481 | <param name="port">Port to listen on. 80 can be a good idea =)</param> |
4347 | <returns>an unordered html list.</returns> | 4482 | <param name="certificate">Certificate to use</param> |
4483 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
4484 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
4348 | </member> | 4485 | </member> |
4349 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> | 4486 | <member name="M:HttpServer.HttpServer.Stop"> |
4350 | <summary> | 4487 | <summary> |
4351 | Render errors into a UL with class "errors" | 4488 | shut down the server and listeners |
4352 | </summary> | 4489 | </summary> |
4353 | <param name="className">class used by UL-tag.</param> | ||
4354 | <param name="theList">items to list</param> | ||
4355 | <returns>an unordered html list.</returns> | ||
4356 | </member> | 4490 | </member> |
4357 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> | 4491 | <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)"> |
4358 | <summary> | 4492 | <summary> |
4359 | Render errors into a UL with class "errors" | 4493 | write an entry to the log file |
4360 | </summary> | 4494 | </summary> |
4361 | <param name="errors"></param> | 4495 | <param name="prio">importance of the message</param> |
4362 | <returns></returns> | 4496 | <param name="message">log message</param> |
4363 | </member> | 4497 | </member> |
4364 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> | 4498 | <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)"> |
4365 | <summary> | 4499 | <summary> |
4366 | Generates a list with html attributes. | 4500 | write an entry to the log file |
4367 | </summary> | 4501 | </summary> |
4368 | <param name="sb">StringBuilder that the options should be added to.</param> | 4502 | <param name="source">object that wrote the message</param> |
4369 | <param name="firstOptions">attributes set by user.</param> | 4503 | <param name="prio">importance of the message</param> |
4370 | <param name="secondOptions">attributes set by any of the helper classes.</param> | 4504 | <param name="message">log message</param> |
4371 | </member> | 4505 | </member> |
4372 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> | 4506 | <member name="P:HttpServer.HttpServer.Current"> |
4373 | <summary> | 4507 | <summary> |
4374 | Generates a list with html attributes. | 4508 | Server that is handling the current request. |
4375 | </summary> | 4509 | </summary> |
4376 | <param name="sb">StringBuilder that the options should be added to.</param> | 4510 | <remarks> |
4377 | <param name="options"></param> | 4511 | Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object. |
4512 | </remarks> | ||
4378 | </member> | 4513 | </member> |
4379 | <member name="T:HttpServer.ResponseCookie"> | 4514 | <member name="P:HttpServer.HttpServer.AuthenticationModules"> |
4380 | <summary> | 4515 | <summary> |
4381 | cookie being sent back to the browser. | 4516 | Modules used for authentication. The module that is is added first is used as |
4517 | the default authentication module. | ||
4382 | </summary> | 4518 | </summary> |
4383 | <seealso cref="T:HttpServer.ResponseCookie"/> | 4519 | <remarks>Use the corresponding property |
4520 | in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks> | ||
4384 | </member> | 4521 | </member> |
4385 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> | 4522 | <member name="P:HttpServer.HttpServer.FormDecoderProviders"> |
4386 | <summary> | 4523 | <summary> |
4387 | Constructor. | 4524 | Form decoder providers are used to decode request body (which normally contains form data). |
4388 | </summary> | 4525 | </summary> |
4389 | <param name="id">cookie identifier</param> | ||
4390 | <param name="content">cookie content</param> | ||
4391 | <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param> | ||
4392 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | ||
4393 | <exception cref="T:System.ArgumentException">id is empty</exception> | ||
4394 | </member> | 4526 | </member> |
4395 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> | 4527 | <member name="P:HttpServer.HttpServer.ServerName"> |
4396 | <summary> | 4528 | <summary> |
4397 | Create a new cookie | 4529 | Server name sent in HTTP responses. |
4398 | </summary> | 4530 | </summary> |
4399 | <param name="name">name identifying the cookie</param> | 4531 | <remarks> |
4400 | <param name="value">cookie value</param> | 4532 | Do NOT include version in name, since it makes it |
4401 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> | 4533 | easier for hackers. |
4402 | <param name="path">Path to where the cookie is valid</param> | 4534 | </remarks> |
4403 | <param name="domain">Domain that the cookie is valid for.</param> | ||
4404 | </member> | 4535 | </member> |
4405 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> | 4536 | <member name="P:HttpServer.HttpServer.SessionCookieName"> |
4406 | <summary> | 4537 | <summary> |
4407 | Create a new cookie | 4538 | Name of cookie where session id is stored. |
4408 | </summary> | 4539 | </summary> |
4409 | <param name="cookie">Name and value will be used</param> | ||
4410 | <param name="expires">when the cookie expires.</param> | ||
4411 | </member> | 4540 | </member> |
4412 | <member name="M:HttpServer.ResponseCookie.ToString"> | 4541 | <member name="P:HttpServer.HttpServer.LogWriter"> |
4413 | <summary> | 4542 | <summary> |
4414 | Gets the cookie HTML representation. | 4543 | Specified where logging should go. |
4415 | </summary> | 4544 | </summary> |
4416 | <returns>cookie string</returns> | 4545 | <seealso cref="T:HttpServer.NullLogWriter"/> |
4546 | <seealso cref="T:HttpServer.ConsoleLogWriter"/> | ||
4547 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
4417 | </member> | 4548 | </member> |
4418 | <member name="P:HttpServer.ResponseCookie.Expires"> | 4549 | <member name="P:HttpServer.HttpServer.BackLog"> |
4419 | <summary> | 4550 | <summary> |
4420 | When the cookie expires. | 4551 | Number of connections that can wait to be accepted by the server. |
4421 | DateTime.MinValue means that the cookie expires when the session do so. | ||
4422 | </summary> | 4552 | </summary> |
4553 | <remarks>Default is 10.</remarks> | ||
4423 | </member> | 4554 | </member> |
4424 | <member name="P:HttpServer.ResponseCookie.Path"> | 4555 | <member name="P:HttpServer.HttpServer.MaxRequestCount"> |
4425 | <summary> | 4556 | <summary> |
4426 | Cookie is only valid under this path. | 4557 | Gets or sets maximum number of allowed simultaneous requests. |
4427 | </summary> | 4558 | </summary> |
4559 | <remarks> | ||
4560 | <para> | ||
4561 | This property is useful in busy systems. The HTTP server | ||
4562 | will start queuing new requests if this limit is hit, instead | ||
4563 | of trying to process all incoming requests directly. | ||
4564 | </para> | ||
4565 | <para> | ||
4566 | The default number if allowed simultaneous requests are 10. | ||
4567 | </para> | ||
4568 | </remarks> | ||
4428 | </member> | 4569 | </member> |
4429 | <member name="T:HttpServer.IHttpRequest"> | 4570 | <member name="P:HttpServer.HttpServer.MaxQueueSize"> |
4430 | <summary> | 4571 | <summary> |
4431 | Contains server side HTTP request information. | 4572 | Gets or sets maximum number of requests queuing to be handled. |
4432 | </summary> | 4573 | </summary> |
4574 | <remarks> | ||
4575 | <para> | ||
4576 | The WebServer will start turning requests away if response code | ||
4577 | <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server | ||
4578 | is too busy to be able to handle the request. | ||
4579 | </para> | ||
4580 | </remarks> | ||
4433 | </member> | 4581 | </member> |
4434 | <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)"> | 4582 | <member name="E:HttpServer.HttpServer.RealmWanted"> |
4435 | <summary> | 4583 | <summary> |
4436 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. | 4584 | Realms are used during HTTP authentication. |
4585 | Default realm is same as server name. | ||
4437 | </summary> | 4586 | </summary> |
4438 | <param name="name">Name of the header, should not be URL encoded</param> | ||
4439 | <param name="value">Value of the header, should not be URL encoded</param> | ||
4440 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> | ||
4441 | </member> | 4587 | </member> |
4442 | <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 4588 | <member name="E:HttpServer.HttpServer.ExceptionThrown"> |
4443 | <summary> | 4589 | <summary> |
4444 | Add bytes to the body | 4590 | Let's to receive unhandled exceptions from the threads. |
4445 | </summary> | 4591 | </summary> |
4446 | <param name="bytes">buffer to read bytes from</param> | 4592 | <remarks> |
4447 | <param name="offset">where to start read</param> | 4593 | Exceptions will be thrown during debug mode if this event is not used, |
4448 | <param name="length">number of bytes to read</param> | 4594 | exceptions will be printed to console and suppressed during release mode. |
4449 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | 4595 | </remarks> |
4450 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> | ||
4451 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | ||
4452 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | ||
4453 | </member> | 4596 | </member> |
4454 | <member name="M:HttpServer.IHttpRequest.Clear"> | 4597 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> |
4455 | <summary> | 4598 | <summary> |
4456 | Clear everything in the request | 4599 | Serves files that are stored in embedded resources. |
4457 | </summary> | 4600 | </summary> |
4458 | </member> | 4601 | </member> |
4459 | <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> | 4602 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> |
4460 | <summary> | 4603 | <summary> |
4461 | Decode body into a form. | 4604 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
4605 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
4606 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
4462 | </summary> | 4607 | </summary> |
4463 | <param name="providers">A list with form decoders.</param> | ||
4464 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> | ||
4465 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | ||
4466 | </member> | 4608 | </member> |
4467 | <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)"> | 4609 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)"> |
4468 | <summary> | 4610 | <summary> |
4469 | Sets the cookies. | 4611 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
4612 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
4613 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
4470 | </summary> | 4614 | </summary> |
4471 | <param name="cookies">The cookies.</param> | 4615 | <param name="logWriter">The log writer to use when logging events</param> |
4472 | </member> | 4616 | </member> |
4473 | <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> | 4617 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> |
4474 | <summary> | 4618 | <summary> |
4475 | Create a response object. | 4619 | Mimtypes that this class can handle per default |
4476 | </summary> | 4620 | </summary> |
4477 | <param name="context">Context for the connected client.</param> | ||
4478 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | ||
4479 | </member> | 4621 | </member> |
4480 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> | 4622 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> |
4481 | <summary> | 4623 | <summary> |
4482 | Gets kind of types accepted by the client. | 4624 | Loads resources from a namespace in the given assembly to an uri |
4483 | </summary> | 4625 | </summary> |
4626 | <param name="toUri">The uri to map the resources to</param> | ||
4627 | <param name="fromAssembly">The assembly in which the resources reside</param> | ||
4628 | <param name="fromNamespace">The namespace from which to load the resources</param> | ||
4629 | <usage> | ||
4630 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | ||
4631 | |||
4632 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css | ||
4633 | </usage> | ||
4634 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | ||
4484 | </member> | 4635 | </member> |
4485 | <member name="P:HttpServer.IHttpRequest.Body"> | 4636 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> |
4486 | <summary> | 4637 | <summary> |
4487 | Gets or sets body stream. | 4638 | Returns true if the module can handle the request |
4488 | </summary> | 4639 | </summary> |
4489 | </member> | 4640 | </member> |
4490 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> | 4641 | <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
4491 | <summary> | 4642 | <summary> |
4492 | Gets whether the body is complete. | 4643 | Method that process the url |
4493 | </summary> | 4644 | </summary> |
4645 | <param name="request">Information sent by the browser about the request</param> | ||
4646 | <param name="response">Information that is being sent back to the client.</param> | ||
4647 | <param name="session">Session used to </param> | ||
4648 | <returns>true if this module handled the request.</returns> | ||
4494 | </member> | 4649 | </member> |
4495 | <member name="P:HttpServer.IHttpRequest.Connection"> | 4650 | <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"> |
4496 | <summary> | 4651 | <summary> |
4497 | Gets or sets kind of connection used for the session. | 4652 | List with all mime-type that are allowed. |
4498 | </summary> | 4653 | </summary> |
4654 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | ||
4499 | </member> | 4655 | </member> |
4500 | <member name="P:HttpServer.IHttpRequest.ContentLength"> | 4656 | <member name="T:HttpServer.Helpers.ResourceInfo"> |
4501 | <summary> | 4657 | <summary> |
4502 | Gets or sets number of bytes in the body. | 4658 | Container to bind resource names to assemblies |
4503 | </summary> | 4659 | </summary> |
4504 | </member> | 4660 | </member> |
4505 | <member name="P:HttpServer.IHttpRequest.Cookies"> | 4661 | <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)"> |
4506 | <summary> | 4662 | <summary> |
4507 | Gets cookies that was sent with the request. | 4663 | Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/> |
4508 | </summary> | 4664 | </summary> |
4665 | <param name="uri">The dot seperated uri the resource maps to</param> | ||
4666 | <param name="resourceName">The full resource name</param> | ||
4667 | <param name="assembly">The assembly the resource exists in</param> | ||
4509 | </member> | 4668 | </member> |
4510 | <member name="P:HttpServer.IHttpRequest.Form"> | 4669 | <member name="M:HttpServer.Helpers.ResourceInfo.GetStream"> |
4511 | <summary> | 4670 | <summary> |
4512 | Gets form parameters. | 4671 | Retrieves a stream to the resource |
4513 | </summary> | 4672 | </summary> |
4673 | <returns>Null if the resource couldn't be located somehow</returns> | ||
4514 | </member> | 4674 | </member> |
4515 | <member name="P:HttpServer.IHttpRequest.Headers"> | 4675 | <member name="P:HttpServer.Helpers.ResourceInfo.Assembly"> |
4516 | <summary> | 4676 | <summary> |
4517 | Gets headers sent by the client. | 4677 | Retrieves the assembly the resource resides in |
4518 | </summary> | 4678 | </summary> |
4519 | </member> | 4679 | </member> |
4520 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> | 4680 | <member name="P:HttpServer.Helpers.ResourceInfo.Uri"> |
4521 | <summary> | 4681 | <summary> |
4522 | Gets or sets version of HTTP protocol that's used. | 4682 | Retrieves the full name/path of the assembly |
4523 | </summary> | 4683 | </summary> |
4524 | <remarks> | ||
4525 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. | ||
4526 | </remarks> | ||
4527 | <seealso cref="T:HttpServer.HttpHelper"/> | ||
4528 | </member> | 4684 | </member> |
4529 | <member name="P:HttpServer.IHttpRequest.IsAjax"> | 4685 | <member name="P:HttpServer.Helpers.ResourceInfo.Extension"> |
4530 | <summary> | 4686 | <summary> |
4531 | Gets whether the request was made by Ajax (Asynchronous JavaScript) | 4687 | Retrieves the extension of the resource |
4532 | </summary> | 4688 | </summary> |
4533 | </member> | 4689 | </member> |
4534 | <member name="P:HttpServer.IHttpRequest.Method"> | 4690 | <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri"> |
4535 | <summary> | 4691 | <summary>Returns the Uri without extension</summary> |
4536 | Gets or sets requested method. | ||
4537 | </summary> | ||
4538 | <remarks> | ||
4539 | Will always be in upper case. | ||
4540 | </remarks> | ||
4541 | <see cref="P:HttpServer.IHttpRequest.Method"/> | ||
4542 | </member> | 4692 | </member> |
4543 | <member name="P:HttpServer.IHttpRequest.Param"> | 4693 | <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName"> |
4544 | <summary> | 4694 | <summary>Retrieves the full path name to the resource file</summary> |
4545 | Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>. | ||
4546 | </summary> | ||
4547 | </member> | 4695 | </member> |
4548 | <member name="P:HttpServer.IHttpRequest.QueryString"> | 4696 | <member name="T:HttpServer.Helpers.FormHelper"> |
4549 | <summary> | 4697 | <summary> |
4550 | Gets variables sent in the query string | 4698 | Helpers making it easier to work with forms. |
4551 | </summary> | 4699 | </summary> |
4700 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> | ||
4552 | </member> | 4701 | </member> |
4553 | <member name="P:HttpServer.IHttpRequest.Uri"> | 4702 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> |
4554 | <summary> | 4703 | <summary> |
4555 | Gets or sets requested URI. | 4704 | Used to let the website use different JavaScript libraries. |
4705 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
4556 | </summary> | 4706 | </summary> |
4557 | </member> | 4707 | </member> |
4558 | <member name="P:HttpServer.IHttpRequest.UriParts"> | 4708 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> |
4559 | <summary> | 4709 | <summary> |
4560 | Gets URI absolute path divided into parts. | 4710 | Create a <form> tag. |
4561 | </summary> | 4711 | </summary> |
4712 | <param name="id">name of form</param> | ||
4713 | <param name="action">action to invoke on submit</param> | ||
4714 | <param name="isAjax">form should be posted as Ajax</param> | ||
4715 | <returns>HTML code</returns> | ||
4562 | <example> | 4716 | <example> |
4563 | // URI is: http://gauffin.com/code/tiny/ | 4717 | <code> |
4564 | Console.WriteLine(request.UriParts[0]); // result: code | 4718 | // without options |
4565 | Console.WriteLine(request.UriParts[1]); // result: tiny | 4719 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); |
4720 | |||
4721 | // with options | ||
4722 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); | ||
4723 | </code> | ||
4566 | </example> | 4724 | </example> |
4567 | <remarks> | 4725 | <param name="options">HTML attributes or JavaScript options.</param> |
4568 | If you're using controllers than the first part is controller name, | 4726 | <remarks>Method will ALWAYS be POST.</remarks> |
4569 | the second part is method name and the third part is Id property. | 4727 | <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception> |
4570 | </remarks> | ||
4571 | <seealso cref="P:HttpServer.IHttpRequest.Uri"/> | ||
4572 | </member> | 4728 | </member> |
4573 | <member name="P:HttpServer.IHttpRequest.UriPath"> | 4729 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4574 | <summary> | 4730 | <summary> |
4575 | Gets or sets path and query. | 4731 | Creates a select list with the values in a collection. |
4576 | </summary> | 4732 | </summary> |
4577 | <see cref="P:HttpServer.IHttpRequest.Uri"/> | 4733 | <param name="name">Name of the SELECT-tag</param> |
4578 | <remarks> | 4734 | <param name="collection">collection used to generate options.</param> |
4579 | Are only used during request parsing. Cannot be set after "Host" header have been | 4735 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
4580 | added. | 4736 | <param name="selectedValue">value that should be marked as selected.</param> |
4581 | </remarks> | 4737 | <param name="firstEmpty">First row should contain an empty value.</param> |
4738 | <returns>string containing a SELECT-tag.</returns> | ||
4739 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
4582 | </member> | 4740 | </member> |
4583 | <member name="T:HttpServer.Helpers.GetIdTitle"> | 4741 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4584 | <summary> | 4742 | <summary> |
4585 | 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. | 4743 | Creates a select list with the values in a collection. |
4586 | </summary> | 4744 | </summary> |
4587 | <param name="obj">current object (for instance a User).</param> | 4745 | <param name="name">Name of the SELECT-tag</param> |
4588 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> | 4746 | <param name="id">Id of the SELECT-tag</param> |
4589 | <param name="title">Text shown in the select list.</param> | 4747 | <param name="collection">collection used to generate options.</param> |
4748 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
4749 | <param name="selectedValue">value that should be marked as selected.</param> | ||
4750 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
4751 | <returns>string containing a SELECT-tag.</returns> | ||
4752 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
4590 | <example> | 4753 | <example> |
4754 | <code> | ||
4591 | // Class that is going to be used in a SELECT-tag. | 4755 | // Class that is going to be used in a SELECT-tag. |
4592 | public class User | 4756 | public class User |
4593 | { | 4757 | { |
@@ -4640,817 +4804,653 @@ | |||
4640 | User user = (User)o; | 4804 | User user = (User)o; |
4641 | id = user.Id; | 4805 | id = user.Id; |
4642 | value = user.RealName; | 4806 | value = user.RealName; |
4643 | } /// </example> | 4807 | } |
4644 | </member> | 4808 | </code> |
4645 | <member name="T:HttpServer.Exceptions.UnauthorizedException"> | 4809 | </example> |
4646 | <summary> | 4810 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> |
4647 | The request requires user authentication. The response MUST include a | ||
4648 | WWW-Authenticate header field (section 14.47) containing a challenge | ||
4649 | applicable to the requested resource. | ||
4650 | |||
4651 | The client MAY repeat the request with a suitable Authorization header | ||
4652 | field (section 14.8). If the request already included Authorization | ||
4653 | credentials, then the 401 response indicates that authorization has been | ||
4654 | refused for those credentials. If the 401 response contains the same challenge | ||
4655 | as the prior response, and the user agent has already attempted authentication | ||
4656 | at least once, then the user SHOULD be presented the entity that was given in the response, | ||
4657 | since that entity might include relevant diagnostic information. | ||
4658 | |||
4659 | HTTP access authentication is explained in rfc2617: | ||
4660 | http://www.ietf.org/rfc/rfc2617.txt | ||
4661 | |||
4662 | (description is taken from | ||
4663 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) | ||
4664 | </summary> | ||
4665 | </member> | ||
4666 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor"> | ||
4667 | <summary> | ||
4668 | Create a new unauhtorized exception. | ||
4669 | </summary> | ||
4670 | <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/> | ||
4671 | </member> | ||
4672 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)"> | ||
4673 | <summary> | ||
4674 | Create a new unauhtorized exception. | ||
4675 | </summary> | ||
4676 | <param name="message">reason to why the request was unauthorized.</param> | ||
4677 | <param name="inner">inner exception</param> | ||
4678 | </member> | ||
4679 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)"> | ||
4680 | <summary> | ||
4681 | Create a new unauhtorized exception. | ||
4682 | </summary> | ||
4683 | <param name="message">reason to why the request was unauthorized.</param> | ||
4684 | </member> | 4811 | </member> |
4685 | <member name="T:HttpServer.Exceptions.NotFoundException"> | 4812 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])"> |
4686 | <summary> | 4813 | <summary> |
4687 | The requested resource was not found in the web server. | 4814 | Creates a select list with the values in a collection. |
4688 | </summary> | 4815 | </summary> |
4816 | <param name="name">Name of the SELECT-tag</param> | ||
4817 | <param name="id">Id of the SELECT-tag</param> | ||
4818 | <param name="collection">collection used to generate options.</param> | ||
4819 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
4820 | <param name="selectedValue">value that should be marked as selected.</param> | ||
4821 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
4822 | <param name="htmlAttributes">name, value collection of extra HTML attributes.</param> | ||
4823 | <returns>string containing a SELECT-tag.</returns> | ||
4824 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
4825 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
4826 | <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception> | ||
4689 | </member> | 4827 | </member> |
4690 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)"> | 4828 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4691 | <summary> | 4829 | <summary> |
4692 | Create a new exception | 4830 | Generate a list of HTML options |
4693 | </summary> | 4831 | </summary> |
4694 | <param name="message">message describing the error</param> | 4832 | <param name="collection">collection used to generate options.</param> |
4695 | <param name="inner">inner exception</param> | 4833 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
4834 | <param name="selectedValue">value that should be marked as selected.</param> | ||
4835 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
4836 | <returns></returns> | ||
4837 | <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
4696 | </member> | 4838 | </member> |
4697 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)"> | 4839 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4698 | <summary> | 4840 | <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception> |
4699 | Create a new exception | ||
4700 | </summary> | ||
4701 | <param name="message">message describing the error</param> | ||
4702 | </member> | 4841 | </member> |
4703 | <member name="T:HttpServer.ConnectionType"> | 4842 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])"> |
4704 | <summary> | 4843 | <summary> |
4705 | Type of HTTP connection | 4844 | Creates a check box. |
4706 | </summary> | 4845 | </summary> |
4846 | <param name="name">element name</param> | ||
4847 | <param name="value">element value</param> | ||
4848 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
4849 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4850 | the box is checked or not. </param> | ||
4851 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4852 | <returns>a generated radio button</returns> | ||
4707 | </member> | 4853 | </member> |
4708 | <member name="F:HttpServer.ConnectionType.Close"> | 4854 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])"> |
4709 | <summary> | 4855 | <summary> |
4710 | Connection is closed after each request-response | 4856 | Creates a check box. |
4711 | </summary> | 4857 | </summary> |
4858 | <param name="name">element name</param> | ||
4859 | <param name="id">element id</param> | ||
4860 | <param name="value">element value</param> | ||
4861 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
4862 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4863 | the box is checked or not. </param> | ||
4864 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4865 | <returns>a generated radio button</returns> | ||
4866 | <remarks> | ||
4867 | value in your business object. (check box will be selected if it matches the element value) | ||
4868 | </remarks> | ||
4712 | </member> | 4869 | </member> |
4713 | <member name="F:HttpServer.ConnectionType.KeepAlive"> | 4870 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])"> |
4714 | <summary> | 4871 | <summary> |
4715 | Connection is kept alive for X seconds (unless another request have been made) | 4872 | Creates a check box. |
4716 | </summary> | 4873 | </summary> |
4874 | <param name="name">element name</param> | ||
4875 | <param name="id">element id</param> | ||
4876 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
4877 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4878 | the box is checked or not. </param> | ||
4879 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4880 | <returns>a generated radio button</returns> | ||
4881 | <remarks>will set value to "1".</remarks> | ||
4717 | </member> | 4882 | </member> |
4718 | <member name="T:HttpServer.DisconnectedEventArgs"> | 4883 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> |
4719 | <summary> | 4884 | <summary> |
4720 | A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected. | 4885 | Creates a RadioButton. |
4721 | </summary> | 4886 | </summary> |
4887 | <param name="name">element name</param> | ||
4888 | <param name="value">element value</param> | ||
4889 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | ||
4890 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4891 | the box is checked or not. </param> | ||
4892 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4893 | <returns>a generated radio button</returns> | ||
4722 | </member> | 4894 | </member> |
4723 | <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)"> | 4895 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> |
4724 | <summary> | 4896 | <summary> |
4725 | Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class. | 4897 | Creates a RadioButton. |
4726 | </summary> | 4898 | </summary> |
4727 | <param name="error">Reason to disconnection.</param> | 4899 | <param name="name">element name</param> |
4900 | <param name="id">element id</param> | ||
4901 | <param name="value">element value</param> | ||
4902 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | ||
4903 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4904 | the box is checked or not. </param> | ||
4905 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4906 | <returns>a generated radio button</returns> | ||
4728 | </member> | 4907 | </member> |
4729 | <member name="P:HttpServer.DisconnectedEventArgs.Error"> | 4908 | <member name="M:HttpServer.Helpers.FormHelper.End"> |
4730 | <summary> | 4909 | <summary> |
4731 | Gets reason to why client disconnected. | 4910 | form close tag |
4732 | </summary> | 4911 | </summary> |
4912 | <returns></returns> | ||
4733 | </member> | 4913 | </member> |
4734 | <member name="T:HttpServer.RequestEventArgs"> | 4914 | <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)"> |
4735 | <summary> | 4915 | <summary> |
4736 | 4916 | Add a component instance | |
4737 | </summary> | 4917 | </summary> |
4918 | <typeparam name="T">Interface type</typeparam> | ||
4919 | <param name="instance">Instance to add</param> | ||
4738 | </member> | 4920 | </member> |
4739 | <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)"> | 4921 | <member name="M:HttpServer.ComponentProvider.Get``1"> |
4740 | <summary> | 4922 | <summary> |
4741 | Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class. | 4923 | Get a component. |
4742 | </summary> | 4924 | </summary> |
4743 | <param name="request">The request.</param> | 4925 | <typeparam name="T">Interface type</typeparam> |
4926 | <returns>Component if registered, otherwise null.</returns> | ||
4927 | <remarks> | ||
4928 | Component will get created if needed. | ||
4929 | </remarks> | ||
4744 | </member> | 4930 | </member> |
4745 | <member name="P:HttpServer.RequestEventArgs.Request"> | 4931 | <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)"> |
4746 | <summary> | 4932 | <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception> |
4747 | Gets received request. | ||
4748 | </summary> | ||
4749 | </member> | 4933 | </member> |
4750 | <member name="T:HttpServer.HttpRequest"> | 4934 | <member name="M:HttpServer.ComponentProvider.Contains(System.Type)"> |
4751 | <summary> | 4935 | <summary> |
4752 | Contains server side HTTP request information. | 4936 | Checks if the specified component interface have been added. |
4753 | </summary> | 4937 | </summary> |
4938 | <param name="interfaceType"></param> | ||
4939 | <returns>true if found; otherwise false.</returns> | ||
4754 | </member> | 4940 | </member> |
4755 | <member name="F:HttpServer.HttpRequest.UriSplitters"> | 4941 | <member name="M:HttpServer.ComponentProvider.Add``2"> |
4756 | <summary> | 4942 | <summary> |
4757 | Chars used to split an URL path into multiple parts. | 4943 | Add a component. |
4758 | </summary> | 4944 | </summary> |
4945 | <typeparam name="InterfaceType">Type being requested.</typeparam> | ||
4946 | <typeparam name="InstanceType">Type being created.</typeparam> | ||
4947 | <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception> | ||
4759 | </member> | 4948 | </member> |
4760 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> | 4949 | <member name="T:HttpServer.Sessions.MemorySessionStore"> |
4761 | <summary> | 4950 | <summary> |
4762 | Assign a form. | 4951 | Session store using memory for each session. |
4763 | </summary> | 4952 | </summary> |
4764 | <param name="form"></param> | ||
4765 | </member> | 4953 | </member> |
4766 | <member name="M:HttpServer.HttpRequest.Clone"> | 4954 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> |
4767 | <summary> | 4955 | <summary> |
4768 | Creates a new object that is a copy of the current instance. | 4956 | Initializes the class setting the expirationtimer to clean the session every minute |
4769 | </summary> | 4957 | </summary> |
4770 | |||
4771 | <returns> | ||
4772 | A new object that is a copy of this instance. | ||
4773 | </returns> | ||
4774 | <filterpriority>2</filterpriority> | ||
4775 | </member> | 4958 | </member> |
4776 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> | 4959 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> |
4777 | <summary> | 4960 | <summary> |
4778 | Decode body into a form. | 4961 | Delegate for the cleanup timer |
4779 | </summary> | 4962 | </summary> |
4780 | <param name="providers">A list with form decoders.</param> | ||
4781 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> | ||
4782 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | ||
4783 | </member> | 4963 | </member> |
4784 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> | 4964 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> |
4785 | <summary> | 4965 | <summary> |
4786 | Cookies | 4966 | Creates a new http session |
4787 | </summary> | 4967 | </summary> |
4788 | <param name="cookies">the cookies</param> | 4968 | <returns></returns> |
4789 | </member> | 4969 | </member> |
4790 | <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> | 4970 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> |
4791 | <summary> | 4971 | <summary> |
4792 | Create a response object. | 4972 | Creates a new http session with a specific id |
4793 | </summary> | 4973 | </summary> |
4794 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | 4974 | <param name="id">Id used to identify the new cookie..</param> |
4975 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | ||
4976 | <remarks> | ||
4977 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. | ||
4978 | </remarks> | ||
4795 | </member> | 4979 | </member> |
4796 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> | 4980 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> |
4797 | <summary> | 4981 | <summary> |
4798 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. | 4982 | Load an existing session. |
4799 | </summary> | 4983 | </summary> |
4800 | <param name="name">Name of the header, should not be URL encoded</param> | 4984 | <param name="sessionId"></param> |
4801 | <param name="value">Value of the header, should not be URL encoded</param> | 4985 | <returns></returns> |
4802 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> | ||
4803 | </member> | 4986 | </member> |
4804 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 4987 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> |
4805 | <summary> | 4988 | <summary> |
4806 | Add bytes to the body | 4989 | Save an updated session to the store. |
4807 | </summary> | 4990 | </summary> |
4808 | <param name="bytes">buffer to read bytes from</param> | 4991 | <param name="session"></param> |
4809 | <param name="offset">where to start read</param> | ||
4810 | <param name="length">number of bytes to read</param> | ||
4811 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | ||
4812 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> | ||
4813 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | ||
4814 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | ||
4815 | </member> | 4992 | </member> |
4816 | <member name="M:HttpServer.HttpRequest.Clear"> | 4993 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> |
4817 | <summary> | 4994 | <summary> |
4818 | Clear everything in the request | 4995 | We use the flyweight pattern which reuses small objects |
4996 | instead of creating new each time. | ||
4819 | </summary> | 4997 | </summary> |
4998 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> | ||
4820 | </member> | 4999 | </member> |
4821 | <member name="P:HttpServer.HttpRequest.Secure"> | 5000 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> |
4822 | <summary> | 5001 | <summary> |
4823 | Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure. | 5002 | Remove expired sessions |
4824 | </summary> | 5003 | </summary> |
4825 | </member> | 5004 | </member> |
4826 | <member name="P:HttpServer.HttpRequest.UriPath"> | 5005 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)"> |
4827 | <summary> | 5006 | <summary> |
4828 | Path and query (will be merged with the host header) and put in Uri | 5007 | Remove a session |
4829 | </summary> | 5008 | </summary> |
4830 | <see cref="P:HttpServer.HttpRequest.Uri"/> | 5009 | <param name="sessionId">id of the session.</param> |
4831 | </member> | 5010 | </member> |
4832 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> | 5011 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> |
4833 | <summary> | 5012 | <summary> |
4834 | Gets whether the body is complete. | 5013 | Load a session from the store |
4835 | </summary> | 5014 | </summary> |
5015 | <param name="sessionId"></param> | ||
5016 | <returns>null if session is not found.</returns> | ||
4836 | </member> | 5017 | </member> |
4837 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> | 5018 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> |
4838 | <summary> | 5019 | <summary> |
4839 | Gets kind of types accepted by the client. | 5020 | Number of minutes before a session expires. |
5021 | Default is 20 minutes. | ||
4840 | </summary> | 5022 | </summary> |
4841 | </member> | 5023 | </member> |
4842 | <member name="P:HttpServer.HttpRequest.Body"> | 5024 | <member name="T:HttpServer.RequestQueue"> |
4843 | <summary> | 5025 | <summary> |
4844 | Gets or sets body stream. | 5026 | Used to queue incoming requests. |
4845 | </summary> | 5027 | </summary> |
4846 | </member> | 5028 | </member> |
4847 | <member name="P:HttpServer.HttpRequest.Connection"> | 5029 | <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)"> |
4848 | <summary> | 5030 | <summary> |
4849 | Gets or sets kind of connection used for the session. | 5031 | Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class. |
4850 | </summary> | 5032 | </summary> |
5033 | <param name="handler">Called when a request should be processed.</param> | ||
4851 | </member> | 5034 | </member> |
4852 | <member name="P:HttpServer.HttpRequest.ContentLength"> | 5035 | <member name="M:HttpServer.RequestQueue.QueueThread"> |
4853 | <summary> | 5036 | <summary> |
4854 | Gets or sets number of bytes in the body. | 5037 | Used to process queued requests. |
4855 | </summary> | 5038 | </summary> |
4856 | </member> | 5039 | </member> |
4857 | <member name="P:HttpServer.HttpRequest.Headers"> | 5040 | <member name="P:HttpServer.RequestQueue.MaxRequestCount"> |
4858 | <summary> | 5041 | <summary> |
4859 | Gets headers sent by the client. | 5042 | Gets or sets maximum number of allowed simultaneous requests. |
4860 | </summary> | 5043 | </summary> |
4861 | </member> | 5044 | </member> |
4862 | <member name="P:HttpServer.HttpRequest.HttpVersion"> | 5045 | <member name="P:HttpServer.RequestQueue.MaxQueueSize"> |
4863 | <summary> | 5046 | <summary> |
4864 | Gets or sets version of HTTP protocol that's used. | 5047 | Gets or sets maximum number of requests queuing to be handled. |
4865 | </summary> | 5048 | </summary> |
4866 | <remarks> | ||
4867 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. | ||
4868 | </remarks> | ||
4869 | <seealso cref="T:HttpServer.HttpHelper"/> | ||
4870 | </member> | 5049 | </member> |
4871 | <member name="P:HttpServer.HttpRequest.Method"> | 5050 | <member name="P:HttpServer.RequestQueue.CurrentRequestCount"> |
4872 | <summary> | 5051 | <summary> |
4873 | Gets or sets requested method. | 5052 | Specifies how many requests the HTTP server is currently processing. |
4874 | </summary> | 5053 | </summary> |
4875 | <value></value> | ||
4876 | <remarks> | ||
4877 | Will always be in upper case. | ||
4878 | </remarks> | ||
4879 | <see cref="!:HttpServer.Method"/> | ||
4880 | </member> | 5054 | </member> |
4881 | <member name="P:HttpServer.HttpRequest.QueryString"> | 5055 | <member name="T:HttpServer.RequestQueue.QueueItem"> |
4882 | <summary> | 5056 | <summary> |
4883 | Gets variables sent in the query string | 5057 | Used two queue incoming requests to avoid |
5058 | thread starvation. | ||
4884 | </summary> | 5059 | </summary> |
4885 | </member> | 5060 | </member> |
4886 | <member name="P:HttpServer.HttpRequest.Uri"> | 5061 | <member name="T:HttpServer.ProcessRequestHandler"> |
4887 | <summary> | 5062 | <summary> |
4888 | Gets or sets requested URI. | 5063 | Method used to process a queued request |
4889 | </summary> | 5064 | </summary> |
5065 | <param name="context">Context that the request was received from.</param> | ||
5066 | <param name="request">Request to process.</param> | ||
4890 | </member> | 5067 | </member> |
4891 | <member name="P:HttpServer.HttpRequest.UriParts"> | 5068 | <member name="T:HttpServer.HttpResponse"> |
4892 | <summary> | 5069 | <summary> |
4893 | Uri absolute path splitted into parts. | 5070 | Response that is sent back to the web browser / client. |
4894 | </summary> | 5071 | </summary> |
4895 | <example> | ||
4896 | // uri is: http://gauffin.com/code/tiny/ | ||
4897 | Console.WriteLine(request.UriParts[0]); // result: code | ||
4898 | Console.WriteLine(request.UriParts[1]); // result: tiny | ||
4899 | </example> | ||
4900 | <remarks> | 5072 | <remarks> |
4901 | If you're using controllers than the first part is controller name, | 5073 | <para> |
4902 | the second part is method name and the third part is Id property. | 5074 | A response can be sent if different ways. The easiest one is |
5075 | to just fill the Body stream with content, everything else | ||
5076 | will then be taken care of by the framework. The default content-type | ||
5077 | is text/html, you should change it if you send anything else. | ||
5078 | </para><para> | ||
5079 | The second and slightly more complex way is to send the response | ||
5080 | as parts. Start with sending the header using the SendHeaders method and | ||
5081 | then you can send the body using SendBody method, but do not forget | ||
5082 | to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so. | ||
5083 | </para> | ||
4903 | </remarks> | 5084 | </remarks> |
4904 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> | ||
4905 | </member> | ||
4906 | <member name="P:HttpServer.HttpRequest.Param"> | ||
4907 | <summary> | ||
4908 | Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>. | ||
4909 | </summary> | ||
4910 | </member> | ||
4911 | <member name="P:HttpServer.HttpRequest.Form"> | ||
4912 | <summary> | ||
4913 | Gets form parameters. | ||
4914 | </summary> | ||
4915 | </member> | ||
4916 | <member name="P:HttpServer.HttpRequest.IsAjax"> | ||
4917 | <summary> | ||
4918 | Gets whether the request was made by Ajax (Asynchronous JavaScript) | ||
4919 | </summary> | ||
4920 | </member> | ||
4921 | <member name="P:HttpServer.HttpRequest.Cookies"> | ||
4922 | <summary> | ||
4923 | Gets cookies that was sent with the request. | ||
4924 | </summary> | ||
4925 | </member> | ||
4926 | <member name="T:HttpServer.HttpInputItem"> | ||
4927 | <summary> | ||
4928 | represents a HTTP input item. Each item can have multiple sub items, a sub item | ||
4929 | is made in a HTML form by using square brackets | ||
4930 | </summary> | ||
4931 | <example> | 5085 | <example> |
4932 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: | 5086 | <code> |
4933 | Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); | 5087 | // Example using response body. |
4934 | </example> | 5088 | class MyModule : HttpModule |
4935 | <remarks> | 5089 | { |
4936 | All names in a form SHOULD be in lowercase. | 5090 | public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) |
4937 | </remarks> | 5091 | { |
4938 | </member> | 5092 | StreamWriter writer = new StreamWriter(response.Body); |
4939 | <member name="F:HttpServer.HttpInputItem.Empty"> | 5093 | writer.WriteLine("Hello dear World!"); |
4940 | <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary> | 5094 | writer.Flush(); |
4941 | </member> | ||
4942 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> | ||
4943 | <summary> | ||
4944 | Initializes an input item setting its name/identifier and value | ||
4945 | </summary> | ||
4946 | <param name="name">Parameter name/id</param> | ||
4947 | <param name="value">Parameter value</param> | ||
4948 | </member> | ||
4949 | <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)"> | ||
4950 | <summary>Creates a deep copy of the item specified</summary> | ||
4951 | <param name="item">The item to copy</param> | ||
4952 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> | ||
4953 | </member> | ||
4954 | <member name="M:HttpServer.HttpInputItem.Add(System.String)"> | ||
4955 | <summary> | ||
4956 | Add another value to this item | ||
4957 | </summary> | ||
4958 | <param name="value">Value to add.</param> | ||
4959 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
4960 | </member> | ||
4961 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> | ||
4962 | <summary> | ||
4963 | checks if a sub-item exists (and has a value). | ||
4964 | </summary> | ||
4965 | <param name="name">name in lower case</param> | ||
4966 | <returns>true if the sub-item exists and has a value; otherwise false.</returns> | ||
4967 | </member> | ||
4968 | <member name="M:HttpServer.HttpInputItem.ToString"> | ||
4969 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> | ||
4970 | </member> | ||
4971 | <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)"> | ||
4972 | <summary> | ||
4973 | Outputs the string in a formatted manner | ||
4974 | </summary> | ||
4975 | <param name="prefix">A prefix to append, used internally</param> | ||
4976 | <param name="asQuerySting">produce a query string</param> | ||
4977 | </member> | ||
4978 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> | ||
4979 | <summary> | ||
4980 | Add a sub item. | ||
4981 | </summary> | ||
4982 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> | ||
4983 | <param name="value">Value to add.</param> | ||
4984 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | ||
4985 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
4986 | </member> | ||
4987 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | ||
4988 | <summary> | ||
4989 | Returns an enumerator that iterates through the collection. | ||
4990 | </summary> | ||
4991 | |||
4992 | <returns> | ||
4993 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | ||
4994 | </returns> | ||
4995 | <filterpriority>1</filterpriority> | ||
4996 | </member> | ||
4997 | <member name="M:HttpServer.HttpInputItem.GetEnumerator"> | ||
4998 | <summary> | ||
4999 | Returns an enumerator that iterates through a collection. | ||
5000 | </summary> | ||
5001 | 5095 | ||
5002 | <returns> | 5096 | // return true to tell webserver that we've handled the url |
5003 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | 5097 | return true; |
5004 | </returns> | 5098 | } |
5005 | <filterpriority>2</filterpriority> | 5099 | } |
5006 | </member> | 5100 | </code> |
5007 | <member name="M:HttpServer.HttpInputItem.ToString(System.String)"> | 5101 | </example> |
5008 | <summary> | 5102 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. |
5009 | Outputs the string in a formatted manner | ||
5010 | </summary> | ||
5011 | <param name="prefix">A prefix to append, used internally</param> | ||
5012 | <returns></returns> | ||
5013 | </member> | ||
5014 | <member name="P:HttpServer.HttpInputItem.Count"> | ||
5015 | <summary> | ||
5016 | Number of values | ||
5017 | </summary> | ||
5018 | </member> | 5103 | </member> |
5019 | <member name="P:HttpServer.HttpInputItem.Item(System.String)"> | 5104 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
5020 | <summary> | 5105 | <summary> |
5021 | Get a sub item | 5106 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
5022 | </summary> | 5107 | </summary> |
5023 | <param name="name">name in lower case.</param> | 5108 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> |
5024 | <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns> | 5109 | <param name="request">Contains information of what the client want to receive.</param> |
5110 | <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception> | ||
5025 | </member> | 5111 | </member> |
5026 | <member name="P:HttpServer.HttpInputItem.Name"> | 5112 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)"> |
5027 | <summary> | 5113 | <summary> |
5028 | Name of item (in lower case). | 5114 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
5029 | </summary> | 5115 | </summary> |
5116 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | ||
5117 | <param name="httpVersion">Version of HTTP protocol that the client uses.</param> | ||
5118 | <param name="connectionType">Type of HTTP connection used.</param> | ||
5030 | </member> | 5119 | </member> |
5031 | <member name="P:HttpServer.HttpInputItem.Value"> | 5120 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> |
5032 | <summary> | 5121 | <summary> |
5033 | Returns the first value, or null if no value exist. | 5122 | Add another header to the document. |
5034 | </summary> | 5123 | </summary> |
5124 | <param name="name">Name of the header, case sensitive, use lower cases.</param> | ||
5125 | <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> | ||
5126 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
5127 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | ||
5128 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | ||
5035 | </member> | 5129 | </member> |
5036 | <member name="P:HttpServer.HttpInputItem.LastValue"> | 5130 | <member name="M:HttpServer.HttpResponse.Send"> |
5037 | <summary> | 5131 | <summary> |
5038 | Returns the last value, or null if no value exist. | 5132 | Send headers and body to the browser. |
5039 | </summary> | 5133 | </summary> |
5134 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> | ||
5040 | </member> | 5135 | </member> |
5041 | <member name="P:HttpServer.HttpInputItem.Values"> | 5136 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> |
5042 | <summary> | 5137 | <summary> |
5043 | Returns the list with values. | 5138 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. |
5044 | </summary> | 5139 | </summary> |
5140 | <param name="buffer"></param> | ||
5141 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | ||
5142 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
5143 | <param name="offset">offset of first byte to send</param> | ||
5144 | <param name="count">number of bytes to send.</param> | ||
5145 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
5146 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
5147 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
5148 | is recommended for larger files to keep the memory usage low.</remarks> | ||
5045 | </member> | 5149 | </member> |
5046 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> | 5150 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> |
5047 | <summary> | 5151 | <summary> |
5048 | 5152 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. | |
5049 | </summary> | 5153 | </summary> |
5050 | <param name="name">name in lower case</param> | 5154 | <param name="buffer"></param> |
5051 | <returns></returns> | 5155 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
5156 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
5157 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
5158 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
5159 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
5160 | is recommended for larger files to keep the memory usage low.</remarks> | ||
5052 | </member> | 5161 | </member> |
5053 | <member name="T:HttpServer.HttpHelper"> | 5162 | <member name="M:HttpServer.HttpResponse.SendHeaders"> |
5054 | <summary> | 5163 | <summary> |
5055 | Generic helper functions for HTTP | 5164 | Send headers to the client. |
5056 | </summary> | 5165 | </summary> |
5166 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
5167 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> | ||
5168 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
5169 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> | ||
5057 | </member> | 5170 | </member> |
5058 | <member name="F:HttpServer.HttpHelper.HTTP10"> | 5171 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> |
5059 | <summary> | 5172 | <summary> |
5060 | Version string for HTTP v1.0 | 5173 | Redirect client to somewhere else using the 302 status code. |
5061 | </summary> | 5174 | </summary> |
5175 | <param name="uri">Destination of the redirect</param> | ||
5176 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
5177 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | ||
5178 | action.</remarks> | ||
5062 | </member> | 5179 | </member> |
5063 | <member name="F:HttpServer.HttpHelper.HTTP11"> | 5180 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> |
5064 | <summary> | 5181 | <summary> |
5065 | Version string for HTTP v1.1 | 5182 | redirect to somewhere |
5066 | </summary> | 5183 | </summary> |
5184 | <param name="url">where the redirect should go</param> | ||
5185 | <remarks> | ||
5186 | No body are allowed when doing redirects. | ||
5187 | </remarks> | ||
5067 | </member> | 5188 | </member> |
5068 | <member name="F:HttpServer.HttpHelper.EmptyUri"> | 5189 | <member name="P:HttpServer.HttpResponse.Body"> |
5069 | <summary> | 5190 | <summary> |
5070 | An empty URI | 5191 | The body stream is used to cache the body contents |
5192 | before sending everything to the client. It's the simplest | ||
5193 | way to serve documents. | ||
5071 | </summary> | 5194 | </summary> |
5072 | </member> | 5195 | </member> |
5073 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> | 5196 | <member name="P:HttpServer.HttpResponse.Chunked"> |
5074 | <summary> | 5197 | <summary> |
5075 | Parses a query string. | 5198 | The chunked encoding modifies the body of a message in order to |
5199 | transfer it as a series of chunks, each with its own size indicator, | ||
5200 | followed by an OPTIONAL trailer containing entity-header fields. This | ||
5201 | allows dynamically produced content to be transferred along with the | ||
5202 | information necessary for the recipient to verify that it has | ||
5203 | received the full message. | ||
5076 | </summary> | 5204 | </summary> |
5077 | <param name="queryString">Query string (URI encoded)</param> | ||
5078 | <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns> | ||
5079 | <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception> | ||
5080 | <exception cref="T:System.FormatException">If string cannot be parsed.</exception> | ||
5081 | </member> | 5205 | </member> |
5082 | <member name="T:HttpServer.Parser.RequestLineEventArgs"> | 5206 | <member name="P:HttpServer.HttpResponse.ProtocolVersion"> |
5083 | <summary> | 5207 | <summary> |
5084 | Used when the request line have been successfully parsed. | 5208 | Defines the version of the HTTP Response for applications where it's required |
5209 | for this to be forced. | ||
5085 | </summary> | 5210 | </summary> |
5086 | </member> | 5211 | </member> |
5087 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)"> | 5212 | <member name="P:HttpServer.HttpResponse.Connection"> |
5088 | <summary> | 5213 | <summary> |
5089 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. | 5214 | Kind of connection |
5090 | </summary> | 5215 | </summary> |
5091 | <param name="httpMethod">The HTTP method.</param> | ||
5092 | <param name="uriPath">The URI path.</param> | ||
5093 | <param name="httpVersion">The HTTP version.</param> | ||
5094 | </member> | 5216 | </member> |
5095 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor"> | 5217 | <member name="P:HttpServer.HttpResponse.Encoding"> |
5096 | <summary> | 5218 | <summary> |
5097 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. | 5219 | Encoding to use when sending stuff to the client. |
5098 | </summary> | 5220 | </summary> |
5221 | <remarks>Default is UTF8</remarks> | ||
5099 | </member> | 5222 | </member> |
5100 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod"> | 5223 | <member name="P:HttpServer.HttpResponse.KeepAlive"> |
5101 | <summary> | 5224 | <summary> |
5102 | Gets or sets http method. | 5225 | Number of seconds to keep connection alive |
5103 | </summary> | 5226 | </summary> |
5104 | <remarks> | 5227 | <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks> |
5105 | Should be one of the methods declared in <see cref="T:HttpServer.Method"/>. | ||
5106 | </remarks> | ||
5107 | </member> | 5228 | </member> |
5108 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion"> | 5229 | <member name="P:HttpServer.HttpResponse.Status"> |
5109 | <summary> | 5230 | <summary> |
5110 | Gets or sets the version of the HTTP protocol that the client want to use. | 5231 | Status code that is sent to the client. |
5111 | </summary> | 5232 | </summary> |
5233 | <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks> | ||
5112 | </member> | 5234 | </member> |
5113 | <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath"> | 5235 | <member name="P:HttpServer.HttpResponse.Reason"> |
5114 | <summary> | 5236 | <summary> |
5115 | Gets or sets requested URI path. | 5237 | Information about why a specific status code was used. |
5116 | </summary> | 5238 | </summary> |
5117 | </member> | 5239 | </member> |
5118 | <member name="T:HttpServer.Method"> | 5240 | <member name="P:HttpServer.HttpResponse.ContentLength"> |
5119 | <summary> | 5241 | <summary> |
5120 | Contains all HTTP Methods (according to the HTTP 1.1 specification) | 5242 | Size of the body. MUST be specified before sending the header, |
5121 | <para> | 5243 | unless property Chunked is set to true. |
5122 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | ||
5123 | </para> | ||
5124 | </summary> | 5244 | </summary> |
5125 | </member> | 5245 | </member> |
5126 | <member name="F:HttpServer.Method.Delete"> | 5246 | <member name="P:HttpServer.HttpResponse.ContentType"> |
5127 | <summary> | 5247 | <summary> |
5128 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. | 5248 | Kind of content in the body |
5129 | </summary> | 5249 | </summary> |
5130 | <remarks> | 5250 | <remarks>Default type is "text/html"</remarks> |
5131 | <para> | ||
5132 | This method MAY be overridden by human intervention (or other means) on the origin server. | ||
5133 | The client cannot be guaranteed that the operation has been carried out, even if the status code | ||
5134 | returned from the origin server indicates that the action has been completed successfully. | ||
5135 | </para> | ||
5136 | <para> | ||
5137 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | ||
5138 | it intends to delete the resource or move it to an inaccessible location. | ||
5139 | </para> | ||
5140 | <para> | ||
5141 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | ||
5142 | 202 (Accepted) if the action has not yet been enacted, | ||
5143 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | ||
5144 | </para> | ||
5145 | <para> | ||
5146 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | ||
5147 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | ||
5148 | </para> | ||
5149 | </remarks> | ||
5150 | </member> | 5251 | </member> |
5151 | <member name="F:HttpServer.Method.Get"> | 5252 | <member name="P:HttpServer.HttpResponse.HeadersSent"> |
5152 | <summary> | 5253 | <summary> |
5153 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. | 5254 | Headers have been sent to the client- |
5154 | </summary> | 5255 | </summary> |
5155 | <remarks> | 5256 | <remarks>You can not send any additional headers if they have already been sent.</remarks> |
5156 | <para> | ||
5157 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | ||
5158 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | ||
5159 | </para> | ||
5160 | <para> | ||
5161 | The semantics of the GET method change to a "conditional GET" if the request message includes an | ||
5162 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | ||
5163 | A conditional GET method requests that the entity be transferred only under the circumstances described | ||
5164 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | ||
5165 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | ||
5166 | data already held by the client. | ||
5167 | </para> | ||
5168 | </remarks> | ||
5169 | </member> | 5257 | </member> |
5170 | <member name="F:HttpServer.Method.Header"> | 5258 | <member name="P:HttpServer.HttpResponse.Sent"> |
5171 | <summary> | 5259 | <summary> |
5172 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 5260 | The whole response have been sent. |
5173 | </summary> | 5261 | </summary> |
5174 | <remarks> | ||
5175 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | ||
5176 | information sent in response to a GET request. This method can be used for obtaining meta information about | ||
5177 | the entity implied by the request without transferring the entity-body itself. | ||
5178 | |||
5179 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | ||
5180 | </remarks> | ||
5181 | </member> | 5262 | </member> |
5182 | <member name="F:HttpServer.Method.Options"> | 5263 | <member name="P:HttpServer.HttpResponse.Cookies"> |
5183 | <summary> | 5264 | <summary> |
5184 | <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> | 5265 | Cookies that should be created/changed. |
5185 | </summary> | 5266 | </summary> |
5186 | <remarks> | ||
5187 | <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> | ||
5188 | </remarks> | ||
5189 | </member> | 5267 | </member> |
5190 | <member name="F:HttpServer.Method.Post"> | 5268 | <member name="T:HttpServer.HttpContextFactory"> |
5191 | <summary> | 5269 | <summary> |
5192 | The POST method is used to request that the origin server accept the entity enclosed | 5270 | Used to create and reuse contexts. |
5193 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | ||
5194 | </summary> | 5271 | </summary> |
5195 | <remarks> | ||
5196 | POST is designed to allow a uniform method to cover the following functions: | ||
5197 | <list type="bullet"> | ||
5198 | <item> | ||
5199 | Annotation of existing resources; | ||
5200 | </item><item> | ||
5201 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | ||
5202 | </item><item> | ||
5203 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | ||
5204 | </item><item> | ||
5205 | Extending a database through an append operation. | ||
5206 | </item> | ||
5207 | </list> | ||
5208 | <para> | ||
5209 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | ||
5210 | contain an entity which describes the status of the request and refers to the new resource, and a | ||
5211 | Location header (see section 14.30). | ||
5212 | </para> | ||
5213 | <para> | ||
5214 | The action performed by the POST method might not result in a resource that can be identified by a URI. | ||
5215 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | ||
5216 | whether or not the response includes an entity that describes the result. | ||
5217 | </para><para> | ||
5218 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | ||
5219 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | ||
5220 | to retrieve a cacheable resource. | ||
5221 | </para> | ||
5222 | </remarks> | ||
5223 | </member> | 5272 | </member> |
5224 | <member name="F:HttpServer.Method.Put"> | 5273 | <member name="T:HttpServer.IHttpContextFactory"> |
5225 | <summary> | 5274 | <summary> |
5226 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. | 5275 | Used to create <see cref="T:HttpServer.IHttpClientContext"/>es. |
5227 | </summary> | 5276 | </summary> |
5228 | <remarks> | ||
5229 | <list type="bullet"> | ||
5230 | <item> | ||
5231 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a | ||
5232 | modified version of the one residing on the origin server. | ||
5233 | </item><item> | ||
5234 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | ||
5235 | resource by the requesting user agent, the origin server can create the resource with that URI. | ||
5236 | </item><item> | ||
5237 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | ||
5238 | </item><item> | ||
5239 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | ||
5240 | indicate successful completion of the request. | ||
5241 | </item><item> | ||
5242 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | ||
5243 | given that reflects the nature of the problem. | ||
5244 | </item> | ||
5245 | </list> | ||
5246 | <para> | ||
5247 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | ||
5248 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | ||
5249 | </para> | ||
5250 | </remarks> | ||
5251 | </member> | 5277 | </member> |
5252 | <member name="F:HttpServer.Method.Trace"> | 5278 | <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
5253 | <summary> | 5279 | <summary> |
5254 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | 5280 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
5255 | </summary> | 5281 | </summary> |
5282 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | ||
5283 | <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | ||
5256 | </member> | 5284 | </member> |
5257 | <member name="T:HttpServer.Methods"> | 5285 | <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
5258 | <summary> | 5286 | <summary> |
5259 | Contains all HTTP Methods (according to the HTTP 1.1 specification) | 5287 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
5260 | <para> | ||
5261 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | ||
5262 | </para> | ||
5263 | </summary> | 5288 | </summary> |
5289 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | ||
5290 | <param name="certificate">HTTPS certificate to use.</param> | ||
5291 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | ||
5292 | <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | ||
5264 | </member> | 5293 | </member> |
5265 | <member name="F:HttpServer.Methods.Delete"> | 5294 | <member name="E:HttpServer.IHttpContextFactory.RequestReceived"> |
5266 | <summary> | 5295 | <summary> |
5267 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. | 5296 | A request have been received from one of the contexts. |
5268 | </summary> | 5297 | </summary> |
5269 | <remarks> | ||
5270 | <para> | ||
5271 | This method MAY be overridden by human intervention (or other means) on the origin server. | ||
5272 | The client cannot be guaranteed that the operation has been carried out, even if the status code | ||
5273 | returned from the origin server indicates that the action has been completed successfully. | ||
5274 | </para> | ||
5275 | <para> | ||
5276 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | ||
5277 | it intends to delete the resource or move it to an inaccessible location. | ||
5278 | </para> | ||
5279 | <para> | ||
5280 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | ||
5281 | 202 (Accepted) if the action has not yet been enacted, | ||
5282 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | ||
5283 | </para> | ||
5284 | <para> | ||
5285 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | ||
5286 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | ||
5287 | </para> | ||
5288 | </remarks> | ||
5289 | </member> | 5298 | </member> |
5290 | <member name="F:HttpServer.Methods.Get"> | 5299 | <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)"> |
5291 | <summary> | 5300 | <summary> |
5292 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. | 5301 | Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class. |
5293 | </summary> | 5302 | </summary> |
5294 | <remarks> | 5303 | <param name="writer">The writer.</param> |
5295 | <para> | 5304 | <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param> |
5296 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | 5305 | <param name="factory">Used to create a request parser.</param> |
5297 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | ||
5298 | </para> | ||
5299 | <para> | ||
5300 | The semantics of the GET method change to a "conditional GET" if the request message includes an | ||
5301 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | ||
5302 | A conditional GET method requests that the entity be transferred only under the circumstances described | ||
5303 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | ||
5304 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | ||
5305 | data already held by the client. | ||
5306 | </para> | ||
5307 | </remarks> | ||
5308 | </member> | 5306 | </member> |
5309 | <member name="F:HttpServer.Methods.Header"> | 5307 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
5310 | <summary> | 5308 | <summary> |
5311 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 5309 | Create a new context. |
5312 | </summary> | 5310 | </summary> |
5313 | <remarks> | 5311 | <param name="isSecured">true if socket is running HTTPS.</param> |
5314 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | 5312 | <param name="endPoint">Client that connected</param> |
5315 | information sent in response to a GET request. This method can be used for obtaining meta information about | 5313 | <param name="stream">Network/SSL stream.</param> |
5316 | the entity implied by the request without transferring the entity-body itself. | 5314 | <returns>A context.</returns> |
5317 | |||
5318 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | ||
5319 | </remarks> | ||
5320 | </member> | 5315 | </member> |
5321 | <member name="F:HttpServer.Methods.Options"> | 5316 | <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
5322 | <summary> | 5317 | <summary> |
5323 | <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> | 5318 | Create a new context. |
5324 | </summary> | 5319 | </summary> |
5325 | <remarks> | 5320 | <param name="isSecured">true if HTTPS is used.</param> |
5326 | <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> | 5321 | <param name="endPoint">Remote client</param> |
5327 | </remarks> | 5322 | <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param> |
5323 | <returns>A new context (always).</returns> | ||
5328 | </member> | 5324 | </member> |
5329 | <member name="F:HttpServer.Methods.Post"> | 5325 | <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
5330 | <summary> | 5326 | <summary> |
5331 | The POST method is used to request that the origin server accept the entity enclosed | 5327 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
5332 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | ||
5333 | </summary> | 5328 | </summary> |
5334 | <remarks> | 5329 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
5335 | POST is designed to allow a uniform method to cover the following functions: | 5330 | <param name="certificate">HTTPS certificate to use.</param> |
5336 | <list type="bullet"> | 5331 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> |
5337 | <item> | 5332 | <returns> |
5338 | Annotation of existing resources; | 5333 | A created <see cref="T:HttpServer.IHttpClientContext"/>. |
5339 | </item><item> | 5334 | </returns> |
5340 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | ||
5341 | </item><item> | ||
5342 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | ||
5343 | </item><item> | ||
5344 | Extending a database through an append operation. | ||
5345 | </item> | ||
5346 | </list> | ||
5347 | <para> | ||
5348 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | ||
5349 | contain an entity which describes the status of the request and refers to the new resource, and a | ||
5350 | Location header (see section 14.30). | ||
5351 | </para> | ||
5352 | <para> | ||
5353 | The action performed by the POST method might not result in a resource that can be identified by a URI. | ||
5354 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | ||
5355 | whether or not the response includes an entity that describes the result. | ||
5356 | </para><para> | ||
5357 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | ||
5358 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | ||
5359 | to retrieve a cacheable resource. | ||
5360 | </para> | ||
5361 | </remarks> | ||
5362 | </member> | 5335 | </member> |
5363 | <member name="F:HttpServer.Methods.Put"> | 5336 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
5364 | <summary> | 5337 | <summary> |
5365 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. | 5338 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
5366 | </summary> | 5339 | </summary> |
5367 | <remarks> | 5340 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
5368 | <list type="bullet"> | 5341 | <returns> |
5369 | <item> | 5342 | A creates <see cref="T:HttpServer.IHttpClientContext"/>. |
5370 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a | 5343 | </returns> |
5371 | modified version of the one residing on the origin server. | ||
5372 | </item><item> | ||
5373 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | ||
5374 | resource by the requesting user agent, the origin server can create the resource with that URI. | ||
5375 | </item><item> | ||
5376 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | ||
5377 | </item><item> | ||
5378 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | ||
5379 | indicate successful completion of the request. | ||
5380 | </item><item> | ||
5381 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | ||
5382 | given that reflects the nature of the problem. | ||
5383 | </item> | ||
5384 | </list> | ||
5385 | <para> | ||
5386 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | ||
5387 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | ||
5388 | </para> | ||
5389 | </remarks> | ||
5390 | </member> | 5344 | </member> |
5391 | <member name="F:HttpServer.Methods.Trace"> | 5345 | <member name="P:HttpServer.HttpContextFactory.UseTraceLogs"> |
5392 | <summary> | 5346 | <summary> |
5393 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | 5347 | True if detailed trace logs should be written. |
5394 | </summary> | 5348 | </summary> |
5395 | </member> | 5349 | </member> |
5396 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> | 5350 | <member name="E:HttpServer.HttpContextFactory.RequestReceived"> |
5397 | <summary> | 5351 | <summary> |
5398 | Serves files that are stored in embedded resources. | 5352 | A request have been received from one of the contexts. |
5399 | </summary> | 5353 | </summary> |
5400 | </member> | 5354 | </member> |
5401 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> | 5355 | <member name="T:HttpServer.ReusableSocketNetworkStream"> |
5402 | <summary> | 5356 | <summary> |
5403 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. | 5357 | Custom network stream to mark sockets as reusable when disposing the stream. |
5404 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
5405 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
5406 | </summary> | 5358 | </summary> |
5407 | </member> | 5359 | </member> |
5408 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)"> | 5360 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)"> |
5409 | <summary> | 5361 | <summary> |
5410 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. | 5362 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />. |
5411 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
5412 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
5413 | </summary> | 5363 | </summary> |
5414 | <param name="logWriter">The log writer to use when logging events</param> | 5364 | <param name="socket"> |
5365 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
5366 | </param> | ||
5367 | <exception cref="T:System.ArgumentNullException"> | ||
5368 | The <paramref name="socket" /> parameter is null. | ||
5369 | </exception> | ||
5370 | <exception cref="T:System.IO.IOException"> | ||
5371 | The <paramref name="socket" /> parameter is not connected. | ||
5372 | -or- | ||
5373 | 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" />. | ||
5374 | -or- | ||
5375 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
5376 | </exception> | ||
5415 | </member> | 5377 | </member> |
5416 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> | 5378 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)"> |
5417 | <summary> | 5379 | <summary> |
5418 | Mimtypes that this class can handle per default | 5380 | 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. |
5419 | </summary> | 5381 | </summary> |
5382 | <param name="socket"> | ||
5383 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
5384 | </param> | ||
5385 | <param name="ownsSocket"> | ||
5386 | 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. | ||
5387 | </param> | ||
5388 | <exception cref="T:System.ArgumentNullException"> | ||
5389 | The <paramref name="socket" /> parameter is null. | ||
5390 | </exception> | ||
5391 | <exception cref="T:System.IO.IOException"> | ||
5392 | The <paramref name="socket" /> parameter is not connected. | ||
5393 | -or- | ||
5394 | 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" />. | ||
5395 | -or- | ||
5396 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
5397 | </exception> | ||
5420 | </member> | 5398 | </member> |
5421 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> | 5399 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)"> |
5422 | <summary> | 5400 | <summary> |
5423 | Loads resources from a namespace in the given assembly to an uri | 5401 | 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. |
5424 | </summary> | 5402 | </summary> |
5425 | <param name="toUri">The uri to map the resources to</param> | 5403 | <param name="socket"> |
5426 | <param name="fromAssembly">The assembly in which the resources reside</param> | 5404 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
5427 | <param name="fromNamespace">The namespace from which to load the resources</param> | 5405 | </param> |
5428 | <usage> | 5406 | <param name="access"> |
5429 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | 5407 | 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" />. |
5430 | 5408 | </param> | |
5431 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css | 5409 | <exception cref="T:System.ArgumentNullException"> |
5432 | </usage> | 5410 | The <paramref name="socket" /> parameter is null. |
5433 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | 5411 | </exception> |
5412 | <exception cref="T:System.IO.IOException"> | ||
5413 | The <paramref name="socket" /> parameter is not connected. | ||
5414 | -or- | ||
5415 | 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" />. | ||
5416 | -or- | ||
5417 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
5418 | </exception> | ||
5434 | </member> | 5419 | </member> |
5435 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> | 5420 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)"> |
5436 | <summary> | 5421 | <summary> |
5437 | Returns true if the module can handle the request | 5422 | 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. |
5438 | </summary> | 5423 | </summary> |
5424 | <param name="socket"> | ||
5425 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
5426 | </param> | ||
5427 | <param name="access"> | ||
5428 | 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" />. | ||
5429 | </param> | ||
5430 | <param name="ownsSocket"> | ||
5431 | 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. | ||
5432 | </param> | ||
5433 | <exception cref="T:System.ArgumentNullException"> | ||
5434 | The <paramref name="socket" /> parameter is null. | ||
5435 | </exception> | ||
5436 | <exception cref="T:System.IO.IOException"> | ||
5437 | The <paramref name="socket" /> parameter is not connected. | ||
5438 | -or- | ||
5439 | 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" />. | ||
5440 | -or- | ||
5441 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
5442 | </exception> | ||
5439 | </member> | 5443 | </member> |
5440 | <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 5444 | <member name="M:HttpServer.ReusableSocketNetworkStream.Close"> |
5441 | <summary> | 5445 | <summary> |
5442 | Method that process the url | 5446 | Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. |
5443 | </summary> | 5447 | </summary> |
5444 | <param name="request">Information sent by the browser about the request</param> | ||
5445 | <param name="response">Information that is being sent back to the client.</param> | ||
5446 | <param name="session">Session used to </param> | ||
5447 | <returns>true if this module handled the request.</returns> | ||
5448 | </member> | 5448 | </member> |
5449 | <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"> | 5449 | <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)"> |
5450 | <summary> | 5450 | <summary> |
5451 | List with all mime-type that are allowed. | 5451 | Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources. |
5452 | </summary> | 5452 | </summary> |
5453 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | 5453 | <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> |
5454 | </member> | 5454 | </member> |
5455 | </members> | 5455 | </members> |
5456 | </doc> | 5456 | </doc> |