aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin/HttpServer_OpenSim.xml
diff options
context:
space:
mode:
authorTeravus Ovares2009-03-27 22:13:09 +0000
committerTeravus Ovares2009-03-27 22:13:09 +0000
commit52c482a7a7b297715cbcd7460edb1ad07d7a06c6 (patch)
tree67fbfb7d080f5c6d5575c1be39d8c92a46ab6360 /bin/HttpServer_OpenSim.xml
parent* refactor: call some EventManager triggers directly rather than through scene (diff)
downloadopensim-SC_OLD-52c482a7a7b297715cbcd7460edb1ad07d7a06c6.zip
opensim-SC_OLD-52c482a7a7b297715cbcd7460edb1ad07d7a06c6.tar.gz
opensim-SC_OLD-52c482a7a7b297715cbcd7460edb1ad07d7a06c6.tar.bz2
opensim-SC_OLD-52c482a7a7b297715cbcd7460edb1ad07d7a06c6.tar.xz
* This updates LibOMV to the current release 0.6.0 on March 19 2009
* Important: HttpServer.dll was changed to HttpServer_OpenSim.dll so that the HttpServer references do not conflict if you've copied the OpenMetaverse.Http.dll and requirements to the OpenSimulator bin folder. This means that if you reference HttpServer.dll in any projects, you will need to change the reference to HttpServer_OpenSim.dll. It still uses the Same HttpServer namespace though.
Diffstat (limited to '')
-rw-r--r--bin/HttpServer_OpenSim.xml7019
1 files changed, 7019 insertions, 0 deletions
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml
new file mode 100644
index 0000000..a9ac538
--- /dev/null
+++ b/bin/HttpServer_OpenSim.xml
@@ -0,0 +1,7019 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>HttpServer_OpenSim</name>
5 </assembly>
6 <members>
7 <member name="T:HttpServer.ResponseCookies">
8 <summary>
9 Cookies that should be set.
10 </summary>
11 </member>
12 <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)">
13 <summary>
14 Adds a cookie in the collection.
15 </summary>
16 <param name="cookie">cookie to add</param>
17 <exception cref="T:System.ArgumentNullException">cookie is null</exception>
18 </member>
19 <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)">
20 <summary>
21 Copy a request cookie
22 </summary>
23 <param name="cookie"></param>
24 <param name="expires">When the cookie should expire</param>
25 </member>
26 <member name="M:HttpServer.ResponseCookies.GetEnumerator">
27 <summary>
28 Gets a collection enumerator on the cookie list.
29 </summary>
30 <returns>collection enumerator</returns>
31 </member>
32 <member name="M:HttpServer.ResponseCookies.Clear">
33 <summary>
34 Remove all cookies
35 </summary>
36 </member>
37 <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator">
38 <summary>
39 Returns an enumerator that iterates through the collection.
40 </summary>
41
42 <returns>
43 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
44 </returns>
45 <filterpriority>1</filterpriority>
46 </member>
47 <member name="P:HttpServer.ResponseCookies.Count">
48 <summary>
49 Gets the count of cookies in the collection.
50 </summary>
51 </member>
52 <member name="P:HttpServer.ResponseCookies.Item(System.String)">
53 <summary>
54 Gets the cookie of a given identifier (null if not existing).
55 </summary>
56 </member>
57 <member name="T:HttpServer.Rendering.Haml.HamlGenerator">
58 <summary>
59 Generates C#/HTML from HAML code.
60 </summary>
61 <remarks>HAML documentation: http://haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html</remarks>
62 </member>
63 <member name="T:HttpServer.Rendering.ITemplateGenerator">
64 <summary>
65 A code generator is used to convert template code to something that we can
66 work with, as HTML or c# code.
67 </summary>
68 <seealso cref="T:HttpServer.Rendering.TemplateManager"/>
69 </member>
70 <member name="M:HttpServer.Rendering.ITemplateGenerator.GenerateCode(System.IO.TextWriter)">
71 <summary>
72 Generate C# code from the template.
73 </summary>
74 <param name="writer">A <see cref="T:System.IO.TextWriter"/> that the generated code will be written to.</param>
75 <exception cref="T:System.InvalidOperationException">If the template have not been parsed first.</exception>
76 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If template is incorrect</exception>
77 </member>
78 <member name="M:HttpServer.Rendering.ITemplateGenerator.Parse(System.String)">
79 <summary>
80 Parse a file and convert into to our own template object code.
81 </summary>
82 <param name="fullPath">Path and filename to a template</param>
83 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
84 <exception cref="T:System.IO.FileNotFoundException"></exception>
85 <exception cref="T:System.IO.DirectoryNotFoundException"></exception>
86 <exception cref="T:System.UnauthorizedAccessException"></exception>
87 <exception cref="T:System.IO.PathTooLongException"></exception>
88 <exception cref="T:System.NotSupportedException"></exception>
89 </member>
90 <member name="M:HttpServer.Rendering.ITemplateGenerator.Parse(System.IO.TextReader)">
91 <summary>
92 Parse a file and convert into to our own template object code.
93 </summary>
94 <param name="reader">A <see cref="T:System.IO.TextReader"/> containing our template</param>
95 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
96 </member>
97 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.#ctor">
98 <summary>
99 Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.HamlGenerator"/> class.
100 </summary>
101 </member>
102 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.#ctor(HttpServer.ILogWriter)">
103 <summary>
104 Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.HamlGenerator"/> class.
105 </summary>
106 <param name="logWriter">The log writer.</param>
107 </member>
108 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckIntendation(HttpServer.Rendering.Haml.LineInfo,System.Int32@,System.Int32@)">
109 <summary>
110 Check and validate indentation
111 </summary>
112 <param name="line">line to check</param>
113 <param name="ws">number of white spaces</param>
114 <param name="intendation">number of indentations (2 white spaces = 1 intend, 1 tab = 1 intend)</param>
115 </member>
116 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckIntendation(HttpServer.Rendering.Haml.LineInfo)">
117 <summary>
118 Check indentation
119 </summary>
120 <param name="line">fills line with intend info</param>
121 </member>
122 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckMultiLine(HttpServer.Rendering.Haml.LineInfo,HttpServer.Rendering.Haml.LineInfo)">
123 <summary>
124 check if current line is a multi line
125 </summary>
126 <param name="prevLine">previous line</param>
127 <param name="line">current line</param>
128 </member>
129 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GenerateHtml(System.IO.TextWriter)">
130 <summary>
131 Generate HTML code from the template.
132 Code is encapsulated in &lt;% and &lt;%=
133 </summary>
134 <param name="writer">A <see cref="T:System.IO.TextWriter"/> that the generated code will be written to.</param>
135 <exception cref="T:System.InvalidOperationException">If the template have not been parsed first.</exception>
136 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If template is incorrect</exception>
137 </member>
138 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GetWord(System.String,System.Int32)">
139 <summary>
140 Get the first word (letters and digits only) from the specified offset.
141 </summary>
142 <param name="data"></param>
143 <param name="offset"></param>
144 <returns></returns>
145 </member>
146 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.HandlePlacement">
147 <summary>
148 Check indentation / node placement
149 </summary>
150 </member>
151 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.ParseNode(HttpServer.Rendering.Haml.LineInfo,HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.Nodes.TextNode)">
152 <summary>
153 Parse a node
154 todo: improve doc
155 </summary>
156 <param name="theLine"></param>
157 <param name="prototypes"></param>
158 <param name="parent"></param>
159 <param name="textNode"></param>
160 </member>
161 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PreParse(System.IO.TextReader)">
162 <summary>
163 PreParse goes through the text add handles indentation
164 and all multi line cases.
165 </summary>
166 <param name="reader">Reader containing the text</param>
167 </member>
168 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PrintDocument">
169 <summary>
170 print the entire document
171 </summary>
172 </member>
173 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PrintNode(HttpServer.Rendering.Haml.LineInfo)">
174 <summary>
175 Print line information to the console
176 </summary>
177 <param name="line"></param>
178 </member>
179 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.ReadLine">
180 <summary>
181 Read next line from file
182 </summary>
183 <returns>true if line could be read; false if EOF.</returns>
184 </member>
185 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Spaces(System.Int32)">
186 <summary>
187 Generates a string with spaces.
188 </summary>
189 <param name="count">number of spaces.</param>
190 <returns>string of spaces.</returns>
191 </member>
192 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Parse(System.String)">
193 <summary>
194 Parse a file and convert into to our own template object code.
195 </summary>
196 <param name="fullPath">Path and filename to a template</param>
197 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
198 <exception cref="T:System.IO.FileNotFoundException"></exception>
199 <exception cref="T:System.IO.DirectoryNotFoundException"></exception>
200 <exception cref="T:System.UnauthorizedAccessException"></exception>
201 <exception cref="T:System.IO.PathTooLongException"></exception>
202 <exception cref="T:System.NotSupportedException"></exception>
203 <exception cref="T:System.ArgumentException"></exception>
204 </member>
205 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Parse(System.IO.TextReader)">
206 <summary>
207 Parse a file and convert into to our own template object code.
208 </summary>
209 <param name="reader">A <see cref="T:System.IO.TextReader"/> containing our template</param>
210 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
211 </member>
212 <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GenerateCode(System.IO.TextWriter)">
213 <summary>
214 Generate C# code from the template.
215 </summary>
216 <param name="writer">A <see cref="T:System.IO.TextWriter"/> that the generated code will be written to.</param>
217 <exception cref="T:System.InvalidOperationException">If the template have not been parsed first.</exception>
218 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If template is incorrect</exception>
219 </member>
220 <member name="P:HttpServer.Rendering.Haml.HamlGenerator.RootNode">
221 <summary>
222 Property to retrieve the root node for the latest parsed document
223 </summary>
224 </member>
225 <member name="T:HttpServer.Rules.RegexRedirectRule">
226 <summary>
227 Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules
228 a regular expression can be used to identify redirect urls and thier targets.
229 </summary>
230 <example>
231 <![CDATA[
232 new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase)
233 ]]>
234 </example>
235 </member>
236 <member name="T:HttpServer.Rules.RedirectRule">
237 <summary>
238 redirects from one url to another.
239 </summary>
240 </member>
241 <member name="T:HttpServer.Rules.IRule">
242 <summary>
243 Rules are used to perform operations before a request is being handled.
244 Rules can be used to create routing etc.
245 </summary>
246 </member>
247 <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
248 <summary>
249 Process the incoming request.
250 </summary>
251 <param name="request">incoming http request</param>
252 <param name="response">outgoing http response</param>
253 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
254 <remarks>
255 returning true means that no modules will get the request. Returning true is typically being done
256 for redirects.
257 </remarks>
258 <exception cref="T:System.ArgumentNullException">If request or response is null.</exception>
259 </member>
260 <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)">
261 <summary>
262 Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
263 </summary>
264 <param name="fromUrl">Absolute path (no servername)</param>
265 <param name="toUrl">Absolute path (no servername)</param>
266 <example>
267 server.Add(new RedirectRule("/", "/user/index"));
268 </example>
269 </member>
270 <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)">
271 <summary>
272 Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
273 </summary>
274 <param name="fromUrl">Absolute path (no servername)</param>
275 <param name="toUrl">Absolute path (no servername)</param>
276 <param name="shouldRedirect">true if request should be redirected, false if the request uri should be replaced.</param>
277 <example>
278 server.Add(new RedirectRule("/", "/user/index"));
279 </example>
280 </member>
281 <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
282 <summary>
283 Process the incoming request.
284 </summary>
285 <param name="request">incoming http request</param>
286 <param name="response">outgoing http response</param>
287 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
288 <remarks>
289 returning true means that no modules will get the request. Returning true is typically being done
290 for redirects.
291 </remarks>
292 </member>
293 <member name="P:HttpServer.Rules.RedirectRule.FromUrl">
294 <summary>
295 string to match request url with.
296 </summary>
297 <remarks>Is compared to request.Uri.AbsolutePath</remarks>
298 </member>
299 <member name="P:HttpServer.Rules.RedirectRule.ToUrl">
300 <summary>
301 Where to redirect.
302 </summary>
303 </member>
304 <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect">
305 <summary>
306 true if we should redirect.
307 </summary>
308 <remarks>
309 false means that the rule will replace
310 the current request uri with the new one from this class.
311 </remarks>
312 </member>
313 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)">
314 <summary>
315 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
316 </summary>
317 <param name="fromUrlExpression">Expression to match url</param>
318 <param name="toUrlExpression">Expression to generate url</param>
319 <example>
320 <![CDATA[
321 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}"));
322 Result of ie. /employee1 will then be /user/employee1
323 ]]>
324 </example>
325 </member>
326 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
327 <summary>
328 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
329 </summary>
330 <param name="fromUrlExpression">Expression to match url</param>
331 <param name="toUrlExpression">Expression to generate url</param>
332 <param name="options">Regular expression options to use, can be null</param>
333 <example>
334 <![CDATA[
335 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase));
336 Result of ie. /employee1 will then be /user/employee1
337 ]]>
338 </example>
339 </member>
340 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
341 <summary>
342 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
343 </summary>
344 <param name="fromUrlExpression">Expression to match url</param>
345 <param name="toUrlExpression">Expression to generate url</param>
346 <param name="options">Regular expression options to apply</param>
347 <param name="shouldRedirect">true if request should be redirected, false if the request uri should be replaced.</param>
348 <example>
349 <![CDATA[
350 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None));
351 Result of ie. /employee1 will then be /user/employee1
352 ]]>
353 </example>
354 </member>
355 <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
356 <summary>
357 Process the incoming request.
358 </summary>
359 <param name="request">incoming http request</param>
360 <param name="response">outgoing http response</param>
361 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
362 <remarks>
363 returning true means that no modules will get the request. Returning true is typically being done
364 for redirects.
365 </remarks>
366 <exception cref="T:System.ArgumentNullException">If request or response is null</exception>
367 </member>
368 <member name="T:HttpServer.Rendering.ITemplateLoader">
369 <summary>
370 Interface used to load templates from different sources.
371 </summary>
372 </member>
373 <member name="M:HttpServer.Rendering.ITemplateLoader.LoadTemplate(System.String)">
374 <summary>
375 Load a template into a <see cref="T:System.IO.TextReader"/> and return it.
376 </summary>
377 <param name="path">Relative path (and filename) to template.</param>
378 <returns>a <see cref="T:System.IO.TextReader"/> if file was found; otherwise null.</returns>
379 </member>
380 <member name="M:HttpServer.Rendering.ITemplateLoader.GetFiles(System.String,System.String)">
381 <summary>
382 Fetch all files from the resource that matches the specified arguments.
383 </summary>
384 <param name="path">Where the file should reside.</param>
385 <param name="filename">Files to check</param>
386 <returns>a list of files if found; or an empty array if no files are found.</returns>
387 </member>
388 <member name="M:HttpServer.Rendering.ITemplateLoader.CheckTemplate(HttpServer.Rendering.ITemplateInfo)">
389 <summary>
390 Check's whether a template should be reloaded or not.
391 </summary>
392 <param name="info">template information</param>
393 <returns>true if template is OK; false if it do not exist or are old.</returns>
394 </member>
395 <member name="M:HttpServer.Rendering.ITemplateLoader.HasTemplate(System.String)">
396 <summary>
397 Returns whether or not the loader has an instance of the file requested
398 </summary>
399 <param name="filename">The name of the template/file</param>
400 <returns>True if the loader can provide the file</returns>
401 </member>
402 <member name="T:HttpServer.Helpers.WebHelper">
403 <summary>
404 Webhelper provides helpers for common tasks in HTML.
405 </summary>
406 </member>
407 <member name="F:HttpServer.Helpers.WebHelper.JSImplementation">
408 <summary>
409 Used to let the website use different javascript libraries.
410 Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
411 </summary>
412 </member>
413 <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])">
414 <summary>
415 Creates a link that invokes through ajax.
416 </summary>
417 <param name="url">url to fetch</param>
418 <param name="title">link title</param>
419 <param name="options">
420 optional options in format "key, value, key, value".
421 Javascript options starts with ':'.
422 </param>
423 <returns>a link tag</returns>
424 <example>
425 WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
426 </example>
427 </member>
428 <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])">
429 <summary>
430 Builds a link that updates an element with the fetched ajax content.
431 </summary>
432 <param name="url">Url to fetch content from</param>
433 <param name="title">link title</param>
434 <param name="targetId">html element to update with the results of the ajax request.</param>
435 <param name="options">optional options in format "key, value, key, value"</param>
436 <returns>A link tag.</returns>
437 </member>
438 <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])">
439 <summary>
440 A link that pop ups a Dialog (overlay div)
441 </summary>
442 <param name="url">url to contents of dialog</param>
443 <param name="title">link title</param>
444 <param name="htmlAttributes">name/value of html attributes.</param>
445 <returns>A "a"-tag that popups a dialog when clicked</returns>
446 <example>
447 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
448 </example>
449 </member>
450 <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])">
451 <summary>
452 Create/Open a dialog box using ajax
453 </summary>
454 <param name="url"></param>
455 <param name="title"></param>
456 <param name="parameters"></param>
457 <returns></returns>
458 </member>
459 <member name="M:HttpServer.Helpers.WebHelper.CloseDialog">
460 <summary>
461 Close a javascript dialog window/div.
462 </summary>
463 <returns>javascript for closing a dialog.</returns>
464 <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/>
465 </member>
466 <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)">
467 <summary>
468 Create a &lt;form&gt; tag.
469 </summary>
470 <param name="name">name of form</param>
471 <param name="action">action to invoke on submit</param>
472 <param name="isAjax">form should be posted as ajax</param>
473 <returns>html code</returns>
474 <example>
475 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
476 </example>
477 </member>
478 <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])">
479 <summary>
480 Create a link tag.
481 </summary>
482 <param name="url">url to go to</param>
483 <param name="title">link title (text that is displayed)</param>
484 <param name="htmlAttributes">html attributes, name, value, name, value</param>
485 <returns>html code</returns>
486 <example>
487 WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
488 </example>
489 </member>
490 <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])">
491 <summary>
492 Build a link
493 </summary>
494 <param name="url">url to go to.</param>
495 <param name="title">title of link (displayed text)</param>
496 <param name="htmlAttributes">extra html attributes.</param>
497 <returns>a complete link</returns>
498 </member>
499 <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])">
500 <summary>
501 Build a link
502 </summary>
503 <param name="url">url to go to.</param>
504 <param name="title">title of link (displayed text)</param>
505 <param name="htmlAttributes">extra html attributes.</param>
506 <returns>a complete link</returns>
507 <param name="options">more options</param>
508 </member>
509 <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
510 <summary>
511 Obsolete
512 </summary>
513 <param name="name">Obsolete</param>
514 <param name="collection">Obsolete</param>
515 <param name="getIdTitle">Obsolete</param>
516 <param name="selectedValue">Obsolete</param>
517 <param name="firstEmpty">Obsolete</param>
518 <returns>Obsolete</returns>
519 </member>
520 <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
521 <summary>
522 Obsolete
523 </summary>
524 <param name="name">Obsolete</param>
525 <param name="id">Obsolete</param>
526 <param name="collection">Obsolete</param>
527 <param name="getIdTitle">Obsolete</param>
528 <param name="selectedValue">Obsolete</param>
529 <param name="firstEmpty">Obsolete</param>
530 <returns>Obsolete</returns>
531 </member>
532 <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)">
533 <summary>
534 Render errors into a UL with class "errors"
535 </summary>
536 <param name="className">class used by UL-tag.</param>
537 <param name="theList">items to list</param>
538 <returns>an unordered html list.</returns>
539 </member>
540 <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)">
541 <summary>
542 Render errors into a UL with class "errors"
543 </summary>
544 <param name="className">class used by UL-tag.</param>
545 <param name="theList">items to list</param>
546 <returns>an unordered html list.</returns>
547 </member>
548 <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)">
549 <summary>
550 Render errors into a UL with class "errors"
551 </summary>
552 <param name="errors"></param>
553 <returns></returns>
554 </member>
555 <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])">
556 <summary>
557 Generates a list with html attributes.
558 </summary>
559 <param name="sb">StringBuilder that the options should be added to.</param>
560 <param name="firstOptions">attributes set by user.</param>
561 <param name="secondOptions">attributes set by any of the helper classes.</param>
562 </member>
563 <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])">
564 <summary>
565 Generates a list with html attributes.
566 </summary>
567 <param name="sb">StringBuilder that the options should be added to.</param>
568 <param name="options"></param>
569 </member>
570 <member name="T:HttpServer.Helpers.JavascriptHelperImplementation">
571 <summary>
572 Purpose of this class is to create a javascript toolkit independent javascript helper.
573 </summary>
574 </member>
575 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)">
576 <summary>
577 Generates a list with JS options.
578 </summary>
579 <param name="sb">StringBuilder that the options should be added to.</param>
580 <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param>
581 <param name="startWithComma">true if we should start with a comma.</param>
582 </member>
583 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])">
584 <summary>
585 Removes any javascript parameters from an array of parameters
586 </summary>
587 <param name="options">The array of parameters to remove javascript params from</param>
588 <returns>An array of html parameters</returns>
589 </member>
590 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])">
591 <summary>
592 javascript action that should be added to the "onsubmit" event in the form tag.
593 </summary>
594 <returns></returns>
595 <remarks>All javascript option names should end with colon.</remarks>
596 <example>
597 <code>
598 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
599 </code>
600 </example>
601 </member>
602 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])">
603 <summary>
604 Requests a url through ajax
605 </summary>
606 <param name="url">url to fetch</param>
607 <param name="options">optional options in format "key, value, key, value", used in JS request object.</param>
608 <returns>a link tag</returns>
609 <remarks>All javascript option names should end with colon.</remarks>
610 <example>
611 <code>
612 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
613 </code>
614 </example>
615 </member>
616 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])">
617 <summary>
618 Ajax requests that updates an element with
619 the fetched content
620 </summary>
621 <param name="url">Url to fetch content from</param>
622 <param name="targetId">element to update</param>
623 <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param>
624 <returns>A link tag.</returns>
625 <remarks>All javascript option names should end with colon.</remarks>
626 <example>
627 <code>
628 JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
629 </code>
630 </example>
631 </member>
632 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])">
633 <summary>
634 A link that pop ups a Dialog (overlay div)
635 </summary>
636 <param name="url">url to contents of dialog</param>
637 <param name="title">link title</param>
638 <returns>A "a"-tag that popups a dialog when clicked</returns>
639 <param name="htmlAttributes">name/value of html attributes</param>
640 <example>
641 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
642 </example>
643 </member>
644 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog">
645 <summary>
646 Close a javascript dialog window/div.
647 </summary>
648 <returns>javascript for closing a dialog.</returns>
649 <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/>
650 </member>
651 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])">
652 <summary>
653 Creates a new modal dialog window
654 </summary>
655 <param name="url">url to open in window.</param>
656 <param name="title">window title (may not be supported by all js implementations)</param>
657 <param name="options"></param>
658 <returns></returns>
659 </member>
660 <member name="T:HttpServer.HttpClientContextImp">
661 <summary>
662 Contains a connection to a browser/client.
663 </summary>
664 </member>
665 <member name="T:HttpServer.IHttpClientContext">
666 <summary>
667 Contains a connection to a browser/client.
668 </summary>
669 </member>
670 <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
671 <summary>
672 Disconnect from client
673 </summary>
674 <param name="error">error to report in the <see cref="T:HttpServer.ClientDisconnectedHandler"/> delegate.</param>
675 </member>
676 <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String)">
677 <summary>
678 Send a response.
679 </summary>
680 <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param>
681 <param name="statusCode">http status code</param>
682 <param name="reason">reason for the status code.</param>
683 <param name="body">html body contents, can be null or empty.</param>
684 <exception cref="T:System.ArgumentException">If httpVersion is invalid.</exception>
685 </member>
686 <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
687 <summary>
688 Send a response.
689 </summary>
690 <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param>
691 <param name="statusCode">http status code</param>
692 <param name="reason">reason for the status code.</param>
693 </member>
694 <member name="M:HttpServer.IHttpClientContext.Respond(System.String)">
695 <summary>
696 Send a response.
697 </summary>
698 <exception cref="T:System.ArgumentNullException"></exception>
699 </member>
700 <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])">
701 <summary>
702 send a whole buffer
703 </summary>
704 <param name="buffer">buffer to send</param>
705 <exception cref="T:System.ArgumentNullException"></exception>
706 </member>
707 <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
708 <summary>
709 Send data using the stream
710 </summary>
711 <param name="buffer">Contains data to send</param>
712 <param name="offset">Start position in buffer</param>
713 <param name="size">number of bytes to send</param>
714 <exception cref="T:System.ArgumentNullException"></exception>
715 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
716 </member>
717 <member name="P:HttpServer.IHttpClientContext.Secured">
718 <summary>
719 Using SSL or other encryption method.
720 </summary>
721 </member>
722 <member name="F:HttpServer.HttpClientContextImp.BufferSize">
723 <summary>
724 Buffersize determines how large the HTTP header can be.
725 </summary>
726 </member>
727 <member name="M:HttpServer.HttpClientContextImp.#ctor(System.Boolean,System.Net.IPEndPoint,HttpServer.RequestReceivedHandler,HttpServer.ClientDisconnectedHandler,System.IO.Stream,HttpServer.ILogWriter,System.Net.Sockets.Socket)">
728 <summary>
729 Initializes a new instance of the <see cref="T:HttpServer.HttpClientContextImp"/> class.
730 </summary>
731 <param name="secured">true if the connection is secured (SSL/TLS)</param>
732 <param name="remoteEndPoint">client that connected.</param>
733 <param name="requestHandler">delegate handling incoming requests.</param>
734 <param name="disconnectHandler">delegate being called when a client disconnectes</param>
735 <param name="stream">Stream used for communication</param>
736 <exception cref="T:System.Net.Sockets.SocketException">If beginreceive fails</exception>
737 <param name="writer">delegate used to write log entries</param>
738 <see cref="T:HttpServer.RequestReceivedHandler"/>
739 <see cref="T:HttpServer.ClientDisconnectedHandler"/>
740 </member>
741 <member name="M:HttpServer.HttpClientContextImp.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.RequestReceivedHandler,System.Net.Sockets.Socket)">
742 <summary>
743 Initializes a new instance of the <see cref="T:HttpServer.HttpClientContextImp"/> class.
744 </summary>
745 <param name="secured">true if the connection is secured (SSL/TLS)</param>
746 <param name="requestHandler">delegate handling incoming requests.</param>
747 <param name="remoteEndPoint">client that connected</param>
748 <param name="stream">Stream used for communication</param>
749 <exception cref="T:System.Net.Sockets.SocketException">If beginreceive fails</exception>
750 <see cref="T:HttpServer.RequestReceivedHandler"/>
751 <see cref="T:HttpServer.ClientDisconnectedHandler"/>
752 </member>
753 <member name="M:HttpServer.HttpClientContextImp.Disconnect(System.Net.Sockets.SocketError)">
754 <summary>
755 Disconnect from client
756 </summary>
757 <param name="error">error to report in the <see cref="T:HttpServer.ClientDisconnectedHandler"/> delegate.</param>
758 </member>
759 <member name="M:HttpServer.HttpClientContextImp.Check100Continue">
760 <summary>
761 This method checks the request if a responde to 100-continue should be sent.
762 </summary>
763 <remarks>
764 100 continue is a value in the Expect header.
765 It's used to let the webserver determine if a request can be handled. The client
766 waits for a reply before sending the body.
767 </remarks>
768 </member>
769 <member name="M:HttpServer.HttpClientContextImp.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String)">
770 <summary>
771 Send a response.
772 </summary>
773 <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param>
774 <param name="statusCode">http status code</param>
775 <param name="reason">reason for the status code.</param>
776 <param name="body">html body contents, can be null or empty.</param>
777 <exception cref="T:System.ArgumentException">If httpVersion is invalid.</exception>
778 </member>
779 <member name="M:HttpServer.HttpClientContextImp.Respond(System.String,System.Net.HttpStatusCode,System.String)">
780 <summary>
781 Send a response.
782 </summary>
783 <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param>
784 <param name="statusCode">http status code</param>
785 <param name="reason">reason for the status code.</param>
786 </member>
787 <member name="M:HttpServer.HttpClientContextImp.Respond(System.String)">
788 <summary>
789 Send a response.
790 </summary>
791 <exception cref="T:System.ArgumentNullException"></exception>
792 </member>
793 <member name="M:HttpServer.HttpClientContextImp.Send(System.Byte[])">
794 <summary>
795 send a whole buffer
796 </summary>
797 <param name="buffer">buffer to send</param>
798 <exception cref="T:System.ArgumentNullException"></exception>
799 </member>
800 <member name="M:HttpServer.HttpClientContextImp.Send(System.Byte[],System.Int32,System.Int32)">
801 <summary>
802 Send data using the stream
803 </summary>
804 <param name="buffer">Contains data to send</param>
805 <param name="offset">Start position in buffer</param>
806 <param name="size">number of bytes to send</param>
807 <exception cref="T:System.ArgumentNullException"></exception>
808 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
809 </member>
810 <member name="P:HttpServer.HttpClientContextImp.Secured">
811 <summary>
812 Using SSL or other encryption method.
813 </summary>
814 </member>
815 <member name="T:HttpServer.ClientDisconnectedHandler">
816 <summary>
817 Client have been disconnected.
818 </summary>
819 <param name="client">Client that was disconnected.</param>
820 <param name="error">Reason</param>
821 <see cref="T:HttpServer.IHttpClientContext"/>
822 </member>
823 <member name="T:HttpServer.RequestReceivedHandler">
824 <summary>
825 Invoked when a client context have received a new HTTP request
826 </summary>
827 <param name="client">Client that received the request.</param>
828 <param name="request">Request that was received.</param>
829 <see cref="T:HttpServer.IHttpClientContext"/>
830 </member>
831 <member name="T:HttpServer.HttpModules.ControllerModule">
832 <summary>
833 A controller module is a part of the ModelViewController design pattern.
834 It gives you a way to create user friendly URLs.
835 </summary>
836 <remarks>
837 The controller module uses the flyweight pattern which means that
838 the memory usage will continue to increase until the module have
839 enough objects in memory to serve all concurrent requests. The objects
840 are reused and will not be freed.
841 </remarks>
842 <example>
843 <code>
844 ControllerModule module = new ControllerModule();
845 module.Add(new UserController());
846 module.Add(new SearchController());
847 myWebsite.Add(module);
848 </code>
849 </example>
850 </member>
851 <member name="T:HttpServer.HttpModules.HttpModule">
852 <summary>
853 A HttpModule can be used to serve urls. The module itself
854 decides if it should serve a url or not. In this way, you can
855 get a very flexible http app since you can let multiple modules
856 serve almost similiar urls.
857 </summary>
858 <remarks>
859 Throw UnauthorizedException if you are using a AuthenticationModule and want to prompt for username/password.
860 </remarks>
861 </member>
862 <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
863 <summary>
864 Method that process the url
865 </summary>
866 <param name="request">Information sent by the browser about the request</param>
867 <param name="response">Information that is being sent back to the client.</param>
868 <param name="session">Session used to </param>
869 <returns>true if this module handled the request.</returns>
870 </member>
871 <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)">
872 <summary>
873 Set the log writer to use.
874 </summary>
875 <param name="writer">logwriter to use.</param>
876 </member>
877 <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)">
878 <summary>
879 Log something.
880 </summary>
881 <param name="prio">importance of log message</param>
882 <param name="message">message</param>
883 </member>
884 <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing">
885 <summary>
886 If true specifies that the module doesn't consume the processing of a request so that subsequent modules
887 can continue processing afterwards. Default is false.
888 </summary>
889 </member>
890 <member name="M:HttpServer.HttpModules.ControllerModule.Add(HttpServer.Controllers.RequestController)">
891 <summary>
892 The controller module uses the prototype design pattern
893 to be able to create new controller objects for requests
894 if the stack is empty.
895 </summary>
896 <param name="prototype">A prototype which will be cloned for each request</param>
897 <exception cref="T:System.ArgumentNullException"></exception>
898 <exception cref="T:System.InvalidProgramException">If a controller with that name have been added already.</exception>
899 </member>
900 <member name="M:HttpServer.HttpModules.ControllerModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
901 <summary>
902 Method that process the incoming request.
903 </summary>
904 <param name="request">Information sent by the browser about the request</param>
905 <param name="response">Information that is being sent back to the client.</param>
906 <param name="session">Session used to </param>
907 </member>
908 <member name="P:HttpServer.HttpModules.ControllerModule.Item(System.String)">
909 <summary>
910 Get a prototype
911 </summary>
912 <param name="controllerName">in lowercase, without "Controller"</param>
913 <returns>The controller if found; otherwise null.</returns>
914 <example>
915 <code>
916 //fetches the class UserController
917 RequestController userController = controllerModule["user"];
918 </code>
919 </example>
920 </member>
921 <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.#ctor(HttpServer.Controllers.RequestController)">
922 <summary>
923 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ControllerModule.ControllerContext"/> class.
924 </summary>
925 <param name="prototype">A controller used to handle certain URLs. Will be cloned for each parallel request.</param>
926 </member>
927 <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.Pop">
928 <summary>
929 Retrieve a previously created controller (or a new one if none exist).
930 </summary>
931 <returns></returns>
932 </member>
933 <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.Push(HttpServer.Controllers.RequestController)">
934 <summary>
935 Add a controller
936 </summary>
937 <param name="controller"></param>
938 </member>
939 <member name="P:HttpServer.HttpModules.ControllerModule.ControllerContext.Prototype">
940 <summary>
941 Prototype controller used for cloning.
942 </summary>
943 <value>The prototype.</value>
944 </member>
945 <member name="T:HttpServer.Helpers.JSHelper">
946 <summary>
947 Will contain helper functions for javascript.
948 </summary>
949 </member>
950 <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])">
951 <summary>
952 Requests a url through ajax
953 </summary>
954 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
955 <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
956 <returns>a link tag</returns>
957 <remarks>onclick attribute is used by this method.</remarks>
958 <example>
959 <code>
960 // plain text
961 JSHelper.AjaxRequest("'/user/show/1'");
962
963 // ajax request using this.href
964 string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
965 </code>
966 </example>
967 </member>
968 <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])">
969 <summary>
970 Ajax requests that updates an element with
971 the fetched content
972 </summary>
973 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
974 <param name="targetId">element to update</param>
975 <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
976 <returns>A link tag.</returns>
977 <example>
978 <code>
979 JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
980 </code>
981 </example>
982 </member>
983 <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])">
984 <summary>
985 Opens contents in a dialog window.
986 </summary>
987 <param name="url">url to contents of dialog</param>
988 <param name="title">link title</param>
989 <param name="options">name, value, name, value, all parameter names should end with colon.</param>
990 </member>
991 <member name="M:HttpServer.Helpers.JSHelper.CloseDialog">
992 <summary>
993 Close a javascript dialog window/div.
994 </summary>
995 <returns>javascript for closing a dialog.</returns>
996 <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/>
997 </member>
998 <member name="T:HttpServer.Helpers.GetIdTitle">
999 <summary>
1000 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.
1001 </summary>
1002 <param name="obj">current object (for instance a User).</param>
1003 <param name="id">Text that should be displayed in the value part of a &lt;optiongt;-tag.</param>
1004 <param name="title">Text shown in the select list.</param>
1005 <example>
1006 // Class that is going to be used in a SELECT-tag.
1007 public class User
1008 {
1009 private readonly string _realName;
1010 private readonly int _id;
1011 public User(int id, string realName)
1012 {
1013 _id = id;
1014 _realName = realName;
1015 }
1016 public string RealName
1017 {
1018 get { return _realName; }
1019 }
1020
1021 public int Id
1022 {
1023 get { return _id; }
1024 }
1025 }
1026
1027 // Using an inline delegate to generate the select list
1028 public void UserInlineDelegate()
1029 {
1030 List&lt;User&gt; items = new List&lt;User&gt;();
1031 items.Add(new User(1, "adam"));
1032 items.Add(new User(2, "bertial"));
1033 items.Add(new User(3, "david"));
1034 string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
1035 {
1036 User user = (User)o;
1037 id = user.Id;
1038 value = user.RealName;
1039 }, 2, true);
1040 }
1041
1042 // Using an method as delegate to generate the select list.
1043 public void UseExternalDelegate()
1044 {
1045 List&lt;User&gt; items = new List&lt;User&gt;();
1046 items.Add(new User(1, "adam"));
1047 items.Add(new User(2, "bertial"));
1048 items.Add(new User(3, "david"));
1049 string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
1050 }
1051
1052 // delegate returning id and title
1053 public static void UserOptions(object o, out object id, out object title)
1054 {
1055 User user = (User)o;
1056 id = user.Id;
1057 value = user.RealName;
1058 } /// </example>
1059 </member>
1060 <member name="T:HttpServer.Controllers.BeforeFilterAttribute">
1061 <summary>
1062 Methods marked with BeforeFilter will be invoked before each request.
1063 </summary>
1064 <remarks>
1065 BeforeFilters should take no arguments and return false
1066 if controller method should not be invoked.
1067 </remarks>
1068 <seealso cref="T:HttpServer.Controllers.FilterPosition"/>
1069 </member>
1070 <member name="M:HttpServer.Controllers.BeforeFilterAttribute.#ctor">
1071 <summary>
1072 Initializes a new instance of the <see cref="T:HttpServer.Controllers.BeforeFilterAttribute"/> class.
1073 </summary>
1074 <remarks>
1075 BeforeFilters should take no arguments and return false
1076 if controller method should not be invoked.
1077 </remarks>
1078 </member>
1079 <member name="M:HttpServer.Controllers.BeforeFilterAttribute.#ctor(HttpServer.Controllers.FilterPosition)">
1080 <summary>
1081 Initializes a new instance of the <see cref="T:HttpServer.Controllers.BeforeFilterAttribute"/> class.
1082 </summary>
1083 <param name="position">Specify if the filter should be invoked among the first filters, in between or among the last.</param>
1084 <remarks>
1085 BeforeFilters should take no arguments and return false
1086 if controller method should not be invoked.
1087 </remarks>
1088 </member>
1089 <member name="P:HttpServer.Controllers.BeforeFilterAttribute.Position">
1090 <summary>
1091 Filters position in before filter queue
1092 </summary>
1093 </member>
1094 <member name="T:HttpServer.Controllers.FilterPosition">
1095 <summary>
1096 Determins when a before filter is executed.
1097 </summary>
1098 <seealso cref="T:HttpServer.Controllers.BeforeFilterAttribute"/>
1099 </member>
1100 <member name="F:HttpServer.Controllers.FilterPosition.First">
1101 <summary>
1102 Filter will be invoked first (unless another filter is added after this one with the First position)
1103 </summary>
1104 </member>
1105 <member name="F:HttpServer.Controllers.FilterPosition.Between">
1106 <summary>
1107 Invoke after all first filters, and before the last filters.
1108 </summary>
1109 </member>
1110 <member name="F:HttpServer.Controllers.FilterPosition.Last">
1111 <summary>
1112 Filter will be invoked last (unless another filter is added after this one with the Last position)
1113 </summary>
1114 </member>
1115 <member name="T:HttpServer.Authentication.BasicAuthentication">
1116 <summary>
1117 The "basic" authentication scheme is based on the model that the
1118 client must authenticate itself with a user-ID and a password for
1119 each realm. The realm value should be considered an opaque string
1120 which can only be compared for equality with other realms on that
1121 server. The server will service the request only if it can validate
1122 the user-ID and password for the protection space of the Request-URI.
1123 There are no optional authentication parameters.
1124 </summary>
1125 </member>
1126 <member name="T:HttpServer.Authentication.AuthModule">
1127 <summary>
1128 Authentication modules are used to implement different
1129 kind of http authentication.
1130 </summary>
1131 </member>
1132 <member name="M:HttpServer.Authentication.AuthModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)">
1133 <summary>
1134 Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthModule"/> class.
1135 </summary>
1136 <param name="authenticator">Delegate used to provide information used during authentication.</param>
1137 <param name="authRequiredDelegate">Delegate used to determine if authentication is required (may be null).</param>
1138 </member>
1139 <member name="M:HttpServer.Authentication.AuthModule.#ctor(HttpServer.Authentication.AuthenticationHandler)">
1140 <summary>
1141 Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthModule"/> class.
1142 </summary>
1143 <param name="authenticator">Delegate used to provide information used during authentication.</param>
1144 </member>
1145 <member name="M:HttpServer.Authentication.AuthModule.CreateResponse(System.String,System.Object[])">
1146 <summary>
1147 Create a response that can be sent in the WWW-Authenticate header.
1148 </summary>
1149 <param name="realm">Realm that the user should authenticate in</param>
1150 <param name="options">Array with optional options.</param>
1151 <returns>A correct auth request.</returns>
1152 <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
1153 </member>
1154 <member name="M:HttpServer.Authentication.AuthModule.Authenticate(System.String,System.String,System.String,System.Object[])">
1155 <summary>
1156 An authentication response have been received from the web browser.
1157 Check if it's correct
1158 </summary>
1159 <param name="authenticationHeader">Contents from the Authorization header</param>
1160 <param name="realm">Realm that should be authenticated</param>
1161 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
1162 <param name="options">options to specific implementations</param>
1163 <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
1164 <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
1165 <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
1166 </member>
1167 <member name="M:HttpServer.Authentication.AuthModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)">
1168 <summary>
1169 Used to invoke the auth delegate that is used to lookup the username/realm.
1170 </summary>
1171 <param name="realm">Realm (domain) that user want to authenticate in</param>
1172 <param name="userName">Username</param>
1173 <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param>
1174 <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param>
1175 <returns>true if authentication was successful</returns>
1176 </member>
1177 <member name="M:HttpServer.Authentication.AuthModule.AuthenticationRequired(HttpServer.IHttpRequest)">
1178 <summary>
1179 Determines if authentication is required.
1180 </summary>
1181 <param name="request">Http request from browser</param>
1182 <returns>true if user should be authenticated.</returns>
1183 <remarks>throw ForbiddenException from your delegate if no more attempts are allowed.</remarks>
1184 <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
1185 </member>
1186 <member name="P:HttpServer.Authentication.AuthModule.Name">
1187 <summary>
1188 name used in http request.
1189 </summary>
1190 </member>
1191 <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)">
1192 <summary>
1193 Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
1194 </summary>
1195 <param name="authenticator">Delegate used to provide information used during authentication.</param>
1196 <param name="authRequiredDelegate">Delegate used to determine if authentication is required (may be null).</param>
1197 </member>
1198 <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
1199 <summary>
1200 Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
1201 </summary>
1202 <param name="authenticator">Delegate used to provide information used during authentication.</param>
1203 </member>
1204 <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])">
1205 <summary>
1206 Create a response that can be sent in the WWW-Authenticate header.
1207 </summary>
1208 <param name="realm">Realm that the user should authenticate in</param>
1209 <param name="options">Not used in basic auth</param>
1210 <returns>A correct auth request.</returns>
1211 </member>
1212 <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
1213 <summary>
1214 An authentication response have been received from the web browser.
1215 Check if it's correct
1216 </summary>
1217 <param name="authenticationHeader">Contents from the Authorization header</param>
1218 <param name="realm">Realm that should be authenticated</param>
1219 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
1220 <param name="options">Not used in basic auth</param>
1221 <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
1222 <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
1223 <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
1224 </member>
1225 <member name="P:HttpServer.Authentication.BasicAuthentication.Name">
1226 <summary>
1227 name used in http request.
1228 </summary>
1229 </member>
1230 <member name="T:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode">
1231 <summary>
1232 The follow node allows users to display code in a haml document
1233 </summary>
1234 <example>
1235 #main Welcome =user.FirstName
1236 </example>
1237 </member>
1238 <member name="T:HttpServer.Rendering.Haml.Nodes.ChildNode">
1239 <summary>
1240 Child nodes may not be the first node on a line
1241 </summary>
1242 </member>
1243 <member name="T:HttpServer.Rendering.Haml.Nodes.Node">
1244 <summary>
1245 A node represents a controller code and contents. For example a html tag, an attribute list or something else.
1246 </summary>
1247 </member>
1248 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
1249 <summary>
1250 Add a new node
1251 </summary>
1252 <param name="parent">parent node.</param>
1253 </member>
1254 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.AddModifier(HttpServer.Rendering.Haml.Nodes.Node)">
1255 <summary>
1256 Modifiers are used to modify the first node on the line.
1257 Typical modifiers are attribute lists, class names and IDs.
1258 </summary>
1259 <param name="node">Modifier node</param>
1260 </member>
1261 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
1262 <summary>
1263 Parse node contents add return a fresh node.
1264 </summary>
1265 <param name="prototypes">List containing all node types</param>
1266 <param name="parent">Node that this is a subnode to. Can be null</param>
1267 <param name="line">Line to parse</param>
1268 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
1269 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
1270 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
1271 </member>
1272 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.CanHandle(System.String,System.Boolean)">
1273 <summary>
1274 determines if this node can handle the line (by checking the first word);
1275 </summary>
1276 <param name="word">Controller char (word)</param>
1277 <returns>true if text belongs to this node type</returns>
1278 <param name="firstNode">First node on line, used since some nodes cannot exist on their own on a line.</param>
1279 </member>
1280 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToHtml">
1281 <summary>
1282 Generate HTML code (with ASP tags)
1283 </summary>
1284 <returns></returns>
1285 </member>
1286 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@)">
1287 <summary>
1288 Converts the node to c# code
1289 </summary>
1290 <param name="inString">true if we are inside the internal stringbuilder</param>
1291 <returns>c# code</returns>
1292 </member>
1293 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@,System.Boolean)">
1294 <summary>
1295 Convert the node to c# code
1296 </summary>
1297 <param name="inString">True if we are inside the internal stringbuilder</param>
1298 <param name="smallEnough">true if all subnodes fit on one line</param>
1299 <returns>c# code</returns>
1300 </member>
1301 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
1302 <summary>
1303 Generate C# code of the node
1304 </summary>
1305 <param name="inString">true if we are inside the internal stringbuilder</param>
1306 <param name="smallEnough">code is small enough to fit on one row.</param>
1307 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
1308 <returns>c# code</returns>
1309 </member>
1310 <member name="M:HttpServer.Rendering.Haml.Nodes.Node.GetIntendation">
1311 <summary>
1312 Get intendation level for this node.
1313 </summary>
1314 <returns></returns>
1315 </member>
1316 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.IsTextNode">
1317 <summary>
1318 Returns true if the node is applicable after another node as text instead of being applied as a modifier
1319 </summary>
1320 </member>
1321 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.AllChildrenCount">
1322 <summary>
1323 Count our children and our childrens children and so on...
1324 </summary>
1325 </member>
1326 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Children">
1327 <summary>
1328 All child nodes for this node.
1329 </summary>
1330 </member>
1331 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.LineInfo">
1332 <summary>
1333 Should only be set for each parent.
1334 </summary>
1335 </member>
1336 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Modifiers">
1337 <summary>
1338 Modifiers are used to modify the first node on the line.
1339 Typical modifiers are attribute lists, class names and IDs.
1340 </summary>
1341 </member>
1342 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.LastModifier">
1343 <summary>
1344 Last modifier for this node
1345 </summary>
1346 <seealso cref="P:HttpServer.Rendering.Haml.Nodes.Node.Modifiers"/>
1347 </member>
1348 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.ModifierCount">
1349 <summary>
1350 Number of modifiers for this line.
1351 </summary>
1352 </member>
1353 <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Parent">
1354 <summary>
1355 Parent node.
1356 </summary>
1357 </member>
1358 <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
1359 <summary>
1360 Child nodes may not be the first node on a line
1361 </summary>
1362 <param name="parent">parent node</param>
1363 </member>
1364 <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.AddMe(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,HttpServer.Rendering.Haml.Nodes.Node)">
1365 <summary>
1366 Creates a DIV node and add's the specified node to it.
1367 </summary>
1368 <param name="prototypes">Contains all prototypes for each control char. used to instanciate new nodes.</param>
1369 <param name="parent">parent node</param>
1370 <param name="line">current line information</param>
1371 <param name="me">node to add to the DIV node</param>
1372 <returns>current node</returns>
1373 </member>
1374 <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.GetEndPos(System.Int32,System.String,System.Char)">
1375 <summary>
1376 Get endposition for this modifier.
1377 </summary>
1378 <param name="offset">where to start searching</param>
1379 <param name="line">contents of the current line</param>
1380 <param name="terminator">char that tells us that this is the end position</param>
1381 <returns>index on the current line</returns>
1382 </member>
1383 <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.GetEndPos(System.Int32,System.String)">
1384 <summary>
1385 Get endposition for this modifier.
1386 </summary>
1387 <param name="offset">where to start searching</param>
1388 <param name="line">contents of the current line</param>
1389 <returns>index on the current line</returns>
1390 </member>
1391 <member name="P:HttpServer.Rendering.Haml.Nodes.ChildNode.IsTextNode">
1392 <summary>
1393 This is a plain text node
1394 </summary>
1395 </member>
1396 <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
1397 <summary>
1398 Contains C# code that will be rendered into the view.
1399 </summary>
1400 <param name="parent">Parent node</param>
1401 </member>
1402 <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
1403 <summary>
1404 Parse node contents add return a fresh node.
1405 </summary>
1406 <param name="prototypes">List containing all node types</param>
1407 <param name="parent">Node that this is a subnode to. Can be null</param>
1408 <param name="line">Line to parse</param>
1409 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
1410 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
1411 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
1412 </member>
1413 <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.CanHandle(System.String,System.Boolean)">
1414 <summary>
1415 determines if this node can handle the line (by checking the first word);
1416 </summary>
1417 <param name="word">Controller char (word)</param>
1418 <returns>true if text belongs to this node type</returns>
1419 <param name="firstNode">first node on line</param>
1420 </member>
1421 <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.ToHtml">
1422 <summary>
1423 Generate HTML for this node (with asp tags for code)
1424 </summary>
1425 <returns></returns>
1426 </member>
1427 <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
1428 <summary>
1429 = is placed at the end of a tag definition, after class, id, and attribute declarations.
1430 It’s just a shortcut for inserting Ruby code into an element. It works the same as = without a tag:
1431 it inserts the result of the Ruby code into the template.
1432 However, if the result is short enough, it is displayed entirely on one line.
1433 </summary>
1434 <param name="inString">True if we are inside the internal stringbuilder</param>
1435 <param name="smallEnough">true if all subnodes fit on one line</param>
1436 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
1437 <returns>c# code</returns>
1438 </member>
1439 <member name="P:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.IsTextNode">
1440 <summary>
1441 Determines if this is a textnode (containg plain text)
1442 </summary>
1443 </member>
1444 <member name="T:HttpServer.Rendering.Haml.Nodes.AttributeNode">
1445 <summary>
1446 Contains HTML attributes.
1447 </summary>
1448 </member>
1449 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node,System.Collections.Generic.List{HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute})">
1450 <summary>
1451 Create a new node
1452 </summary>
1453 <param name="parent">parent node</param>
1454 <param name="col">collection of attributes</param>
1455 </member>
1456 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
1457 <summary>
1458 create an attribute node
1459 </summary>
1460 <param name="parent">parent node</param>
1461 </member>
1462 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.GetAttribute(System.String)">
1463 <summary>
1464 Get an attribute
1465 </summary>
1466 <param name="name">name of the attribute (case sensitive)</param>
1467 <returns>attribute if found; otherwise null.</returns>
1468 </member>
1469 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
1470 <summary>
1471 Parse node contents add return a fresh node.
1472 </summary>
1473 <param name="prototypes">List containing all node types</param>
1474 <param name="parent">Node that this is a subnode to. Can be null</param>
1475 <param name="line">Line to parse</param>
1476 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
1477 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
1478 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
1479 </member>
1480 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.CanHandle(System.String,System.Boolean)">
1481 <summary>
1482 determines if this node can handle the line (by checking the first word);
1483 </summary>
1484 <param name="word">Controller char (word)</param>
1485 <returns>true if text belongs to this node type</returns>
1486 <param name="firstNode">first node on line</param>
1487 </member>
1488 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.ToHtml">
1489 <summary>
1490 Convert node to HTML (with ASP-tags)
1491 </summary>
1492 <returns>HTML string</returns>
1493 </member>
1494 <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
1495 <summary>
1496 Convert the node to c# code
1497 </summary>
1498 <param name="inString">True if we are inside the internal stringbuilder</param>
1499 <param name="smallEnough">true if all subnodes fit on one line</param>
1500 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
1501 <returns>c# code</returns>
1502 </member>
1503 <member name="P:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attributes">
1504 <summary>
1505 html attributes
1506 </summary>
1507 </member>
1508 <member name="T:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute">
1509 <summary>
1510 A attribute
1511 </summary>
1512 </member>
1513 <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Simple">
1514 <summary>
1515 value is a simple word or quoted text
1516 </summary>
1517 </member>
1518 <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Name">
1519 <summary>
1520 Name of the attribute
1521 </summary>
1522 </member>
1523 <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Value">
1524 <summary>
1525 Value, can be a statement, variable or quoted text.
1526 </summary>
1527 </member>
1528 <member name="T:HttpServer.Rendering.TemplateArguments">
1529 <summary>
1530 Arguments being used in a template.
1531 </summary>
1532 <seealso cref="T:HttpServer.Rendering.TemplateManager"/>
1533 <seealso cref="T:HttpServer.Rendering.ITinyTemplate"/>
1534 </member>
1535 <member name="F:HttpServer.Rendering.TemplateArguments._arguments">
1536 <summary>
1537 Holds the arguments connected to their names for quick access.
1538 (since the ArgumentContainer also holds the name for the argument the mapping with strings is somewhat redundant
1539 but since the data do 'belong' to the ArgumentContainer this solution was chosen to speed up access)
1540 </summary>
1541 </member>
1542 <member name="M:HttpServer.Rendering.TemplateArguments.#ctor">
1543 <summary>
1544 Initializes the class without any set arguments.
1545 </summary>
1546 </member>
1547 <member name="M:HttpServer.Rendering.TemplateArguments.#ctor(HttpServer.Rendering.TemplateArguments)">
1548 <summary>
1549 Initializes the class with all the arguments of the parameter class.
1550 </summary>
1551 <param name="arguments">Cannot be null</param>
1552 <exception cref="T:System.ArgumentNullException">If arguments is null</exception>
1553 </member>
1554 <member name="M:HttpServer.Rendering.TemplateArguments.#ctor(System.Object[])">
1555 <summary>
1556 Initializes the class with the objects in the parameterlist.
1557 Note that each object that is null must be followed by a type.
1558 </summary>
1559 <param name="arguments">Should contain ordered pairs/truples of string, object and type where type is optional if the object isn´t null</param>
1560 <example>new TemplateArguments("Dir", "\", "Users", null, typeof(User));</example>
1561 <exception cref="T:System.ArgumentException">If optional type differs from type of object (if object != null) or argument name is duplicate</exception>
1562 <exception cref="T:System.ArgumentException">If the order of objects is incorrect</exception>
1563 <exception cref="T:System.ArgumentNullException">If any argument name or type is null</exception>
1564 </member>
1565 <member name="M:HttpServer.Rendering.TemplateArguments.Update(HttpServer.Rendering.TemplateArguments)">
1566 <summary>
1567 A function that merges two argument holders updating and adding values
1568 </summary>
1569 <param name="arguments"></param>
1570 <exception cref="T:System.ArgumentNullException">If arguments is null</exception>
1571 </member>
1572 <member name="M:HttpServer.Rendering.TemplateArguments.Finalize">
1573 <summary>
1574 Clears added arguments
1575 </summary>
1576 </member>
1577 <member name="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object)">
1578 <summary>
1579 Adds an argument.
1580 (Will throw ArgumentException on duplicates since adding an argument twice points to incorrect code, for ways around
1581 this <see cref="M:HttpServer.Rendering.TemplateArguments.Update(System.String,System.Object)"/>
1582 </summary>
1583 <param name="argumentName">Cannot be null</param>
1584 <param name="argumentObject">Cannot be null</param>
1585 <exception cref="T:System.NullReferenceException">If argumentName or argumentObject is null</exception>
1586 <exception cref="T:System.ArgumentException">If an argument named argumentName already exists</exception>
1587 </member>
1588 <member name="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object,System.Type)">
1589 <summary>
1590 Adds an argument. Allows for argumentObject to be null
1591 (Will throw ArgumentException <see cref="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object)"/>
1592 </summary>
1593 <param name="argumentName">Cannot be null</param>
1594 <param name="argumentObject"></param>
1595 <param name="argumentType">Cannot be null</param>
1596 <exception cref="T:System.NullReferenceException">If argumentName or argumentType is null</exception>
1597 <exception cref="T:System.ArgumentException">If an argument named argumentName already exists or argumentObject != null and typeof(argumentObject) differs from argumentType</exception>
1598 </member>
1599 <member name="M:HttpServer.Rendering.TemplateArguments.Update(System.String,System.Object)">
1600 <summary>
1601 Updates an already added argument
1602 </summary>
1603 <param name="argumentName">Cannot be null</param>
1604 <param name="argumentObject">Cannot be null</param>
1605 <exception cref="T:System.ArgumentException">If no argument named argumentName exists</exception>
1606 <exception cref="T:System.ArgumentNullException">If argumentName or argumentObject is null</exception>
1607 </member>
1608 <member name="M:HttpServer.Rendering.TemplateArguments.Update(System.String,System.Object,System.Type)">
1609 <summary>
1610 Updates an already added argument, allows for argumentObject to be null
1611 </summary>
1612 <param name="argumentName">Cannot be null</param>
1613 <param name="argumentObject"></param>
1614 <param name="argumentType">Cannot be null</param>
1615 <exception cref="T:System.ArgumentNullException">If argumentName or argumentType is null</exception>
1616 <exception cref="T:System.ArgumentException">If an argument named argumentName doesn´t exists or argumentObject != null and typeof(argumentObject) differs from argumentType</exception>
1617 </member>
1618 <member name="M:HttpServer.Rendering.TemplateArguments.Clear">
1619 <summary>
1620 Clears all added arguments
1621 </summary>
1622 </member>
1623 <member name="M:HttpServer.Rendering.TemplateArguments.GetArguments">
1624 <summary>
1625 Retrieves the arguments
1626 (Does so now by copying the values to a new array, could be optimized?)
1627 </summary>
1628 <returns>An array containing arguments with name, object and type</returns>
1629 </member>
1630 <member name="M:HttpServer.Rendering.TemplateArguments.GetHashCode">
1631 <summary>
1632 Returns a individual hashcode built upon the specified types the class is holding
1633 </summary>
1634 <remarks>The hashcode is made by joining the typenames of all held arguments and making a string hashcode from them</remarks>
1635 <returns></returns>
1636 </member>
1637 <member name="M:HttpServer.Rendering.TemplateArguments.GetFullTypeName(System.Type)">
1638 <summary>
1639 Retrieves a concated typename ie DictinaryInt32String
1640 </summary>
1641 <param name="type">The type to retrieve the name for</param>
1642 </member>
1643 <member name="M:HttpServer.Rendering.TemplateArguments.Contains(System.String)">
1644 <summary>
1645 Checks whether a specific argument is specified or not.
1646 </summary>
1647 <param name="name">Argument name</param>
1648 <returns>true if argument is specified; otherwise false.</returns>
1649 </member>
1650 <member name="P:HttpServer.Rendering.TemplateArguments.Item(System.String)">
1651 <summary>
1652 Function to make it possible to index out known arguments
1653 </summary>
1654 <param name="name">The name of an added argument</param>
1655 <returns>Null if no ArgumentContainer by name was found</returns>
1656 </member>
1657 <member name="T:HttpServer.Rendering.ArgumentContainer">
1658 <summary>
1659 A container class grouping mapping name, argument type and the argument object
1660 </summary>
1661 </member>
1662 <member name="F:HttpServer.Rendering.ArgumentContainer._argumentName">
1663 <summary>
1664 Contains the name mapped to the argument
1665 </summary>
1666 </member>
1667 <member name="F:HttpServer.Rendering.ArgumentContainer._argumentType">
1668 <summary>
1669 Contains the type of the argument, this must be valid if _argumentObject is null
1670 </summary>
1671 </member>
1672 <member name="F:HttpServer.Rendering.ArgumentContainer._argumentObject">
1673 <summary>
1674 Holds the actual object
1675 </summary>
1676 </member>
1677 <member name="M:HttpServer.Rendering.ArgumentContainer.#ctor(System.String,System.Object)">
1678 <summary>
1679 Constructor to initiate an ArgumentContainer, will set the ArgumentType to the value of the argumentObject's type
1680 </summary>
1681 <param name="argumentName">Cannot be null</param>
1682 <param name="argumentObject">Cannot be null</param>
1683 <exception cref="T:System.ArgumentNullException">If argumentName or argumentObject is null</exception>
1684 </member>
1685 <member name="M:HttpServer.Rendering.ArgumentContainer.#ctor(System.String,System.Object,System.Type)">
1686 <summary>
1687 Alternative constructor allowing argumentObject parameter to be null
1688 </summary>
1689 <param name="argumentName">Cannot be null</param>
1690 <param name="argumentObject"></param>
1691 <param name="argumentType">Cannot be null</param>
1692 <exception cref="T:System.NullReferenceException">If argumentName or argumentType is null</exception>
1693 <exception cref="T:System.ArgumentException">If argumentObject != null and argumentType != typeof(argumentObject)</exception>
1694 </member>
1695 <member name="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object)">
1696 <summary>
1697 Sets the object and type of the argument, equal to ArgumentContainer.Object = ...
1698 </summary>
1699 <param name="argumentObject">Cannot be null</param>
1700 <exception cref="T:System.ArgumentNullException">If argumentObject is null</exception>
1701 </member>
1702 <member name="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object,System.Type)">
1703 <summary>
1704 Sets the argument object and type. Type of the object and argumentType must correspond.
1705 </summary>
1706 <param name="argumentObject"></param>
1707 <param name="argumentType">Cannot be null</param>
1708 <exception cref="T:System.ArgumentNullException">If argumentType is null</exception>
1709 <exception cref="T:System.ArgumentException">If typeof(argumentObject) differs from argumentType and object != null</exception>
1710 </member>
1711 <member name="P:HttpServer.Rendering.ArgumentContainer.Name">
1712 <summary>
1713 Attribute for retrieving the name. The name cannot be set however because an argument is defined by its name
1714 changing the name would be changing the arguments meaning, thus an argument needing a name change should rather
1715 be recreated
1716 </summary>
1717 </member>
1718 <member name="P:HttpServer.Rendering.ArgumentContainer.Type">
1719 <summary>
1720 Returns the type of the argument object. The property cannot be set since the type depends on and must correspond to
1721 the type of the object
1722 </summary>
1723 </member>
1724 <member name="P:HttpServer.Rendering.ArgumentContainer.Object">
1725 <summary>
1726 Returns or changes the argument object. If the object is to be changed to null the type must be passed aswell,
1727 in that case <see cref="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object,System.Type)"/>
1728 </summary>
1729 <exception cref="T:System.ArgumentNullException">If set value is null</exception>
1730 </member>
1731 <member name="T:HttpServer.Rendering.Haml.Nodes.PartialNode">
1732 <summary>
1733 A partial is a HAML template that is inserted into other HAML templates.
1734 </summary>
1735 </member>
1736 <member name="F:HttpServer.Rendering.Haml.Nodes.PartialNode._target">
1737 <summary>
1738 Contains the page/controller target for the partial.
1739 The PartialNode should be written as follows:
1740 ex.
1741
1742 _"requestedpage"{parametername="parametervalue",parametername2=parameter2,parametername3=parameter3:typeof(parameter3type)}
1743 </summary>
1744 </member>
1745 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
1746 <summary>
1747 create a new partial node.
1748 </summary>
1749 <param name="parent">parent node</param>
1750 </member>
1751 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.CanHandle(System.String,System.Boolean)">
1752 <summary>
1753 Determines if this node can handle the line (by checking the first word);
1754 </summary>
1755 <param name="word">Controller char (word)</param>
1756 <returns>True if text belongs to this node type</returns>
1757 <param name="firstNode">First node on line.</param>
1758 </member>
1759 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
1760 <summary>
1761 Parse node contents add return a fresh node.
1762 </summary>
1763 <param name="parent">Node that this is a subnode to. Can be null</param>
1764 <param name="prototypes">A list with node types</param>
1765 <param name="line">Line to parse</param>
1766 <param name="offset">Where to start the parsing. Will be set to where the next node should start parsing</param>
1767 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
1768 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
1769 </member>
1770 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
1771 <summary>
1772 Convert the node to c# code
1773 </summary>
1774 <param name="inString">True if we are inside the internal stringbuilder</param>
1775 <param name="smallEnough">true if all subnodes fit on one line</param>
1776 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
1777 <returns>c# code</returns>
1778 </member>
1779 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ToHtml">
1780 <summary>
1781 Convert node to HTML (with ASP-tags)
1782 </summary>
1783 <returns>HTML string</returns>
1784 </member>
1785 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.GetCode">
1786 <summary>
1787 Helper function to retrieve the code for the partial request
1788 </summary>
1789 <returns>A string representing the code for invocating a render of the partial</returns>
1790 </member>
1791 <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ThrowError(System.String)">
1792 <summary>
1793 Throw an exception with predefined information
1794 </summary>
1795 <param name="reason">why the exception was thrown</param>
1796 </member>
1797 <member name="P:HttpServer.Rendering.Haml.Nodes.PartialNode.IsTextNode">
1798 <summary>
1799 This is a plain text node
1800 </summary>
1801 </member>
1802 <member name="P:HttpServer.Rendering.Haml.Nodes.PartialNode.Target">
1803 <summary>
1804 Returns the page/controller target for the node
1805 </summary>
1806 </member>
1807 <member name="T:HttpServer.Rendering.ResourceTemplateLoader">
1808 <summary>
1809 Loads templates from embedded resources.
1810 </summary>
1811 </member>
1812 <member name="M:HttpServer.Rendering.ResourceTemplateLoader.LoadTemplates(System.String,System.Reflection.Assembly,System.String)">
1813 <summary>
1814 Loads templates from a namespace in the given assembly to an uri
1815 </summary>
1816 <param name="toUri">The uri to map the resources to</param>
1817 <param name="fromAssembly">The assembly in which the resources reside</param>
1818 <param name="fromNamespace">The namespace from which to load the resources</param>
1819 <usage>
1820 resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
1821
1822 will make ie the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
1823 </usage>
1824 </member>
1825 <member name="M:HttpServer.Rendering.ResourceTemplateLoader.LoadTemplate(System.String)">
1826 <summary>
1827 Load a template into a <see cref="T:System.IO.TextReader"/> and return it.
1828 </summary>
1829 <param name="path">Relative path (and filename) to template.</param>
1830 <returns>
1831 a <see cref="T:System.IO.TextReader"/> if file was found; otherwise null.
1832 </returns>
1833 </member>
1834 <member name="M:HttpServer.Rendering.ResourceTemplateLoader.GetFiles(System.String,System.String)">
1835 <summary>
1836 Fetch all files from the resource that matches the specified arguments.
1837 </summary>
1838 <param name="path">Where the file should reside.</param>
1839 <param name="filename">Files to check</param>
1840 <returns>
1841 a list of files if found; or an empty array if no files are found.
1842 </returns>
1843 </member>
1844 <member name="M:HttpServer.Rendering.ResourceTemplateLoader.CheckTemplate(HttpServer.Rendering.ITemplateInfo)">
1845 <summary>
1846 Always returns true since a resource won't be updated during execution
1847 </summary>
1848 <param name="info"></param>
1849 <returns></returns>
1850 </member>
1851 <member name="M:HttpServer.Rendering.ResourceTemplateLoader.HasTemplate(System.String)">
1852 <summary>
1853 Returns whether or not the loader has an instance of the file requested
1854 </summary>
1855 <param name="filename">The name of the template/file</param>
1856 <returns>True if the loader can provide the file</returns>
1857 </member>
1858 <member name="T:HttpServer.LogPrio">
1859 <summary>
1860 Priority for log entries
1861 </summary>
1862 <seealso cref="T:HttpServer.ILogWriter"/>
1863 </member>
1864 <member name="F:HttpServer.LogPrio.Trace">
1865 <summary>
1866 Very detailed logs to be able to follow the flow of the program.
1867 </summary>
1868 </member>
1869 <member name="F:HttpServer.LogPrio.Debug">
1870 <summary>
1871 Logs to help debug errors in the application
1872 </summary>
1873 </member>
1874 <member name="F:HttpServer.LogPrio.Info">
1875 <summary>
1876 Information to be able to keep track of state changes etc.
1877 </summary>
1878 </member>
1879 <member name="F:HttpServer.LogPrio.Warning">
1880 <summary>
1881 Something did not go as we expected, but it's no problem.
1882 </summary>
1883 </member>
1884 <member name="F:HttpServer.LogPrio.Error">
1885 <summary>
1886 Something that should not fail failed, but we can still keep
1887 on going.
1888 </summary>
1889 </member>
1890 <member name="F:HttpServer.LogPrio.Fatal">
1891 <summary>
1892 Something failed, and we cannot handle it properly.
1893 </summary>
1894 </member>
1895 <member name="T:HttpServer.ILogWriter">
1896 <summary>
1897 Interface used to write to log files.
1898 </summary>
1899 </member>
1900 <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
1901 <summary>
1902 Write an entry to the log file.
1903 </summary>
1904 <param name="source">object that is writing to the log</param>
1905 <param name="priority">importance of the log message</param>
1906 <param name="message">the message</param>
1907 </member>
1908 <member name="T:HttpServer.ConsoleLogWriter">
1909 <summary>
1910 This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode)
1911 </summary>
1912 <seealso cref="T:HttpServer.ILogWriter"/>
1913 </member>
1914 <member name="F:HttpServer.ConsoleLogWriter.Instance">
1915 <summary>
1916 The actual instance of this class.
1917 </summary>
1918 </member>
1919 <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
1920 <summary>
1921 Logwriters the specified source.
1922 </summary>
1923 <param name="source">object that wrote the logentry.</param>
1924 <param name="prio">Importance of the log message</param>
1925 <param name="message">The message.</param>
1926 </member>
1927 <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)">
1928 <summary>
1929 Get color for the specified logprio
1930 </summary>
1931 <param name="prio">prio for the log entry</param>
1932 <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns>
1933 </member>
1934 <member name="T:HttpServer.NullLogWriter">
1935 <summary>
1936 Default log writer, writes everything to null (nowhere).
1937 </summary>
1938 <seealso cref="T:HttpServer.ILogWriter"/>
1939 </member>
1940 <member name="F:HttpServer.NullLogWriter.Instance">
1941 <summary>
1942 The logging instance.
1943 </summary>
1944 </member>
1945 <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
1946 <summary>
1947 Writes everything to null
1948 </summary>
1949 <param name="source">object that wrote the logentry.</param>
1950 <param name="prio">Importance of the log message</param>
1951 <param name="message">The message.</param>
1952 </member>
1953 <member name="T:HttpServer.HttpInput">
1954 <summary>
1955 Contains some kind of input from the browser/client.
1956 can be QueryString, form data or any other request body content.
1957 </summary>
1958 </member>
1959 <member name="T:HttpServer.IHttpInput">
1960 <summary>
1961 Base class for request data containers
1962 </summary>
1963 </member>
1964 <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)">
1965 <summary>
1966 Adds a parameter mapped to the presented name
1967 </summary>
1968 <param name="name">The name to map the parameter to</param>
1969 <param name="value">The parameter value</param>
1970 </member>
1971 <member name="M:HttpServer.IHttpInput.Contains(System.String)">
1972 <summary>
1973 Returns true if the container contains the requested parameter
1974 </summary>
1975 <param name="name">Parameter id</param>
1976 <returns>True if parameter exists</returns>
1977 </member>
1978 <member name="P:HttpServer.IHttpInput.Item(System.String)">
1979 <summary>
1980 Returns a request parameter
1981 </summary>
1982 <param name="name">The name associated with the parameter</param>
1983 <returns></returns>
1984 </member>
1985 <member name="F:HttpServer.HttpInput.Empty">
1986 <summary> Representation of a non-initialized class instance </summary>
1987 </member>
1988 <member name="F:HttpServer.HttpInput._ignoreChanges">
1989 <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary>
1990 </member>
1991 <member name="M:HttpServer.HttpInput.#ctor(System.String)">
1992 <summary>
1993 Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
1994 </summary>
1995 <param name="name">form name.</param>
1996 </member>
1997 <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)">
1998 <summary>
1999 Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
2000 </summary>
2001 <param name="name">form name.</param>
2002 <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param>
2003 <remarks>this constructor should only be used by Empty</remarks>
2004 </member>
2005 <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)">
2006 <summary>Creates a deep copy of the HttpInput class</summary>
2007 <param name="input">The object to copy</param>
2008 <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
2009 </member>
2010 <member name="M:HttpServer.HttpInput.Add(System.String,System.String)">
2011 <summary>
2012 Add a new element. Form array elements are parsed
2013 and added in a correct hierachy.
2014 </summary>
2015 <param name="name">Name is converted to lower case.</param>
2016 <param name="value"></param>
2017 </member>
2018 <member name="M:HttpServer.HttpInput.Contains(System.String)">
2019 <summary>
2020 Returns true if the class contains a HttpInput value with the corresponding name
2021 </summary>
2022 <param name="name">The field/querystring name</param>
2023 <returns>True if the value exists</returns>
2024 </member>
2025 <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)">
2026 <summary>
2027 Parses an item and returns it.
2028 This function is primarly used to parse array items as in user[name].
2029 </summary>
2030 <param name="name"></param>
2031 <param name="value"></param>
2032 <returns></returns>
2033 </member>
2034 <member name="M:HttpServer.HttpInput.ToString">
2035 <summary> Outputs the instance representing all its values joined together </summary>
2036 <returns></returns>
2037 </member>
2038 <member name="M:HttpServer.HttpInput.ToString(System.Boolean)">
2039 <summary>Returns all items as an unescaped query string.</summary>
2040 <returns></returns>
2041 </member>
2042 <member name="M:HttpServer.HttpInput.ExtractOne(System.String)">
2043 <summary>
2044 Extracts one parameter from an array
2045 </summary>
2046 <param name="value">Containing the string array</param>
2047 <returns>All but the first value</returns>
2048 <example>
2049 string test1 = ExtractOne("system[user][extension][id]");
2050 string test2 = ExtractOne(test1);
2051 string test3 = ExtractOne(test2);
2052 // test1 = user[extension][id]
2053 // test2 = extension[id]
2054 // test3 = id
2055 </example>
2056 </member>
2057 <member name="M:HttpServer.HttpInput.Clear">
2058 <summary>Resets all data contained by class</summary>
2059 </member>
2060 <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
2061 <summary>
2062 Returns an enumerator that iterates through the collection.
2063 </summary>
2064
2065 <returns>
2066 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
2067 </returns>
2068 <filterpriority>1</filterpriority>
2069 </member>
2070 <member name="M:HttpServer.HttpInput.GetEnumerator">
2071 <summary>
2072 Returns an enumerator that iterates through a collection.
2073 </summary>
2074
2075 <returns>
2076 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
2077 </returns>
2078 <filterpriority>2</filterpriority>
2079 </member>
2080 <member name="P:HttpServer.HttpInput.Name">
2081 <summary>
2082 Form name as lower case
2083 </summary>
2084 </member>
2085 <member name="P:HttpServer.HttpInput.Item(System.String)">
2086 <summary>
2087 Get a form item.
2088 </summary>
2089 <param name="name"></param>
2090 <returns>Returns HttpInputItem.Empty if item was not found.</returns>
2091 </member>
2092 <member name="T:HttpServer.HttpParam">
2093 <summary>
2094 Returns item either from a form or a query string (checks them in that order)
2095 </summary>
2096 </member>
2097 <member name="F:HttpServer.HttpParam.Empty">
2098 <summary> Representation of a non-initialized HttpParam </summary>
2099 </member>
2100 <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)">
2101 <summary>Initialises the class to hold a value either from a post request or a querystring request</summary>
2102 </member>
2103 <member name="M:HttpServer.HttpParam.Add(System.String,System.String)">
2104 <summary>
2105 The add method is not availible for HttpParam
2106 since HttpParam checks both Request.Form and Request.QueryString
2107 </summary>
2108 <param name="name">name identifying the value</param>
2109 <param name="value">value to add</param>
2110 <exception cref="T:System.NotImplementedException"></exception>
2111 </member>
2112 <member name="M:HttpServer.HttpParam.Contains(System.String)">
2113 <summary>
2114 Checks whether the form or querystring has the specified value
2115 </summary>
2116 <param name="name">Name, case sensitive</param>
2117 <returns>true if found; otherwise false.</returns>
2118 </member>
2119 <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
2120 <summary>
2121 Returns an enumerator that iterates through the collection.
2122 </summary>
2123
2124 <returns>
2125 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
2126 </returns>
2127 <filterpriority>1</filterpriority>
2128 </member>
2129 <member name="M:HttpServer.HttpParam.GetEnumerator">
2130 <summary>
2131 Returns an enumerator that iterates through a collection.
2132 </summary>
2133
2134 <returns>
2135 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
2136 </returns>
2137 <filterpriority>2</filterpriority>
2138 </member>
2139 <member name="P:HttpServer.HttpParam.Item(System.String)">
2140 <summary>
2141 Fetch an item from the form or querystring (in that order).
2142 </summary>
2143 <param name="name"></param>
2144 <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns>
2145 </member>
2146 <member name="T:HttpServer.HttpFile">
2147 <summary>
2148 Container class for posted files
2149 </summary>
2150 </member>
2151 <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)">
2152 <summary>
2153 Creates a container for a posted file
2154 </summary>
2155 <param name="name">The identifier of the post field</param>
2156 <param name="filename">The file path</param>
2157 <param name="contentType">The content type of the file</param>
2158 <param name="uploadFilename">The name of the file uploaded</param>
2159 <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
2160 </member>
2161 <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)">
2162 <summary>
2163 Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/>
2164 </summary>
2165 <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
2166 </member>
2167 <member name="M:HttpServer.HttpFile.Finalize">
2168 <summary>Destructor disposing the file</summary>
2169 </member>
2170 <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)">
2171 <summary>
2172 Deletes the temporary file
2173 </summary>
2174 <param name="disposing">True if manual dispose</param>
2175 </member>
2176 <member name="M:HttpServer.HttpFile.Dispose">
2177 <summary>
2178 Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
2179 </summary>
2180 </member>
2181 <member name="P:HttpServer.HttpFile.Name">
2182 <summary>
2183 The name/id of the file
2184 </summary>
2185 </member>
2186 <member name="P:HttpServer.HttpFile.Filename">
2187 <summary>
2188 The full file path
2189 </summary>
2190 </member>
2191 <member name="P:HttpServer.HttpFile.UploadFilename">
2192 <summary>
2193 The name of the uploaded file
2194 </summary>
2195 </member>
2196 <member name="P:HttpServer.HttpFile.ContentType">
2197 <summary>
2198 The type of file
2199 </summary>
2200 </member>
2201 <member name="T:HttpServer.Helpers.ObjectForm">
2202 <summary>
2203 The object form class takes an object and creates form items for it.
2204 </summary>
2205 </member>
2206 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)">
2207 <summary>
2208 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
2209 </summary>
2210 <param name="method"></param>
2211 <param name="name">form name *and* id.</param>
2212 <param name="action">action to do when form is posted.</param>
2213 <param name="obj"></param>
2214 </member>
2215 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)">
2216 <summary>
2217 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
2218 </summary>
2219 <param name="name">form name *and* id.</param>
2220 <param name="action">action to do when form is posted.</param>
2221 <param name="obj">object to get values from</param>
2222 </member>
2223 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)">
2224 <summary>
2225 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
2226 </summary>
2227 <param name="action">form action.</param>
2228 <param name="obj">object to get values from.</param>
2229 </member>
2230 <member name="M:HttpServer.Helpers.ObjectForm.Begin">
2231 <summary>
2232 write out the FORM-tag.
2233 </summary>
2234 <returns>generated html code</returns>
2235 </member>
2236 <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)">
2237 <summary>
2238 Writeout the form tag
2239 </summary>
2240 <param name="isAjax">form should be posted through ajax.</param>
2241 <returns>generated html code</returns>
2242 </member>
2243 <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])">
2244 <summary>
2245 Generates a text box.
2246 </summary>
2247 <param name="propertyName"></param>
2248 <param name="options"></param>
2249 <returns>generated html code</returns>
2250 </member>
2251 <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])">
2252 <summary>
2253 password box
2254 </summary>
2255 <param name="propertyName"></param>
2256 <param name="options"></param>
2257 <returns>generated html code</returns>
2258 </member>
2259 <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])">
2260 <summary>
2261 Hiddens the specified property name.
2262 </summary>
2263 <param name="propertyName">Name of the property.</param>
2264 <param name="options">The options.</param>
2265 <returns>generated html code</returns>
2266 </member>
2267 <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)">
2268 <summary>
2269 Labels the specified property name.
2270 </summary>
2271 <param name="propertyName">property in object.</param>
2272 <param name="label">caption</param>
2273 <returns>generated html code</returns>
2274 </member>
2275 <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])">
2276 <summary>
2277 Generate a checkbox
2278 </summary>
2279 <param name="propertyName">property in object</param>
2280 <param name="value">checkbox value</param>
2281 <param name="options">additional html attributes.</param>
2282 <returns>generated html code</returns>
2283 </member>
2284 <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])">
2285 <summary>
2286 Write a html select tag
2287 </summary>
2288 <param name="propertyName">object property.</param>
2289 <param name="idColumn">id column</param>
2290 <param name="titleColumn">The title column.</param>
2291 <param name="options">The options.</param>
2292 <returns></returns>
2293 </member>
2294 <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])">
2295 <summary>
2296 Selects the specified property name.
2297 </summary>
2298 <param name="propertyName">Name of the property.</param>
2299 <param name="items">The items.</param>
2300 <param name="idColumn">The id column.</param>
2301 <param name="titleColumn">The title column.</param>
2302 <param name="options">The options.</param>
2303 <returns></returns>
2304 </member>
2305 <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)">
2306 <summary>
2307 Write a submit tag.
2308 </summary>
2309 <param name="value">button caption</param>
2310 <returns>html submit tag</returns>
2311 </member>
2312 <member name="M:HttpServer.Helpers.ObjectForm.End">
2313 <summary>
2314 html end form tag
2315 </summary>
2316 <returns>html</returns>
2317 </member>
2318 <member name="T:HttpServer.FormDecoders.FormDecoderProvider">
2319 <summary>
2320 This provider is used to let us implement any type of form decoding we want without
2321 having to rewrite anything else in the server.
2322 </summary>
2323 </member>
2324 <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)">
2325 <summary>
2326
2327 </summary>
2328 <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param>
2329 <param name="stream">Stream containg form data.</param>
2330 <param name="encoding">Encoding used when decoding the stream</param>
2331 <returns>HttpInput.EmptyLanguageNode if no parser was found. Must always return something (HttpInput.Empty instead of null)</returns>
2332 <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception>
2333 <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception>
2334 </member>
2335 <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)">
2336 <summary>
2337 Add a decoder.
2338 </summary>
2339 <param name="decoder"></param>
2340 <exception cref="T:System.ArgumentNullException"></exception>
2341 </member>
2342 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count">
2343 <summary>
2344 Number of added decoders.
2345 </summary>
2346 </member>
2347 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders">
2348 <summary>
2349 Use with care.
2350 </summary>
2351 </member>
2352 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder">
2353 <summary>
2354 Decoder used for unknown content types.
2355 </summary>
2356 </member>
2357 <member name="T:HttpServer.Rendering.Haml.Rules.AttributesRule">
2358 <summary>
2359 Contains an (html) attribute list.
2360 </summary>
2361 </member>
2362 <member name="T:HttpServer.Rendering.Haml.Rules.Rule">
2363 <summary>
2364 Rules are used during preparse
2365 </summary>
2366 </member>
2367 <member name="M:HttpServer.Rendering.Haml.Rules.Rule.IsMultiLine(HttpServer.Rendering.Haml.LineInfo,System.Boolean)">
2368 <summary>
2369 Determines if this node spans over multiple lines.
2370 </summary>
2371 <param name="line">contains line information (and text)</param>
2372 <param name="isContinued">true if rule have previously inited a multiline.</param>
2373 <returns>true if this line continues onto the next.</returns>///
2374 </member>
2375 <member name="M:HttpServer.Rendering.Haml.Rules.AttributesRule.IsMultiLine(HttpServer.Rendering.Haml.LineInfo,System.Boolean)">
2376 <summary>
2377 Determines if this node spans over multiple lines.
2378 </summary>
2379 <param name="line">contains line information (and text)</param>
2380 <param name="isContinued">true if the previous line was continued.</param>
2381 <returns>true if this line continues onto the next.</returns>
2382 </member>
2383 <member name="T:HttpServer.Rendering.Haml.Nodes.TextNode">
2384 <summary>
2385 A text only node.
2386 </summary>
2387 </member>
2388 <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node,System.String)">
2389 <summary>
2390
2391 </summary>
2392 <param name="parent">parent node</param>
2393 <param name="text">plain text</param>
2394 </member>
2395 <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
2396 <summary>
2397 Parse node contents add return a fresh node.
2398 </summary>
2399 <param name="prototypes">List containing all node types</param>
2400 <param name="parent">Node that this is a subnode to. Can be null</param>
2401 <param name="line">Line to parse</param>
2402 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
2403 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
2404 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
2405 </member>
2406 <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.CanHandle(System.String,System.Boolean)">
2407 <summary>
2408 determines if this node can handle the line (by checking the first word);
2409 </summary>
2410 <param name="word">Controller char (word)</param>
2411 <returns>true if text belongs to this node type</returns>
2412 <param name="firstNode">true if this is the first node on the line.</param>
2413 </member>
2414 <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.ToHtml">
2415 <summary>
2416 Generate HTML for this node.
2417 </summary>
2418 <returns></returns>
2419 </member>
2420 <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
2421 <summary>
2422 Convert the node to c# code
2423 </summary>
2424 <param name="inString">True if we are inside the internal stringbuilder</param>
2425 <param name="smallEnough">true if all subnodes fit on one line</param>
2426 <param name="smallEnoughIsDefaultValue">todo: add description</param>
2427 <returns>c# code</returns>
2428 </member>
2429 <member name="P:HttpServer.Rendering.Haml.Nodes.TextNode.Text">
2430 <summary>
2431 The text.
2432 </summary>
2433 </member>
2434 <member name="P:HttpServer.Rendering.Haml.Nodes.TextNode.IsTextNode">
2435 <summary>
2436 Is this a text node (containing plain text)?
2437 </summary>
2438 </member>
2439 <member name="T:HttpServer.HttpModules.ResourceFileModule">
2440 <summary>
2441 Serves files that are stored in embedded resources.
2442 </summary>
2443 </member>
2444 <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor">
2445 <summary>
2446 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
2447 Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
2448 through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
2449 </summary>
2450 </member>
2451 <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes">
2452 <summary>
2453 Mimtypes that this class can handle per default
2454 </summary>
2455 </member>
2456 <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)">
2457 <summary>
2458 Loads resources from a namespace in the given assembly to an uri
2459 </summary>
2460 <param name="toUri">The uri to map the resources to</param>
2461 <param name="fromAssembly">The assembly in which the resources reside</param>
2462 <param name="fromNamespace">The namespace from which to load the resources</param>
2463 <usage>
2464 resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
2465
2466 will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
2467 </usage>
2468 </member>
2469 <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)">
2470 <summary>
2471 Returns true if the module can handle the request
2472 </summary>
2473 </member>
2474 <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2475 <summary>
2476 Method that process the url
2477 </summary>
2478 <param name="request">Information sent by the browser about the request</param>
2479 <param name="response">Information that is being sent back to the client.</param>
2480 <param name="session">Session used to </param>
2481 <returns>true if this module handled the request.</returns>
2482 </member>
2483 <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes">
2484 <summary>
2485 List with all mime-type that are allowed.
2486 </summary>
2487 <remarks>All other mime types will result in a Forbidden http status code.</remarks>
2488 </member>
2489 <member name="T:HttpServer.FormDecoders.XmlDecoder">
2490 <summary>
2491 This decoder converts XML documents to form items.
2492 Each element becomes a subitem in the form, and each attribute becomes an item.
2493 </summary>
2494 <example>
2495 // xml: <hello id="1">something<world id="2">data</world></hello>
2496 // result:
2497 // form["hello"].Value = "something"
2498 // form["hello"]["id"].Value = 1
2499 // form["hello"]["world]["id"].Value = 1
2500 // form["hello"]["world"].Value = "data"
2501 </example>
2502 <remarks>
2503 The original xml document is stored in form["__xml__"].Value.
2504 </remarks>
2505 </member>
2506 <member name="T:HttpServer.FormDecoders.IFormDecoder">
2507 <summary>
2508 Interface for form content decoders.
2509 </summary>
2510 </member>
2511 <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
2512 <summary>
2513
2514 </summary>
2515 <param name="stream">Stream containing the content</param>
2516 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
2517 <param name="encoding">Stream enconding</param>
2518 <returns>A http form, or null if content could not be parsed.</returns>
2519 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
2520 </member>
2521 <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)">
2522 <summary>
2523 Checks if the decoder can handle the mime type
2524 </summary>
2525 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
2526 <returns>True if the decoder can parse the specified content type</returns>
2527 </member>
2528 <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
2529 <summary>
2530
2531 </summary>
2532 <param name="stream">Stream containing the content</param>
2533 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
2534 <param name="encoding">Stream encoding</param>
2535 Note: contentType and encoding are not used?
2536 <returns>A http form, or null if content could not be parsed.</returns>
2537 <exception cref="T:System.IO.InvalidDataException"></exception>
2538 </member>
2539 <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)">
2540 <summary>
2541 Recursive function that will go through an xml element and store it's content
2542 to the form item.
2543 </summary>
2544 <param name="item">(parent) Item in form that content should be added to.</param>
2545 <param name="node">Node that should be parsed.</param>
2546 </member>
2547 <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)">
2548 <summary>
2549 Checks if the decoder can handle the mime type
2550 </summary>
2551 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
2552 <returns>True if the decoder can parse the specified content type</returns>
2553 </member>
2554 <member name="T:HttpServer.Controllers.ControllerNameAttribute">
2555 <summary>
2556 This attribute can be used to map a controller to a specific url without using
2557 the class name.
2558 </summary>
2559 </member>
2560 <member name="M:HttpServer.Controllers.ControllerNameAttribute.#ctor(System.String)">
2561 <summary>
2562 Maps a controller to a url without using the controller name.
2563 </summary>
2564 <remarks>
2565 <para>Per default the class name is used to determine which url to handle.
2566 For instance, "class UserController" or "class User" tells the framework that
2567 the urls that starts with "/user" should be handled by that controller.</para>
2568 <para>This attribute can be used to circumvent that.</para>
2569 </remarks>
2570 <param name="name">The name.</param>
2571 </member>
2572 <member name="P:HttpServer.Controllers.ControllerNameAttribute.Name">
2573 <summary>
2574 The name that the controller should use
2575 </summary>
2576 </member>
2577 <member name="T:HttpServer.Sessions.IHttpSessionStore">
2578 <summary>
2579 A session store is used to store and load sessions on a media.
2580 The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory.
2581 </summary>
2582 </member>
2583 <member name="M:HttpServer.Sessions.IHttpSessionStore.Create">
2584 <summary>
2585 Creates a new http session with a generated id.
2586 </summary>
2587 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns>
2588 </member>
2589 <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)">
2590 <summary>
2591 Creates a new http session with a specific id
2592 </summary>
2593 <param name="id">Id used to identify the new cookie..</param>
2594 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
2595 <remarks>
2596 Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
2597 </remarks>
2598 </member>
2599 <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)">
2600 <summary>
2601 Load an existing session.
2602 </summary>
2603 <param name="sessionId">Session id (usually retrieved from a client side cookie).</param>
2604 <returns>A session if found; otherwise null.</returns>
2605 </member>
2606 <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)">
2607 <summary>
2608 Save an updated session to the store.
2609 </summary>
2610 <param name="session">Session id (usually retrieved from a client side cookie).</param>
2611 <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception>
2612 </member>
2613 <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
2614 <summary>
2615 We use the flyweight pattern which reuses small objects
2616 instead of creating new each time.
2617 </summary>
2618 <param name="session">Unused session that should be reused next time Create is called.</param>
2619 </member>
2620 <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup">
2621 <summary>
2622 Remove expired sessions
2623 </summary>
2624 </member>
2625 <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)">
2626 <summary>
2627 Remove a session
2628 </summary>
2629 <param name="sessionId">id of the session.</param>
2630 </member>
2631 <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)">
2632 <summary>
2633 Load a session from the store
2634 </summary>
2635 <param name="sessionId"></param>
2636 <returns>null if session is not found.</returns>
2637 </member>
2638 <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime">
2639 <summary>
2640 Number of minutes before a session expires.
2641 </summary>
2642 <value>Default time is 20 minutes.</value>
2643 </member>
2644 <member name="T:HttpServer.HttpListener">
2645 <summary>
2646 HTTP Listener waits for HTTP connections and provide us with <see cref="T:System.Net.HttpListenerContext"/>s using the
2647 <see cref="P:HttpServer.HttpListener.RequestHandler"/> delegate.
2648 </summary>
2649 </member>
2650 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32)">
2651 <summary>
2652 Listen for regular HTTP connections
2653 </summary>
2654 <param name="address">IP Address to accept connections on</param>
2655 <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
2656 </member>
2657 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
2658 <summary>
2659 Launch HttpListener in SSL mode
2660 </summary>
2661 <param name="address">IP Address to accept connections on</param>
2662 <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
2663 <param name="certificate">Certificate to use</param>
2664 </member>
2665 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
2666 <summary>
2667 Launch HttpListener in SSL mode
2668 </summary>
2669 <param name="address">IP Address to accept connections on</param>
2670 <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
2671 <param name="certificate">Certificate to use</param>
2672 <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
2673 </member>
2674 <member name="M:HttpServer.HttpListener.Start(System.Int32)">
2675 <summary>
2676 Start listen for new connections
2677 </summary>
2678 <param name="backlog">Number of connections that can stand in a queue to be accepted.</param>
2679 </member>
2680 <member name="M:HttpServer.HttpListener.Stop">
2681 <summary>
2682 Stop the listener
2683 </summary>
2684 <exception cref="T:System.Net.Sockets.SocketException"></exception>
2685 </member>
2686 <member name="E:HttpServer.HttpListener.Accepted">
2687 <summary>
2688 A client have been accepted, but not handled, by the listener.
2689 </summary>
2690 </member>
2691 <member name="P:HttpServer.HttpListener.DisconnectHandler">
2692 <summary>
2693 Invoked when a client disconnects
2694 </summary>
2695 </member>
2696 <member name="P:HttpServer.HttpListener.LogWriter">
2697 <summary>
2698 Gives you a change to receive log entries for all internals of the HTTP library.
2699 </summary>
2700 <remarks>
2701 You may not switch log writer after starting the listener.
2702 </remarks>
2703 </member>
2704 <member name="P:HttpServer.HttpListener.RequestHandler">
2705 <summary>
2706 This handler will be invoked each time a new connection is accepted.
2707 </summary>
2708 </member>
2709 <member name="P:HttpServer.HttpListener.UseTraceLogs">
2710 <summary>
2711 True if we should turn on trace logs.
2712 </summary>
2713 </member>
2714 <member name="E:HttpServer.HttpListener.ExceptionThrown">
2715 <summary>
2716 Let's to receive unhandled exceptions from the threads.
2717 </summary>
2718 <remarks>
2719 Exceptions will be thrown during debug mode if this event is not used,
2720 exceptions will be printed to console and suppressed during release mode.
2721 </remarks>
2722 </member>
2723 <member name="T:HttpServer.Helpers.Implementations.PrototypeImp">
2724 <summary>
2725 PrototypeJS implementation of the javascript functions.
2726 </summary>
2727 </member>
2728 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])">
2729 <summary>
2730 Requests a url through ajax
2731 </summary>
2732 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
2733 <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
2734 <returns>a link tag</returns>
2735 <remarks>onclick attribute is used by this method.</remarks>
2736 <example>
2737 <code>
2738 // plain text
2739 JSHelper.AjaxRequest("'/user/show/1'");
2740
2741 // ajax request using this.href
2742 string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
2743 </code>
2744 </example>
2745 </member>
2746 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)">
2747 <summary>
2748 Determins if a list of strings contains a specific value
2749 </summary>
2750 <param name="options">options to check in</param>
2751 <param name="value">value to find</param>
2752 <returns>true if value was found</returns>
2753 <remarks>case insensitive</remarks>
2754 </member>
2755 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])">
2756 <summary>
2757 Ajax requests that updates an element with
2758 the fetched content
2759 </summary>
2760 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
2761 <param name="targetId">element to update</param>
2762 <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
2763 <returns>A link tag.</returns>
2764 <example>
2765 <code>
2766 JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
2767 </code>
2768 </example>
2769 </member>
2770 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])">
2771 <summary>
2772 A link that pop ups a Dialog (overlay div)
2773 </summary>
2774 <param name="url">url to contents of dialog</param>
2775 <param name="title">link title</param>
2776 <param name="htmlAttributes">name, value, name, value</param>
2777 <returns>
2778 A "a"-tag that popups a dialog when clicked
2779 </returns>
2780 <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para>
2781 And the following javascript (load it in application.js):
2782 <code>
2783 Event.observe(window, 'load',
2784 function() {
2785 document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
2786 }
2787 );
2788 </code>
2789 </remarks>
2790 <example>
2791 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
2792 </example>
2793 </member>
2794 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])">
2795 <summary>
2796 create a modal dialog (usually using DIVs)
2797 </summary>
2798 <param name="url">url to fetch</param>
2799 <param name="title">dialog title</param>
2800 <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param>
2801 <returns></returns>
2802 </member>
2803 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog">
2804 <summary>
2805 Close a javascript dialog window/div.
2806 </summary>
2807 <returns>javascript for closing a dialog.</returns>
2808 <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/>
2809 </member>
2810 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])">
2811 <summary>
2812 javascript action that should be added to the "onsubmit" event in the form tag.
2813 </summary>
2814 <param name="options">remember to encapsulate strings in ''</param>
2815 <returns></returns>
2816 <remarks>All javascript option names should end with colon.</remarks>
2817 <example>
2818 <code>
2819 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
2820 </code>
2821 </example>
2822 </member>
2823 <member name="T:HttpServer.Exceptions.NotFoundException">
2824 <summary>
2825 The requested resource was not found in the web server.
2826 </summary>
2827 </member>
2828 <member name="T:HttpServer.Exceptions.HttpException">
2829 <summary>
2830 All HTTP based exceptions will derive this class.
2831 </summary>
2832 </member>
2833 <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
2834 <summary>
2835 Create a new HttpException
2836 </summary>
2837 <param name="code">http status code (sent in the response)</param>
2838 <param name="message">error description</param>
2839 </member>
2840 <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
2841 <summary>
2842 Create a new HttpException
2843 </summary>
2844 <param name="code">http status code (sent in the response)</param>
2845 <param name="message">error description</param>
2846 <param name="inner">inner exception</param>
2847 </member>
2848 <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode">
2849 <summary>
2850 status code to use in the response.
2851 </summary>
2852 </member>
2853 <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)">
2854 <summary>
2855 Create a new exception
2856 </summary>
2857 <param name="message">message describing the error</param>
2858 <param name="inner">inner exception</param>
2859 </member>
2860 <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)">
2861 <summary>
2862 Create a new exception
2863 </summary>
2864 <param name="message">message describing the error</param>
2865 </member>
2866 <member name="T:HttpServer.Controllers.RequestController">
2867 <summary>
2868 A controller in the Model-View-Controller pattern.
2869 Derive this class and add method with one of the following signatures:
2870 "public string MethodName()" or "public void MyMethod()".
2871
2872 The first should return a string with the response, the latter
2873 should use SendHeader and SendBody methods to handle the response.
2874 </summary>
2875 <remarks>
2876 Last segment of the path is always broken into the properties Id and RequestedType
2877 Alhtough note that the RequestedType can also be empty if no file extension have
2878 been specified. A typical use of file extensions in controllers is to specify which type of
2879 format to return.
2880 </remarks>
2881 <example>
2882 public class MyController : RequestController
2883 {
2884 public string Hello()
2885 {
2886 if (RequestedType == "xml")
2887 return "&lt;hello&gt;World&lt;hello&gt;";
2888 else
2889 return "Hello " + Request.QueryString["user"].Value + ", welcome to my world";
2890 }
2891
2892 public void File()
2893 {
2894 Response.Headers.ContentType = "text/xml";
2895 Response.SendHeader();
2896 }
2897 }
2898 </example>
2899 <seealso cref="T:HttpServer.Controllers.ControllerNameAttribute"/>
2900 <seealso cref="T:HttpServer.Controllers.AuthRequiredAttribute"/>
2901 <seealso cref="T:HttpServer.Controllers.AuthValidatorAttribute"/>
2902 </member>
2903 <member name="M:HttpServer.Controllers.RequestController.#ctor(HttpServer.Controllers.RequestController)">
2904 <summary>
2905 create a new request controller
2906 </summary>
2907 <param name="controller">prototype to copy information from</param>
2908 </member>
2909 <member name="M:HttpServer.Controllers.RequestController.#ctor">
2910 <summary>
2911 create a new controller
2912 </summary>
2913 </member>
2914 <member name="M:HttpServer.Controllers.RequestController.CanHandle(HttpServer.IHttpRequest)">
2915 <summary>
2916 Method that determines if an url should be handled or not by the module
2917 </summary>
2918 <param name="request">Url requested by the client.</param>
2919 <returns>true if module should handle the url.</returns>
2920 </member>
2921 <member name="M:HttpServer.Controllers.RequestController.GetMethod(HttpServer.IHttpRequest)">
2922 <summary>
2923 Determines which method to use.
2924 </summary>
2925 <param name="request">Requested resource</param>
2926 </member>
2927 <member name="M:HttpServer.Controllers.RequestController.InvokeBeforeFilters">
2928 <summary>
2929 Call all before filters
2930 </summary>
2931 <returns>true if a before filter wants to abort the processing.</returns>
2932 </member>
2933 <member name="M:HttpServer.Controllers.RequestController.InvokeMethod">
2934 <summary>
2935 Override this method to be able to process result
2936 returned by controller method.
2937 </summary>
2938 </member>
2939 <member name="M:HttpServer.Controllers.RequestController.OnUnhandledException(System.Exception)">
2940 <summary>
2941 Override this method if you want to be able to
2942 handle unhanded exceptions
2943 </summary>
2944 <param name="err">thrown exception</param>
2945 <remarks>Don't "eat" exceptions derived from HttpException since
2946 they are handled by the framework,unless your are sure of what you are
2947 doing..</remarks>
2948 </member>
2949 <member name="M:HttpServer.Controllers.RequestController.MapMethods">
2950 <summary>
2951 This method goes through all methods in the controller and
2952 add's them to a dictionary. They are later used to invoke
2953 the correct method depending on the url
2954 </summary>
2955 </member>
2956 <member name="M:HttpServer.Controllers.RequestController.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2957 <summary>
2958 Method that process the url
2959 </summary>
2960 <param name="request">Uses Uri and QueryString to determine method.</param>
2961 <param name="response">Relays response object to invoked method.</param>
2962 <param name="session">Relays session object to invoked method. </param>
2963 </member>
2964 <member name="M:HttpServer.Controllers.RequestController.SetupRequest(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2965 <summary>
2966 Will assign all variables that are unique for each session
2967 </summary>
2968 <param name="request"></param>
2969 <param name="response"></param>
2970 <param name="session"></param>
2971 </member>
2972 <member name="M:HttpServer.Controllers.RequestController.Clone">
2973 <summary>
2974 Make a clone of this controller
2975 </summary>
2976 <returns>a new controller with the same base information as this one.</returns>
2977 </member>
2978 <member name="P:HttpServer.Controllers.RequestController.AuthenticationTag">
2979 <summary>
2980 object that was attached during http authentication process.
2981 </summary>
2982 <remarks>
2983 You can also assign this tag yourself if you are using regular
2984 http page login.
2985 </remarks>
2986 <seealso cref="T:HttpServer.Authentication.AuthModule"/>
2987 </member>
2988 <member name="P:HttpServer.Controllers.RequestController.ControllerName">
2989 <summary>
2990 Name of this controller (class name without the "Controller" part)
2991 </summary>
2992 </member>
2993 <member name="P:HttpServer.Controllers.RequestController.DefaultMethod">
2994 <summary>
2995 Specifies the method to use if no action have been specified.
2996 </summary>
2997 <exception cref="T:System.ArgumentException">If specified method do not exist.</exception>
2998 </member>
2999 <member name="P:HttpServer.Controllers.RequestController.Id">
3000 <summary>
3001 Id is the third part of the uri path.
3002 </summary>
3003 <remarks>
3004 <para>Is extracted as in: /controllername/methodname/id/
3005 </para>
3006 <para>string.Empty if not specified.</para>
3007 </remarks>
3008 <example></example>
3009 </member>
3010 <member name="P:HttpServer.Controllers.RequestController.MethodName">
3011 <summary>
3012 Method currently being invoked.
3013 Always in lower case.
3014 </summary>
3015 </member>
3016 <member name="P:HttpServer.Controllers.RequestController.Request">
3017 <summary>
3018 Request information (like Url, form, querystring etc)
3019 </summary>
3020 </member>
3021 <member name="P:HttpServer.Controllers.RequestController.RequestedExtension">
3022 <summary>
3023 Extension if a filename was specified.
3024 </summary>
3025 </member>
3026 <member name="P:HttpServer.Controllers.RequestController.Response">
3027 <summary>
3028 Response information (that is going to be sent back to the browser/client)
3029 </summary>
3030 </member>
3031 <member name="P:HttpServer.Controllers.RequestController.Session">
3032 <summary>
3033 Session information, is stored between requests as long as the session cookie is valid.
3034 </summary>
3035 </member>
3036 <member name="T:HttpServer.Controllers.AuthRequiredAttribute">
3037 <summary>
3038 Marks methods to let framework know that the method is protected
3039 </summary>
3040 <seealso cref="T:HttpServer.Controllers.AuthValidatorAttribute"/>
3041 <seealso cref="T:HttpServer.Controllers.RequestController"/>
3042 </member>
3043 <member name="M:HttpServer.Controllers.AuthRequiredAttribute.#ctor">
3044 <summary>
3045 Initializes a new instance of the <see cref="T:HttpServer.Controllers.AuthRequiredAttribute"/> class.
3046 </summary>
3047 </member>
3048 <member name="M:HttpServer.Controllers.AuthRequiredAttribute.#ctor(System.Int32)">
3049 <summary>
3050
3051 </summary>
3052 <param name="level">
3053 Level is a value defined by you. It should be used to determine the users
3054 that can access the method tagged with the AuthRequired attribute.
3055 </param>
3056 <example>
3057 <![CDATA[
3058 public enum UserLevel
3059 {
3060 Guest,
3061 User,
3062 Admin,
3063 SuperAdmin
3064 }
3065 public class UserController : RequestController
3066 {
3067 [AuthRequired(UserLevel.User)]
3068 public string View()
3069 {
3070 return "Can also be viewed by users";
3071 }
3072
3073 [AuthValidatorAttribute]
3074 public bool ValidateUser(int level)
3075 {
3076 (User)user = Session["user"];
3077 return user != null && user.Status >= level;
3078 }
3079 }
3080 ]]>
3081 </example>
3082 </member>
3083 <member name="P:HttpServer.Controllers.AuthRequiredAttribute.Level">
3084 <summary>
3085 Level is a value defined by you. It should be used to determine the users
3086 that can access the method tagged with the AuthRequired attribute.
3087 </summary>
3088 </member>
3089 <member name="T:HttpServer.Sessions.MemorySession">
3090 <summary>
3091 A session stored in memory.
3092 </summary>
3093 </member>
3094 <member name="T:HttpServer.Sessions.IHttpSession">
3095 <summary>
3096 Interface for sessions
3097 </summary>
3098 </member>
3099 <member name="M:HttpServer.Sessions.IHttpSession.Clear">
3100 <summary>
3101 Remove everything from the session
3102 </summary>
3103 </member>
3104 <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)">
3105 <summary>
3106 Remove everything from the session
3107 </summary>
3108 <param name="expires">True if the session is cleared due to expiration</param>
3109 </member>
3110 <member name="P:HttpServer.Sessions.IHttpSession.Id">
3111 <summary>
3112 Session id
3113 </summary>
3114 </member>
3115 <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)">
3116 <summary>
3117 Should
3118 </summary>
3119 <param name="name">Name of the session variable</param>
3120 <returns>null if it's not set</returns>
3121 <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception>
3122 </member>
3123 <member name="P:HttpServer.Sessions.IHttpSession.Accessed">
3124 <summary>
3125 When the session was last accessed.
3126 This property is touched by the http server each time the
3127 session is requested.
3128 </summary>
3129 </member>
3130 <member name="P:HttpServer.Sessions.IHttpSession.Count">
3131 <summary>
3132 Number of session variables.
3133 </summary>
3134 </member>
3135 <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear">
3136 <summary>
3137 Event triggered upon clearing the session
3138 </summary>
3139 </member>
3140 <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)">
3141 <summary>
3142
3143 </summary>
3144 <param name="id">A unique id used by the sessions store to identify the session</param>
3145 </member>
3146 <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)">
3147 <summary>
3148 Id
3149 </summary>
3150 <param name="id"></param>
3151 </member>
3152 <member name="M:HttpServer.Sessions.MemorySession.Clear">
3153 <summary>
3154 Remove everything from the session
3155 </summary>
3156 </member>
3157 <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)">
3158 <summary>
3159 Clears the specified expire.
3160 </summary>
3161 <param name="expires">True if the session is cleared due to expiration</param>
3162 </member>
3163 <member name="M:HttpServer.Sessions.MemorySession.Dispose">
3164 <summary>
3165 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
3166 </summary>
3167 <filterpriority>2</filterpriority>
3168 </member>
3169 <member name="P:HttpServer.Sessions.MemorySession.Id">
3170 <summary>
3171 Session id
3172 </summary>
3173 </member>
3174 <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)">
3175 <summary>
3176 Should
3177 </summary>
3178 <param name="name">Name of the session variable</param>
3179 <returns>null if it's not set</returns>
3180 </member>
3181 <member name="P:HttpServer.Sessions.MemorySession.Accessed">
3182 <summary>
3183 when the session was last accessed.
3184 </summary>
3185 <remarks>
3186 Used to determine when the session should be removed.
3187 </remarks>
3188 </member>
3189 <member name="P:HttpServer.Sessions.MemorySession.Count">
3190 <summary>
3191 Number of values in the session
3192 </summary>
3193 </member>
3194 <member name="P:HttpServer.Sessions.MemorySession.Changed">
3195 <summary>
3196 Flag to indicate that the session have been changed
3197 and should be saved into the session store.
3198 </summary>
3199 </member>
3200 <member name="E:HttpServer.Sessions.MemorySession.BeforeClear">
3201 <summary>
3202 Event triggered upon clearing the session
3203 </summary>
3204 </member>
3205 <member name="T:HttpServer.Rendering.Haml.Rules.NewLineRule">
3206 <summary>
3207 IRule that says that something :)
3208 </summary>
3209 </member>
3210 <member name="M:HttpServer.Rendering.Haml.Rules.NewLineRule.IsMultiLine(HttpServer.Rendering.Haml.LineInfo,System.Boolean)">
3211 <summary>
3212 Determines if this node spans over multiple lines.
3213 </summary>
3214 <param name="line">contains line information (and text)</param>
3215 <param name="isContinued">true if the previous line was continued.</param>
3216 <returns>true if this line continues onto the next.</returns>
3217 </member>
3218 <member name="T:HttpServer.Rendering.Haml.Nodes.TagNode">
3219 <summary>
3220 Represents a HTML tag.
3221 </summary>
3222 </member>
3223 <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)">
3224 <summary>
3225 Create a new HTML tag node.
3226 </summary>
3227 <param name="parent">parent node</param>
3228 </member>
3229 <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.CanHandle(System.String,System.Boolean)">
3230 <summary>
3231 determines if this node can handle the line (by checking the first word);
3232 </summary>
3233 <param name="word">Controller char (word)</param>
3234 <returns>true if text belongs to this node type</returns>
3235 <param name="firstNode">first node on line.</param>
3236 </member>
3237 <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
3238 <summary>
3239 Parse node contents add return a fresh node.
3240 </summary>
3241 <param name="parent">Node that this is a subnode to. Can be null</param>
3242 <param name="prototypes">A list with node types</param>
3243 <param name="line">Line to parse</param>
3244 <param name="offset">Where to start the parsing. Will be set to where the next node should start parsing</param>
3245 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
3246 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
3247 </member>
3248 <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
3249 <summary>
3250 Convert the node to c# code
3251 </summary>
3252 <param name="inString">True if we are inside the internal stringbuilder</param>
3253 <param name="smallEnough">true if all subnodes fit on one line</param>
3254 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
3255 <returns>c# code</returns>
3256 </member>
3257 <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.ToHtml">
3258 <summary>
3259 Convert node to HTML (with ASP-tags)
3260 </summary>
3261 <returns>HTML string</returns>
3262 </member>
3263 <member name="P:HttpServer.Rendering.Haml.Nodes.TagNode.IsTextNode">
3264 <summary>
3265 This is a plain text node
3266 </summary>
3267 </member>
3268 <member name="P:HttpServer.Rendering.Haml.Nodes.TagNode.Name">
3269 <summary>
3270 tag name
3271 </summary>
3272 </member>
3273 <member name="T:HttpServer.Rendering.TemplateException">
3274 <summary>
3275 Thrown when a template cannot be compiled.
3276 </summary>
3277 </member>
3278 <member name="M:HttpServer.Rendering.TemplateException.#ctor(System.String,Fadd.CompilerException)">
3279 <summary>
3280 Initializes a new instance of the <see cref="T:HttpServer.Rendering.TemplateException"/> class.
3281 </summary>
3282 <param name="templateName">Template that failed compilation.</param>
3283 <param name="err">Exception thrown by the compiler.</param>
3284 </member>
3285 <member name="M:HttpServer.Rendering.TemplateException.ToString">
3286 <summary>
3287 Creates and returns a string representation of the current exception.
3288 </summary>
3289 <returns>
3290 A string representation of the current exception.
3291 </returns>
3292 <PermissionSet>
3293 <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*"/>
3294 </PermissionSet>
3295 </member>
3296 <member name="P:HttpServer.Rendering.TemplateException.Message">
3297 <summary>
3298 Gets a message that describes the current exception.
3299 </summary>
3300 <value></value>
3301 <returns>
3302 The error message that explains the reason for the exception, or an empty string("").
3303 </returns>
3304 </member>
3305 <member name="T:HttpServer.Method">
3306 <summary>
3307 Contains all HTTP Methods (according to the HTTP 1.1 specification)
3308 <para>
3309 See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
3310 </para>
3311 </summary>
3312 </member>
3313 <member name="F:HttpServer.Method.Delete">
3314 <summary>
3315 The DELETE method requests that the origin server delete the resource identified by the Request-URI.
3316 </summary>
3317 <remarks>
3318 <para>
3319 This method MAY be overridden by human intervention (or other means) on the origin server.
3320 The client cannot be guaranteed that the operation has been carried out, even if the status code
3321 returned from the origin server indicates that the action has been completed successfully.
3322 </para>
3323 <para>
3324 However, the server SHOULD NOT indicate success unless, at the time the response is given,
3325 it intends to delete the resource or move it to an inaccessible location.
3326 </para>
3327 <para>
3328 A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
3329 202 (Accepted) if the action has not yet been enacted,
3330 or 204 (No Content) if the action has been enacted but the response does not include an entity.
3331 </para>
3332 <para>
3333 If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
3334 those entries SHOULD be treated as stale. Responses to this method are not cacheable.
3335 </para>
3336 </remarks>
3337 </member>
3338 <member name="F:HttpServer.Method.Get">
3339 <summary>
3340 The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
3341 </summary>
3342 <remarks>
3343 <para>
3344 If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
3345 entity in the response and not the source text of the process, unless that text happens to be the output of the process.
3346 </para>
3347 <para>
3348 The semantics of the GET method change to a "conditional GET" if the request message includes an
3349 If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
3350 A conditional GET method requests that the entity be transferred only under the circumstances described
3351 by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
3352 usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
3353 data already held by the client.
3354 </para>
3355 </remarks>
3356 </member>
3357 <member name="F:HttpServer.Method.Header">
3358 <summary>
3359 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
3360 </summary>
3361 <remarks>
3362 The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
3363 information sent in response to a GET request. This method can be used for obtaining metainformation about
3364 the entity implied by the request without transferring the entity-body itself.
3365
3366 This method is often used for testing hypertext links for validity, accessibility, and recent modification.
3367 </remarks>
3368 </member>
3369 <member name="F:HttpServer.Method.Options">
3370 <summary>
3371 <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>
3372 </summary>
3373 <remarks>
3374 <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>
3375 </remarks>
3376 </member>
3377 <member name="F:HttpServer.Method.Post">
3378 <summary>
3379 The POST method is used to request that the origin server accept the entity enclosed
3380 in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
3381 </summary>
3382 <remarks>
3383 POST is designed to allow a uniform method to cover the following functions:
3384 <list type="bullet">
3385 <item>
3386 Annotation of existing resources;
3387 </item><item>
3388 Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
3389 </item><item>
3390 Providing a block of data, such as the result of submitting a form, to a data-handling process;
3391 </item><item>
3392 Extending a database through an append operation.
3393 </item>
3394 </list>
3395 <para>
3396 If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
3397 contain an entity which describes the status of the request and refers to the new resource, and a
3398 Location header (see section 14.30).
3399 </para>
3400 <para>
3401 The action performed by the POST method might not result in a resource that can be identified by a URI.
3402 In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
3403 whether or not the response includes an entity that describes the result.
3404 </para><para>
3405 Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
3406 or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
3407 to retrieve a cacheable resource.
3408 </para>
3409 </remarks>
3410 </member>
3411 <member name="F:HttpServer.Method.Put">
3412 <summary>
3413 The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
3414 </summary>
3415 <remarks>
3416 <list type="bullet">
3417 <item>
3418 If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
3419 modified version of the one residing on the origin server.
3420 </item><item>
3421 If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
3422 resource by the requesting user agent, the origin server can create the resource with that URI.
3423 </item><item>
3424 If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
3425 </item><item>
3426 If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
3427 indicate successful completion of the request.
3428 </item><item>
3429 If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
3430 given that reflects the nature of the problem.
3431 </item>
3432 </list>
3433 <para>
3434 The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
3435 understand or implement and MUST return a 501 (Not Implemented) response in such cases.
3436 </para>
3437 </remarks>
3438 </member>
3439 <member name="F:HttpServer.Method.Trace">
3440 <summary>
3441 The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
3442 </summary>
3443 </member>
3444 <member name="T:HttpServer.Methods">
3445 <summary>
3446 Contains all HTTP Methods (according to the HTTP 1.1 specification)
3447 <para>
3448 See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
3449 </para>
3450 </summary>
3451 </member>
3452 <member name="F:HttpServer.Methods.Delete">
3453 <summary>
3454 The DELETE method requests that the origin server delete the resource identified by the Request-URI.
3455 </summary>
3456 <remarks>
3457 <para>
3458 This method MAY be overridden by human intervention (or other means) on the origin server.
3459 The client cannot be guaranteed that the operation has been carried out, even if the status code
3460 returned from the origin server indicates that the action has been completed successfully.
3461 </para>
3462 <para>
3463 However, the server SHOULD NOT indicate success unless, at the time the response is given,
3464 it intends to delete the resource or move it to an inaccessible location.
3465 </para>
3466 <para>
3467 A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
3468 202 (Accepted) if the action has not yet been enacted,
3469 or 204 (No Content) if the action has been enacted but the response does not include an entity.
3470 </para>
3471 <para>
3472 If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
3473 those entries SHOULD be treated as stale. Responses to this method are not cacheable.
3474 </para>
3475 </remarks>
3476 </member>
3477 <member name="F:HttpServer.Methods.Get">
3478 <summary>
3479 The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
3480 </summary>
3481 <remarks>
3482 <para>
3483 If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
3484 entity in the response and not the source text of the process, unless that text happens to be the output of the process.
3485 </para>
3486 <para>
3487 The semantics of the GET method change to a "conditional GET" if the request message includes an
3488 If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
3489 A conditional GET method requests that the entity be transferred only under the circumstances described
3490 by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
3491 usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
3492 data already held by the client.
3493 </para>
3494 </remarks>
3495 </member>
3496 <member name="F:HttpServer.Methods.Header">
3497 <summary>
3498 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
3499 </summary>
3500 <remarks>
3501 The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
3502 information sent in response to a GET request. This method can be used for obtaining metainformation about
3503 the entity implied by the request without transferring the entity-body itself.
3504
3505 This method is often used for testing hypertext links for validity, accessibility, and recent modification.
3506 </remarks>
3507 </member>
3508 <member name="F:HttpServer.Methods.Options">
3509 <summary>
3510 <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>
3511 </summary>
3512 <remarks>
3513 <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>
3514 </remarks>
3515 </member>
3516 <member name="F:HttpServer.Methods.Post">
3517 <summary>
3518 The POST method is used to request that the origin server accept the entity enclosed
3519 in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
3520 </summary>
3521 <remarks>
3522 POST is designed to allow a uniform method to cover the following functions:
3523 <list type="bullet">
3524 <item>
3525 Annotation of existing resources;
3526 </item><item>
3527 Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
3528 </item><item>
3529 Providing a block of data, such as the result of submitting a form, to a data-handling process;
3530 </item><item>
3531 Extending a database through an append operation.
3532 </item>
3533 </list>
3534 <para>
3535 If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
3536 contain an entity which describes the status of the request and refers to the new resource, and a
3537 Location header (see section 14.30).
3538 </para>
3539 <para>
3540 The action performed by the POST method might not result in a resource that can be identified by a URI.
3541 In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
3542 whether or not the response includes an entity that describes the result.
3543 </para><para>
3544 Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
3545 or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
3546 to retrieve a cacheable resource.
3547 </para>
3548 </remarks>
3549 </member>
3550 <member name="F:HttpServer.Methods.Put">
3551 <summary>
3552 The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
3553 </summary>
3554 <remarks>
3555 <list type="bullet">
3556 <item>
3557 If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
3558 modified version of the one residing on the origin server.
3559 </item><item>
3560 If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
3561 resource by the requesting user agent, the origin server can create the resource with that URI.
3562 </item><item>
3563 If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
3564 </item><item>
3565 If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
3566 indicate successful completion of the request.
3567 </item><item>
3568 If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
3569 given that reflects the nature of the problem.
3570 </item>
3571 </list>
3572 <para>
3573 The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
3574 understand or implement and MUST return a 501 (Not Implemented) response in such cases.
3575 </para>
3576 </remarks>
3577 </member>
3578 <member name="F:HttpServer.Methods.Trace">
3579 <summary>
3580 The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
3581 </summary>
3582 </member>
3583 <member name="T:HttpServer.IHttpRequest">
3584 <summary>
3585 Contains serverside http request information.
3586 </summary>
3587 </member>
3588 <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
3589 <summary>
3590 Decode body into a form.
3591 </summary>
3592 <param name="providers">A list with form decoders.</param>
3593 <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
3594 <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
3595 </member>
3596 <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)">
3597 <summary>
3598 Sets the cookies.
3599 </summary>
3600 <param name="cookies">The cookies.</param>
3601 </member>
3602 <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)">
3603 <summary>
3604 Called during parsing of a IHttpRequest.
3605 </summary>
3606 <param name="name">Name of the header, should not be url encoded</param>
3607 <param name="value">Value of the header, should not be url encoded</param>
3608 <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
3609 </member>
3610 <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
3611 <summary>
3612 Add bytes to the body
3613 </summary>
3614 <param name="bytes">buffer to read bytes from</param>
3615 <param name="offset">where to start read</param>
3616 <param name="length">number of bytes to read</param>
3617 <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
3618 <exception cref="T:System.ArgumentException"></exception>
3619 <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
3620 </member>
3621 <member name="M:HttpServer.IHttpRequest.Clear">
3622 <summary>
3623 Clear everything in the request
3624 </summary>
3625 </member>
3626 <member name="P:HttpServer.IHttpRequest.BodyIsComplete">
3627 <summary>
3628 Have all body content bytes been received?
3629 </summary>
3630 </member>
3631 <member name="P:HttpServer.IHttpRequest.AcceptTypes">
3632 <summary>
3633 Kind of types accepted by the client.
3634 </summary>
3635 </member>
3636 <member name="P:HttpServer.IHttpRequest.Body">
3637 <summary>
3638 Submitted body contents
3639 </summary>
3640 </member>
3641 <member name="P:HttpServer.IHttpRequest.Connection">
3642 <summary>
3643 Kind of connection used for the session.
3644 </summary>
3645 </member>
3646 <member name="P:HttpServer.IHttpRequest.ContentLength">
3647 <summary>
3648 Number of bytes in the body
3649 </summary>
3650 </member>
3651 <member name="P:HttpServer.IHttpRequest.Headers">
3652 <summary>
3653 Headers sent by the client. All names are in lower case.
3654 </summary>
3655 </member>
3656 <member name="P:HttpServer.IHttpRequest.HttpVersion">
3657 <summary>
3658 Version of http.
3659 Probably HttpHelper.HTTP10 or HttpHelper.HTTP11
3660 </summary>
3661 <seealso cref="T:HttpServer.HttpHelper"/>
3662 </member>
3663 <member name="P:HttpServer.IHttpRequest.Method">
3664 <summary>
3665 Requested method, always upper case.
3666 </summary>
3667 <see cref="P:HttpServer.IHttpRequest.Method"/>
3668 </member>
3669 <member name="P:HttpServer.IHttpRequest.QueryString">
3670 <summary>
3671 Variables sent in the query string
3672 </summary>
3673 </member>
3674 <member name="P:HttpServer.IHttpRequest.Uri">
3675 <summary>
3676 Requested URI (url)
3677 </summary>
3678 </member>
3679 <member name="P:HttpServer.IHttpRequest.UriParts">
3680 <summary>
3681 Uri absolute path splitted into parts.
3682 </summary>
3683 <example>
3684 // uri is: http://gauffin.com/code/tiny/
3685 Console.WriteLine(request.UriParts[0]); // result: code
3686 Console.WriteLine(request.UriParts[1]); // result: tiny
3687 </example>
3688 <remarks>
3689 If you're using controllers than the first part is controller name,
3690 the second part is method name and the third part is Id property.
3691 </remarks>
3692 <seealso cref="P:HttpServer.IHttpRequest.Uri"/>
3693 </member>
3694 <member name="P:HttpServer.IHttpRequest.Param">
3695 <summary>
3696 Check's both QueryString and Form after the parameter.
3697 </summary>
3698 </member>
3699 <member name="P:HttpServer.IHttpRequest.Form">
3700 <summary>
3701 Form parameters.
3702 </summary>
3703 </member>
3704 <member name="P:HttpServer.IHttpRequest.IsAjax">
3705 <summary>Returns true if the request was made by Ajax (Asyncronous Javascript)</summary>
3706 </member>
3707 <member name="P:HttpServer.IHttpRequest.Cookies">
3708 <summary>Returns set cookies for the request</summary>
3709 </member>
3710 <member name="T:HttpServer.HttpRequestParser">
3711 <summary>
3712 Parses a HTTP request directly from a stream
3713 </summary>
3714 </member>
3715 <member name="M:HttpServer.HttpRequestParser.#ctor(HttpServer.HttpRequestParser.RequestCompletedHandler,HttpServer.ILogWriter)">
3716 <summary>
3717 Create a new request parser
3718 </summary>
3719 <param name="requestCompleted">delegate called when a complete request have been generated</param>
3720 <param name="logWriter">delegate receiving log entries.</param>
3721 </member>
3722 <member name="M:HttpServer.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)">
3723 <summary>
3724 Add a number of bytes to the body
3725 </summary>
3726 <param name="buffer"></param>
3727 <param name="offset"></param>
3728 <param name="count"></param>
3729 <returns></returns>
3730 </member>
3731 <member name="M:HttpServer.HttpRequestParser.Clear">
3732 <summary>
3733 Remove all state information for the request.
3734 </summary>
3735 </member>
3736 <member name="M:HttpServer.HttpRequestParser.OnFirstLine(System.String)">
3737 <summary>
3738 Parse request line
3739 </summary>
3740 <param name="value"></param>
3741 <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception>
3742 <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks>
3743 </member>
3744 <member name="M:HttpServer.HttpRequestParser.OnHeader(System.String,System.String)">
3745 <summary>
3746 We've parsed a new header.
3747 </summary>
3748 <param name="name">Name in lower case</param>
3749 <param name="value">Value, unmodified.</param>
3750 <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception>
3751 </member>
3752 <member name="M:HttpServer.HttpRequestParser.ParseMessage(System.Byte[],System.Int32,System.Int32)">
3753 <summary>
3754 Parse a message
3755 </summary>
3756 <param name="buffer"></param>
3757 <param name="offset">where in buffer that parsing should start</param>
3758 <param name="size">number of bytes to parse</param>
3759 <returns>Unparsed bytes left in buffer.</returns>
3760 </member>
3761 <member name="P:HttpServer.HttpRequestParser.CurrentState">
3762 <summary>
3763 Current state in parser.
3764 </summary>
3765 </member>
3766 <member name="T:HttpServer.HttpRequestParser.RequestCompletedHandler">
3767 <summary>
3768 Invoked when a request have been completed.
3769 </summary>
3770 <param name="request"></param>
3771 </member>
3772 <member name="T:HttpServer.HttpRequestParser.State">
3773 <summary>
3774 Current state in the parsing.
3775 </summary>
3776 </member>
3777 <member name="F:HttpServer.HttpRequestParser.State.FirstLine">
3778 <summary>
3779 Should parse the request line
3780 </summary>
3781 </member>
3782 <member name="F:HttpServer.HttpRequestParser.State.HeaderName">
3783 <summary>
3784 Searching for a complete header name
3785 </summary>
3786 </member>
3787 <member name="F:HttpServer.HttpRequestParser.State.AfterName">
3788 <summary>
3789 Searching for colon after header name (ignoring white spaces)
3790 </summary>
3791 </member>
3792 <member name="F:HttpServer.HttpRequestParser.State.Between">
3793 <summary>
3794 Searching for start of header value (ignoring white spaces)
3795 </summary>
3796 </member>
3797 <member name="F:HttpServer.HttpRequestParser.State.HeaderValue">
3798 <summary>
3799 Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces)
3800 </summary>
3801 </member>
3802 <member name="F:HttpServer.HttpRequestParser.State.Body">
3803 <summary>
3804 Adding bytes to body
3805 </summary>
3806 </member>
3807 <member name="T:HttpServer.HttpRequest">
3808 <summary>
3809 Contains serverside http request information.
3810 </summary>
3811 </member>
3812 <member name="F:HttpServer.HttpRequest.UriSplitters">
3813 <summary>
3814 Chars used to split an url path into multiple parts.
3815 </summary>
3816 </member>
3817 <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
3818 <summary>
3819 Assign a form.
3820 </summary>
3821 <param name="form"></param>
3822 </member>
3823 <member name="M:HttpServer.HttpRequest.Clone">
3824 <summary>
3825 Creates a new object that is a copy of the current instance.
3826 </summary>
3827
3828 <returns>
3829 A new object that is a copy of this instance.
3830 </returns>
3831 <filterpriority>2</filterpriority>
3832 </member>
3833 <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
3834 <summary>
3835 Decode body into a form.
3836 </summary>
3837 <param name="providers">A list with form decoders.</param>
3838 <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
3839 <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
3840 </member>
3841 <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)">
3842 <summary>
3843 Cookies
3844 </summary>
3845 <param name="cookies">the cookies</param>
3846 </member>
3847 <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)">
3848 <summary>
3849 Called during parsing of a IHttpRequest.
3850 </summary>
3851 <param name="name">Name of the header, should not be url encoded</param>
3852 <param name="value">Value of the header, should not be url encoded</param>
3853 <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
3854 </member>
3855 <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
3856 <summary>
3857 Add bytes to the body
3858 </summary>
3859 <param name="bytes">buffer to read bytes from</param>
3860 <param name="offset">where to start read</param>
3861 <param name="length">number of bytes to read</param>
3862 <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
3863 <exception cref="T:System.ArgumentException"></exception>
3864 <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
3865 </member>
3866 <member name="M:HttpServer.HttpRequest.Clear">
3867 <summary>
3868 Clear everything in the request
3869 </summary>
3870 </member>
3871 <member name="P:HttpServer.HttpRequest.BodyIsComplete">
3872 <summary>
3873 Have all body content bytes been received?
3874 </summary>
3875 </member>
3876 <member name="P:HttpServer.HttpRequest.AcceptTypes">
3877 <summary>
3878 Kind of types accepted by the client.
3879 </summary>
3880 </member>
3881 <member name="P:HttpServer.HttpRequest.Body">
3882 <summary>
3883 Submitted body contents
3884 </summary>
3885 </member>
3886 <member name="P:HttpServer.HttpRequest.Connection">
3887 <summary>
3888 Kind of connection used for the session.
3889 </summary>
3890 </member>
3891 <member name="P:HttpServer.HttpRequest.ContentLength">
3892 <summary>
3893 Number of bytes in the body
3894 </summary>
3895 </member>
3896 <member name="P:HttpServer.HttpRequest.Headers">
3897 <summary>
3898 Headers sent by the client. All names are in lower case.
3899 </summary>
3900 </member>
3901 <member name="P:HttpServer.HttpRequest.HttpVersion">
3902 <summary>
3903 Version of http.
3904 Probably HttpHelper.HTTP10 or HttpHelper.HTTP11
3905 </summary>
3906 <seealso cref="T:HttpServer.HttpHelper"/>
3907 </member>
3908 <member name="P:HttpServer.HttpRequest.Method">
3909 <summary>
3910 Requested method, always upper case.
3911 </summary>
3912 <see cref="P:HttpServer.HttpRequest.Method"/>
3913 </member>
3914 <member name="P:HttpServer.HttpRequest.QueryString">
3915 <summary>
3916 Variables sent in the query string
3917 </summary>
3918 </member>
3919 <member name="P:HttpServer.HttpRequest.Uri">
3920 <summary>
3921 Requested URI (url)
3922 </summary>
3923 <seealso cref="P:HttpServer.HttpRequest.UriPath"/>
3924 </member>
3925 <member name="P:HttpServer.HttpRequest.UriParts">
3926 <summary>
3927 Uri absolute path splitted into parts.
3928 </summary>
3929 <example>
3930 // uri is: http://gauffin.com/code/tiny/
3931 Console.WriteLine(request.UriParts[0]); // result: code
3932 Console.WriteLine(request.UriParts[1]); // result: tiny
3933 </example>
3934 <remarks>
3935 If you're using controllers than the first part is controller name,
3936 the second part is method name and the third part is Id property.
3937 </remarks>
3938 <seealso cref="P:HttpServer.HttpRequest.Uri"/>
3939 </member>
3940 <member name="P:HttpServer.HttpRequest.UriPath">
3941 <summary>
3942 Path and query (will be merged with the host header) and put in Uri
3943 </summary>
3944 <see cref="P:HttpServer.HttpRequest.Uri"/>
3945 </member>
3946 <member name="P:HttpServer.HttpRequest.Param">
3947 <summary>
3948 Check's both QueryString and Form after the parameter.
3949 </summary>
3950 </member>
3951 <member name="P:HttpServer.HttpRequest.Form">
3952 <summary>
3953 Form parameters.
3954 </summary>
3955 </member>
3956 <member name="P:HttpServer.HttpRequest.IsAjax">
3957 <summary>Returns true if the request was made by Ajax (Asyncronous Javascript)</summary>
3958 </member>
3959 <member name="P:HttpServer.HttpRequest.Cookies">
3960 <summary>Returns set cookies for the request</summary>
3961 </member>
3962 <member name="P:HttpServer.HttpRequest.Secure">
3963 <summary>
3964 Current request is sent over secure protocol
3965 </summary>
3966 </member>
3967 <member name="T:HttpServer.HttpModules.WebSiteModule">
3968 <summary>
3969 The website module let's you handle multiple websites in the same server.
3970 It uses the "Host" header to check which site you want.
3971 </summary>
3972 <remarks>It's recommended that you do not
3973 add any other modules to HttpServer if you are using the website module. Instead,
3974 add all wanted modules to each website.</remarks>
3975 </member>
3976 <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)">
3977 <summary>
3978
3979 </summary>
3980 <param name="host">domain name that should be handled.</param>
3981 <param name="name"></param>
3982 </member>
3983 <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
3984 <summary>
3985 Method that process the url
3986 </summary>
3987 <param name="request">Information sent by the browser about the request</param>
3988 <param name="response">Information that is being sent back to the client.</param>
3989 <param name="session">Session used to </param>
3990 </member>
3991 <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName">
3992 <summary>
3993 Name of site.
3994 </summary>
3995 </member>
3996 <member name="T:HttpServer.Helpers.FormHelper">
3997 <summary>
3998 Helpers making it easier to work with forms.
3999 </summary>
4000 <seealso cref="T:HttpServer.Helpers.ObjectForm"/>
4001 </member>
4002 <member name="F:HttpServer.Helpers.FormHelper.JSImplementation">
4003 <summary>
4004 Used to let the website use different javascript libraries.
4005 Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
4006 </summary>
4007 </member>
4008 <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])">
4009 <summary>
4010 Create a &lt;form&gt; tag.
4011 </summary>
4012 <param name="name">name of form</param>
4013 <param name="action">action to invoke on submit</param>
4014 <param name="isAjax">form should be posted as ajax</param>
4015 <returns>html code</returns>
4016 <example>
4017 <code>
4018 // without options
4019 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
4020
4021 // with options
4022 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
4023 </code>
4024 </example>
4025 <param name="options">html attributes or javscript options.</param>
4026 <remarks>Method will ALWAYS be POST.</remarks>
4027 </member>
4028 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
4029 <summary>
4030 Creates a select list with the values in a collection.
4031 </summary>
4032 <param name="name">Name of the SELECT-tag</param>
4033 <param name="collection">collection used to generate options.</param>
4034 <param name="getIdTitle">delegate used to return id and title from objects.</param>
4035 <param name="selectedValue">value that should be marked as selected.</param>
4036 <param name="firstEmpty">First row should contain an empty value.</param>
4037 <returns>string containtain a SELECT-tag.</returns>
4038 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
4039 </member>
4040 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
4041 <summary>
4042 Creates a select list with the values in a collection.
4043 </summary>
4044 <param name="name">Name of the SELECT-tag</param>
4045 <param name="id">Id of the SELECT-tag</param>
4046 <param name="collection">collection used to generate options.</param>
4047 <param name="getIdTitle">delegate used to return id and title from objects.</param>
4048 <param name="selectedValue">value that should be marked as selected.</param>
4049 <param name="firstEmpty">First row should contain an empty value.</param>
4050 <returns>string containtain a SELECT-tag.</returns>
4051 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
4052 <example>
4053 <code>
4054 // Class that is going to be used in a SELECT-tag.
4055 public class User
4056 {
4057 private readonly string _realName;
4058 private readonly int _id;
4059 public User(int id, string realName)
4060 {
4061 _id = id;
4062 _realName = realName;
4063 }
4064 public string RealName
4065 {
4066 get { return _realName; }
4067 }
4068
4069 public int Id
4070 {
4071 get { return _id; }
4072 }
4073 }
4074
4075 // Using an inline delegate to generate the select list
4076 public void UserInlineDelegate()
4077 {
4078 List&lt;User&gt; items = new List&lt;User&gt;();
4079 items.Add(new User(1, "adam"));
4080 items.Add(new User(2, "bertial"));
4081 items.Add(new User(3, "david"));
4082 string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
4083 {
4084 User user = (User)o;
4085 id = user.Id;
4086 value = user.RealName;
4087 }, 2, true);
4088 }
4089
4090 // Using an method as delegate to generate the select list.
4091 public void UseExternalDelegate()
4092 {
4093 List&lt;User&gt; items = new List&lt;User&gt;();
4094 items.Add(new User(1, "adam"));
4095 items.Add(new User(2, "bertial"));
4096 items.Add(new User(3, "david"));
4097 string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
4098 }
4099
4100 // delegate returning id and title
4101 public static void UserOptions(object o, out object id, out object title)
4102 {
4103 User user = (User)o;
4104 id = user.Id;
4105 value = user.RealName;
4106 }
4107 </code>
4108 </example>
4109 </member>
4110 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])">
4111 <summary>
4112 Creates a select list with the values in a collection.
4113 </summary>
4114 <param name="name">Name of the SELECT-tag</param>
4115 <param name="id">Id of the SELECT-tag</param>
4116 <param name="collection">collection used to generate options.</param>
4117 <param name="getIdTitle">delegate used to return id and title from objects.</param>
4118 <param name="selectedValue">value that should be marked as selected.</param>
4119 <param name="firstEmpty">First row should contain an empty value.</param>
4120 <param name="htmlAttributes">name, value collection of extra html attributes.</param>
4121 <returns>string containtain a SELECT-tag.</returns>
4122 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
4123 </member>
4124 <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
4125 <summary>
4126 Generate a list of HTML options
4127 </summary>
4128 <param name="collection">collection used to generate options.</param>
4129 <param name="getIdTitle">delegate used to return id and title from objects.</param>
4130 <param name="selectedValue">value that should be marked as selected.</param>
4131 <param name="firstEmpty">First row should contain an empty value.</param>
4132 <returns></returns>
4133 </member>
4134 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])">
4135 <summary>
4136 Creates a checkbox.
4137 </summary>
4138 <param name="name">element name</param>
4139 <param name="value">element value</param>
4140 <param name="isChecked">determines if the check box is selected or not. This is done diffrently depending on the
4141 type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if
4142 the box is checked or not. </param>
4143 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
4144 <returns>a generated radio button</returns>
4145 </member>
4146 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])">
4147 <summary>
4148 Creates a checkbox.
4149 </summary>
4150 <param name="name">element name</param>
4151 <param name="id">element id</param>
4152 <param name="value">element value</param>
4153 <param name="isChecked">determines if the check box is selected or not. This is done diffrently depending on the
4154 type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if
4155 the box is checked or not. </param>
4156 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
4157 <returns>a generated radio button</returns>
4158 <remarks>
4159 value in your business object. (check box will be selected if it matches the element value)
4160 </remarks>
4161 </member>
4162 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])">
4163 <summary>
4164 Creates a checkbox.
4165 </summary>
4166 <param name="name">element name</param>
4167 <param name="id">element id</param>
4168 <param name="isChecked">determines if the check box is selected or not. This is done diffrently depending on the
4169 type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if
4170 the box is checked or not. </param>
4171 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
4172 <returns>a generated radio button</returns>
4173 <remarks>will set value to "1".</remarks>
4174 </member>
4175 <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])">
4176 <summary>
4177 Creates a RadioButton.
4178 </summary>
4179 <param name="name">element name</param>
4180 <param name="value">element value</param>
4181 <param name="isSelected">determines if the radio button is selected or not. This is done diffrently depending on the
4182 type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if
4183 the box is checked or not. </param>
4184 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
4185 <returns>a generated radio button</returns>
4186 </member>
4187 <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])">
4188 <summary>
4189 Creates a RadioButton.
4190 </summary>
4191 <param name="name">element name</param>
4192 <param name="id">element id</param>
4193 <param name="value">element value</param>
4194 <param name="isSelected">determines if the radio button is selected or not. This is done diffrently depending on the
4195 type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if
4196 the box is checked or not. </param>
4197 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
4198 <returns>a generated radio button</returns>
4199 </member>
4200 <member name="M:HttpServer.Helpers.FormHelper.End">
4201 <summary>
4202 form close tag
4203 </summary>
4204 <returns></returns>
4205 </member>
4206 <member name="T:HttpServer.Exceptions.BadRequestException">
4207 <summary>
4208 The request could not be understood by the server due to malformed syntax.
4209 The client SHOULD NOT repeat the request without modifications.
4210
4211 Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
4212 </summary>
4213 </member>
4214 <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)">
4215 <summary>
4216 Create a new bad request exception.
4217 </summary>
4218 <param name="errMsg">reason to why the request was bad.</param>
4219 </member>
4220 <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)">
4221 <summary>
4222 Create a new bad request exception.
4223 </summary>
4224 <param name="errMsg">reason to why the request was bad.</param>
4225 <param name="inner">inner exception</param>
4226 </member>
4227 <member name="T:HttpServer.Authentication.DigestAuthentication">
4228 <summary>
4229 Implements HTTP Digest authentication. It's more secure than Basic auth since password is
4230 encrypted with a "key" from the server.
4231 </summary>
4232 <remarks>
4233 Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
4234 </remarks>
4235 </member>
4236 <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)">
4237 <summary>
4238 Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
4239 </summary>
4240 <param name="authenticator">Delegate used to provide information used during authentication.</param>
4241 <param name="authRequiredDelegate">Delegate used to determine if authentication is required (may be null).</param>
4242 </member>
4243 <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
4244 <summary>
4245 Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
4246 </summary>
4247 <param name="authenticator">Delegate used to provide information used during authentication.</param>
4248 </member>
4249 <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck">
4250 <summary>
4251 Used by test classes to be able to use hardcoded values
4252 </summary>
4253 </member>
4254 <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
4255 <summary>
4256 An authentication response have been received from the web browser.
4257 Check if it's correct
4258 </summary>
4259 <param name="authenticationHeader">Contents from the Authorization header</param>
4260 <param name="realm">Realm that should be authenticated</param>
4261 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
4262 <param name="options">First option: true if username/password is correct but not cnonce</param>
4263 <returns>
4264 Authentication object that is stored for the request. A user class or something like that.
4265 </returns>
4266 <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
4267 <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
4268 </member>
4269 <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)">
4270 <summary>
4271 Encrypts parameters into a Digest string
4272 </summary>
4273 <param name="realm">Realm that the user want's to log into.</param>
4274 <param name="userName">User logging in</param>
4275 <param name="password">Users password.</param>
4276 <param name="method">HTTP metod.</param>
4277 <param name="uri">Uri/domain that generated the login prompt.</param>
4278 <param name="qop">The qop.</param>
4279 <param name="nonce">The nonce.</param>
4280 <param name="nc">The nc.</param>
4281 <param name="cnonce">The cnonce.</param>
4282 <returns>Digest enrypted string</returns>
4283 </member>
4284 <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])">
4285 <summary>
4286 Create a response that can be sent in the WWW-Authenticate header.
4287 </summary>
4288 <param name="realm">Realm that the user should authenticate in</param>
4289 <param name="options">First options specifies if true if username/password is correct but not cnonce.</param>
4290 <returns>A correct auth request.</returns>
4291 <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
4292 </member>
4293 <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)">
4294 <summary>
4295 Decodes authorization header value
4296 </summary>
4297 <param name="buffer">header value</param>
4298 <param name="encoding">Encoding that the buffer is in</param>
4299 <returns>All headers and their values if successful; otherwise null</returns>
4300 <example>
4301 NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
4302 </example>
4303 <remarks>Can handle lots of whitespaces and new lines without failing.</remarks>
4304 </member>
4305 <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce">
4306 <summary>
4307 Gets the current nonce.
4308 </summary>
4309 <returns></returns>
4310 </member>
4311 <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)">
4312 <summary>
4313 Gets the Md5 hash bin hex2.
4314 </summary>
4315 <param name="toBeHashed">To be hashed.</param>
4316 <returns></returns>
4317 </member>
4318 <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)">
4319 <summary>
4320 determines if the nonce is valid or has expired.
4321 </summary>
4322 <param name="nonce">nonce value (check wikipedia for info)</param>
4323 <returns>true if the nonce has not expired.</returns>
4324 </member>
4325 <member name="P:HttpServer.Authentication.DigestAuthentication.Name">
4326 <summary>
4327 name used in http request.
4328 </summary>
4329 </member>
4330 <member name="T:HttpServer.Sessions.MemorySessionStore">
4331 <summary>
4332 Session store using memory for each session.
4333 </summary>
4334 </member>
4335 <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor">
4336 <summary>
4337 Initializes the class setting the expirationtimer to clean the session every minute
4338 </summary>
4339 </member>
4340 <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)">
4341 <summary>
4342 Delegate for the cleanup timer
4343 </summary>
4344 </member>
4345 <member name="M:HttpServer.Sessions.MemorySessionStore.Create">
4346 <summary>
4347 Creates a new http session
4348 </summary>
4349 <returns></returns>
4350 </member>
4351 <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)">
4352 <summary>
4353 Creates a new http session with a specific id
4354 </summary>
4355 <param name="id">Id used to identify the new cookie..</param>
4356 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
4357 <remarks>
4358 Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
4359 </remarks>
4360 </member>
4361 <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)">
4362 <summary>
4363 Load an existing session.
4364 </summary>
4365 <param name="sessionId"></param>
4366 <returns></returns>
4367 </member>
4368 <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)">
4369 <summary>
4370 Save an updated session to the store.
4371 </summary>
4372 <param name="session"></param>
4373 </member>
4374 <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
4375 <summary>
4376 We use the flyweight pattern which reuses small objects
4377 instead of creating new each time.
4378 </summary>
4379 <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param>
4380 </member>
4381 <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup">
4382 <summary>
4383 Remove expired sessions
4384 </summary>
4385 </member>
4386 <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)">
4387 <summary>
4388 Remove a session
4389 </summary>
4390 <param name="sessionId">id of the session.</param>
4391 </member>
4392 <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)">
4393 <summary>
4394 Load a session from the store
4395 </summary>
4396 <param name="sessionId"></param>
4397 <returns>null if session is not found.</returns>
4398 </member>
4399 <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime">
4400 <summary>
4401 Number of minutes before a session expires.
4402 Default is 20 minutes.
4403 </summary>
4404 </member>
4405 <member name="T:HttpServer.Rendering.ITemplateInfo">
4406 <summary>
4407 Keeps information about templates, so we know when to regenerate it.
4408 </summary>
4409 </member>
4410 <member name="P:HttpServer.Rendering.ITemplateInfo.CompiledWhen">
4411 <summary>
4412 When the template was compiled.
4413 </summary>
4414 <remarks>Use this date to determine if the template is old and needs to be recompiled.</remarks>
4415 </member>
4416 <member name="P:HttpServer.Rendering.ITemplateInfo.Filename">
4417 <summary>
4418 Template file name.
4419 </summary>
4420 </member>
4421 <member name="P:HttpServer.Rendering.ITemplateInfo.Template">
4422 <summary>
4423 The actual template.
4424 </summary>
4425 </member>
4426 <member name="T:HttpServer.Helpers.FormValidator">
4427 <summary>
4428 Validator is used to validate all input items in a form.
4429 </summary>
4430 </member>
4431 <member name="M:HttpServer.Helpers.FormValidator.#ctor(System.Collections.Specialized.NameValueCollection)">
4432 <summary>
4433 Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class.
4434 </summary>
4435 <param name="errors">collection to be filled with errors</param>
4436 </member>
4437 <member name="M:HttpServer.Helpers.FormValidator.#ctor(System.Collections.Specialized.NameValueCollection,Fadd.Globalization.LanguageNode)">
4438 <summary>
4439 Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class.
4440 </summary>
4441 <param name="errors">collection to be filled with errors</param>
4442 <param name="modelLanguage">Translation used to translate the "name" parameters in all validation methods.</param>
4443 </member>
4444 <member name="M:HttpServer.Helpers.FormValidator.#ctor(Fadd.Globalization.LanguageNode)">
4445 <summary>
4446 Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class.
4447 </summary>
4448 <param name="modelLanguage">Translation used to translate the "name" parameters in all validation methods.</param>
4449 </member>
4450 <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput)">
4451 <summary>
4452
4453 </summary>
4454 <param name="form">form that validation should be made on.</param>
4455 </member>
4456 <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput,System.Collections.Specialized.NameValueCollection)">
4457 <summary>
4458
4459 </summary>
4460 <param name="errors">collection that all validation errors are added to.</param>
4461 <param name="form">form that validation should be made on.</param>
4462 </member>
4463 <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput,System.Collections.Specialized.NameValueCollection,Fadd.Globalization.LanguageNode)">
4464 <summary>
4465
4466 </summary>
4467 <param name="errors">collection that all validation errors are added to.</param>
4468 <param name="form">form that validation should be made on.</param>
4469 <param name="modelLanguage">Language category used to translate field names.</param>
4470 </member>
4471 <member name="M:HttpServer.Helpers.FormValidator.SetForm(HttpServer.IHttpInput)">
4472 <summary>
4473 Switch to a new http input.
4474 </summary>
4475 <param name="form">form to use validation for now</param>
4476 </member>
4477 <member name="M:HttpServer.Helpers.FormValidator.SetForm(HttpServer.IHttpInput,Fadd.Globalization.LanguageNode)">
4478 <summary>
4479 Switch to a new http input.
4480 </summary>
4481 <param name="form">form to use validation for now</param>
4482 <param name="modelLanguage">language for the validation</param>
4483 </member>
4484 <member name="M:HttpServer.Helpers.FormValidator.Digits(System.String,System.Boolean)">
4485 <summary>
4486 Check if a value is digits only
4487 </summary>
4488 <param name="name">Field name.</param>
4489 <param name="required">true if field is required (may not be empty)</param>
4490 <returns>string if validated, otherwise string.Empty</returns>
4491 </member>
4492 <member name="M:HttpServer.Helpers.FormValidator.Digits(System.String,System.Boolean,System.String)">
4493 <summary>
4494 Check if a value is digits only
4495 </summary>
4496 <param name="name">Field name.</param>
4497 <param name="extraAllowedCharacters">extra characters that is allowed.</param>
4498 <param name="required">true if field is required (may not be empty)</param>
4499 <returns>string if validated, otherwise string.Empty</returns>
4500 </member>
4501 <member name="M:HttpServer.Helpers.FormValidator.Integer(System.String)">
4502 <summary>
4503 Check whether the specified form item is an integer.
4504 </summary>
4505 <param name="name">Form parameter to validate</param>
4506 <returns>value if parameter is an int; 0 if not.</returns>
4507 </member>
4508 <member name="M:HttpServer.Helpers.FormValidator.Integer(System.String,System.Boolean)">
4509 <summary>
4510 Check whether the specified form item is an integer.
4511 </summary>
4512 <param name="name">Form parameter to validate</param>
4513 <param name="required">Paramater is required (adds an error if it's not specified)</param>
4514 <returns>value if parameter is an int; 0 if not.</returns>
4515 </member>
4516 <member name="M:HttpServer.Helpers.FormValidator.Double(System.String,System.Boolean)">
4517 <summary>
4518 Check whether the specified value is a double.
4519 </summary>
4520 <param name="name">Name of the parameter</param>
4521 <param name="required">Paramater is required (adds an error if it's not specified)</param>
4522 <returns>value if parameter is a double; 0 if not.</returns>
4523 </member>
4524 <member name="M:HttpServer.Helpers.FormValidator.Currency(System.String,System.Boolean)">
4525 <summary>
4526 Check whether the specified value is a currency amount.
4527 </summary>
4528 <param name="name">Name of the parameter</param>
4529 <param name="required">Paramater is required (adds an error if it's not specified)</param>
4530 <returns>value if parameter is a currency amount; 0 if not.</returns>
4531 </member>
4532 <member name="M:HttpServer.Helpers.FormValidator.Hex(System.String,System.Boolean)">
4533 <summary>
4534 Validates a string to hex
4535 </summary>
4536 <param name="name">The name of the field to validate</param>
4537 <param name="required">If the field must be set</param>
4538 <returns>The value if validated otherwise string.Empty</returns>
4539 </member>
4540 <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String,System.Boolean)">
4541 <summary>
4542 Validate that a string only contains letters or digits.
4543 </summary>
4544 <param name="name">Name of form parameter to validate.</param>
4545 <param name="required">Value is required.</param>
4546 <returns>value if valid; otherwise string.EmptyLanguageNode.</returns>
4547 </member>
4548 <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String)">
4549 <summary>
4550 Validate that a string only contains letters or digits.
4551 </summary>
4552 <param name="name">Form parameter name.</param>
4553 <returns>vaue if found; otherwise string.Empty</returns>
4554 </member>
4555 <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String,System.Boolean,System.String)">
4556 <summary>
4557 Validate that a string only contains letters, digits or the specified characters
4558 </summary>
4559 <param name="name">Form parameter name.</param>
4560 <param name="required">may not be null or empty if true.</param>
4561 <param name="extraCharacters">any other allowed characters.</param>
4562 <returns>value if valid; otherwise string.Empty</returns>
4563 </member>
4564 <member name="M:HttpServer.Helpers.FormValidator.Letters(System.String,System.Boolean)">
4565 <summary>
4566 Validate that a string consists of only letters (including special letters)
4567 </summary>
4568 <param name="name"></param>
4569 <param name="required">If a value must be passed</param>
4570 <returns></returns>
4571 </member>
4572 <member name="M:HttpServer.Helpers.FormValidator.Letters(System.String,System.Boolean,System.String)">
4573 <summary>
4574 Validate that a string consists of only letters (a-z and A-Z)
4575 </summary>
4576 <param name="name"></param>
4577 <param name="required">If a value must be passed</param>
4578 <param name="extraCharacters">A string of extra character to test against, dont forget language specific characters and spaces if wished for</param>
4579 <returns></returns>
4580 </member>
4581 <member name="M:HttpServer.Helpers.FormValidator.AlphaNumeric(System.String)">
4582 <summary>
4583 Check whether the specified value is an integer.
4584 </summary>
4585 <param name="name">Name of the parameter</param>
4586 <returns>value if parameter contains valid characters; string.Empty if not.</returns>
4587 </member>
4588 <member name="M:HttpServer.Helpers.FormValidator.AlphaNumeric(System.String,System.Boolean)">
4589 <summary>
4590 Check whether the specified value is an integer.
4591 </summary>
4592 <param name="name">Name of the parameter</param>
4593 <param name="required">Paramater is required (adds an error if it's not specified)</param>
4594 <returns>value if parameter contains valid characters; string.Empty if not.</returns>
4595 </member>
4596 <member name="M:HttpServer.Helpers.FormValidator.Password(System.String,System.Boolean)">
4597 <summary>
4598 Validate that a string only contains letters or digits or any of the <see cref="F:Fadd.Validator.PasswordChars"/>.
4599 </summary>
4600 <param name="name">Name of form parameter to validate.</param>
4601 <param name="required">Value is required.</param>
4602 <returns>value if valid; otherwise string.Empty.</returns>
4603 </member>
4604 <member name="M:HttpServer.Helpers.FormValidator.Password(System.String)">
4605 <summary>
4606 Validate that a string only contains letters or digits or any of the <see cref="F:Fadd.Validator.PasswordChars"/>.
4607 </summary>
4608 <param name="name">Form parameter name.</param>
4609 <returns>vaue if found; otherwise string.Empty</returns>
4610 </member>
4611 <member name="M:HttpServer.Helpers.FormValidator.Required(System.String)">
4612 <summary>
4613 Check's weather a parameter is null or not.
4614 </summary>
4615 <param name="name">Parameter in form</param>
4616 <returns>true if value is not null; otherwise false.</returns>
4617 </member>
4618 <member name="M:HttpServer.Helpers.FormValidator.String(System.String,System.Boolean)">
4619 <summary>
4620 Validate a string value
4621 </summary>
4622 <param name="name">Name of form parameter to validate.</param>
4623 <param name="required">Value is required.</param>
4624 <returns>value if valid; otherwise string.Empty.</returns>
4625 </member>
4626 <member name="M:HttpServer.Helpers.FormValidator.String(System.String)">
4627 <summary>
4628 Validate a string parameter in the form
4629 </summary>
4630 <param name="name">Form parameter name.</param>
4631 <returns>vaue if found; otherwise string.Empty</returns>
4632 </member>
4633 <member name="M:HttpServer.Helpers.FormValidator.Email(System.String,System.Boolean)">
4634 <summary>
4635 validates email address using a regexp.
4636 </summary>
4637 <param name="name">field name</param>
4638 <param name="required">field is required (may not be null or empty).</param>
4639 <returns>value if validation is ok; otherwise string.Empty.</returns>
4640 </member>
4641 <member name="M:HttpServer.Helpers.FormValidator.Char(System.String,System.Boolean)">
4642 <summary>
4643 Check whether the specified value is an character.
4644 </summary>
4645 <param name="name">Name of the parameter</param>
4646 <param name="required">Paramater is required (adds an error if it's not specified)</param>
4647 <returns>value if parameter is an int; char.MinValue if not.</returns>
4648 </member>
4649 <member name="M:HttpServer.Helpers.FormValidator.Char(System.String)">
4650 <summary>
4651 Check whether the specified value is an character.
4652 </summary>
4653 <param name="name">Name of the parameter</param>
4654 <returns>value if parameter is an int; char.MinValue if not.</returns>
4655 </member>
4656 <member name="M:HttpServer.Helpers.FormValidator.Boolean(System.String,System.Boolean)">
4657 <summary>
4658 Checks whether a field is true (can also be in native language).
4659 </summary>
4660 <param name="name">field name</param>
4661 <param name="required">field is required (may not be null or empty).</param>
4662 <returns>true if value is true; false if value is false or if validation failed.</returns>
4663 <remarks>Check validation errors to see if error ocurred.</remarks>
4664 </member>
4665 <member name="M:HttpServer.Helpers.FormValidator.Boolean(System.String)">
4666 <summary>
4667 Checks whether a field is true (can also be in native language).
4668 </summary>
4669 <param name="name">field name</param>
4670 <returns>true if value is true; false if value is false or if validation failed.</returns>
4671 <remarks>Check validation errors to see if error ocurred.</remarks>
4672 </member>
4673 <member name="T:HttpServer.Rendering.ResourceManager">
4674 <summary>
4675 Class to handle loading of resource files
4676 </summary>
4677 </member>
4678 <member name="F:HttpServer.Rendering.ResourceManager._loadedResources">
4679 <summary><![CDATA[
4680 Maps uri's to resources, Dictionary<uri, resource>
4681 ]]></summary>
4682 </member>
4683 <member name="M:HttpServer.Rendering.ResourceManager.ParseName(System.String@,System.String@)">
4684 <summary>
4685 Parses a filename and sets it to the extensionless name in lowercase. The extension is cut out without the dot.
4686 </summary>
4687 <param name="filename"></param>
4688 <param name="extension"></param>
4689 <usage>
4690 string ext;
4691 string filename = "/uSeR/teSt.haMl";
4692 ParseName(ref filename, out ext);
4693 Console.WriteLine("File: " + filename);
4694 Console.WriteLine("Ext: " + ext);
4695 -> user/test
4696 -> haml
4697 </usage>
4698 </member>
4699 <member name="M:HttpServer.Rendering.ResourceManager.AddResource(System.String,HttpServer.Rendering.ResourceInfo)">
4700 <summary>
4701 Add a resource to a specified uri without extension, ie user/test
4702 </summary>
4703 <param name="uri">The uri to add the resource to</param>
4704 <param name="info">The <see cref="T:HttpServer.Rendering.ResourceInfo"/> instance describing the resource</param>
4705 </member>
4706 <member name="M:HttpServer.Rendering.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)">
4707 <summary>
4708 Loads resources from a namespace in the given assembly to an uri
4709 </summary>
4710 <param name="toUri">The uri to map the resources to</param>
4711 <param name="fromAssembly">The assembly in which the resources reside</param>
4712 <param name="fromNamespace">The namespace from which to load the resources</param>
4713 <usage>
4714 resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
4715
4716 will make ie the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
4717 </usage>
4718 </member>
4719 <member name="M:HttpServer.Rendering.ResourceManager.GetResourceStream(System.String)">
4720 <summary>
4721 Retrieves a stream for the specified resource path if loaded otherwise null
4722 </summary>
4723 <param name="path">Path to the resource to retrieve a stream for</param>
4724 <returns>A stream or null if the resource couldn't be found</returns>
4725 </member>
4726 <member name="M:HttpServer.Rendering.ResourceManager.GetFiles(System.String)">
4727 <summary>
4728 Fetch all files from the resource that matches the specified arguments.
4729 </summary>
4730 <param name="path">The path to the resource to extract</param>
4731 <returns>
4732 a list of files if found; or an empty array if no files are found.
4733 </returns>
4734 </member>
4735 <member name="M:HttpServer.Rendering.ResourceManager.GetFiles(System.String,System.String)">
4736 <summary>
4737 Fetch all files from the resource that matches the specified arguments.
4738 </summary>
4739 <param name="path">Where the file should reside.</param>
4740 <param name="filename">Files to check</param>
4741 <returns>
4742 a list of files if found; or an empty array if no files are found.
4743 </returns>
4744 </member>
4745 <member name="M:HttpServer.Rendering.ResourceManager.ContainsResource(System.String)">
4746 <summary>
4747 Returns whether or not the loader has an instance of the file requested
4748 </summary>
4749 <param name="filename">The name of the template/file</param>
4750 <returns>True if the loader can provide the file</returns>
4751 </member>
4752 <member name="T:HttpServer.ExceptionHandler">
4753 <summary>
4754 We dont want to let the server to die due to exceptions thrown in worker threads.
4755 therefore we use this delegate to give you a change to handle uncaught exceptions.
4756 </summary>
4757 <param name="source">Class that the exception was thrown in.</param>
4758 <param name="exception">Exception</param>
4759 <remarks>
4760 Server will throw a InternalServerException in release version if you dont
4761 handle this delegate.
4762 </remarks>
4763 </member>
4764 <member name="T:HttpServer.Controllers.AuthValidatorAttribute">
4765 <summary>
4766 Method marked with this attribute determines if authentication is required.
4767 </summary>
4768 <seealso cref="T:HttpServer.HttpModules.ControllerModule"/>
4769 <seealso cref="T:HttpServer.HttpServer"/>
4770 <seealso cref="T:HttpServer.Controllers.AuthRequiredAttribute"/>
4771 <seealso cref="T:HttpServer.HttpModules.WebSiteModule"/>
4772 <remarks>
4773 <para>The method should take one parameter (int level), return a bool and be protected/private.</para>
4774 <para>You should throw UnauthorizedException if you are using HTTP authentication.</para>
4775 </remarks>
4776 <example>
4777 <![CDATA[
4778 public enum UserLevel
4779 {
4780 Guest,
4781 User,
4782 Admin,
4783 SuperAdmin
4784 }
4785 public class UserController : RequestController
4786 {
4787 [AuthRequired(UserLevel.User)]
4788 public string View()
4789 {
4790 return "Can also be viewed by users";
4791 }
4792
4793 [AuthValidatorAttribute]
4794 public bool ValidateUser(int level)
4795 {
4796 (User)user = Session["user"];
4797 return user != null && user.Status >= level;
4798 }
4799 }
4800 ]]>
4801 </example>
4802 </member>
4803 <member name="T:HttpServer.RequestCookies">
4804 <summary>
4805 This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
4806 The framework might switch class in the future and we dont want to have to replace all instances
4807 </summary>
4808 </member>
4809 <member name="M:HttpServer.RequestCookies.#ctor(System.String)">
4810 <summary>
4811 Let's copy all the cookies.
4812 </summary>
4813 <param name="cookies">value from cookie header.</param>
4814 </member>
4815 <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)">
4816 <summary>
4817 Adds a cookie in the collection.
4818 </summary>
4819 <param name="cookie">cookie to add</param>
4820 <exception cref="T:System.ArgumentNullException">cookie is null</exception>
4821 </member>
4822 <member name="M:HttpServer.RequestCookies.GetEnumerator">
4823 <summary>
4824 Gets a collection enumerator on the cookie list.
4825 </summary>
4826 <returns>collection enumerator</returns>
4827 </member>
4828 <member name="M:HttpServer.RequestCookies.Clear">
4829 <summary>
4830 Remove all cookies.
4831 </summary>
4832 </member>
4833 <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator">
4834 <summary>
4835 Returns an enumerator that iterates through the collection.
4836 </summary>
4837
4838 <returns>
4839 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
4840 </returns>
4841 <filterpriority>1</filterpriority>
4842 </member>
4843 <member name="P:HttpServer.RequestCookies.Count">
4844 <summary>
4845 Gets the count of cookies in the collection.
4846 </summary>
4847 </member>
4848 <member name="P:HttpServer.RequestCookies.Item(System.String)">
4849 <summary>
4850 Gets the cookie of a given identifier (null if not existing).
4851 </summary>
4852 </member>
4853 <member name="T:HttpServer.RealmHandler">
4854 <summary>
4855 Delegate used to find a realm/domain.
4856 </summary>
4857 <param name="domain"></param>
4858 <returns></returns>
4859 <remarks>
4860 Realms are used during HTTP Authentication
4861 </remarks>
4862 <seealso cref="T:HttpServer.Authentication.AuthModule"/>
4863 <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/>
4864 </member>
4865 <member name="T:HttpServer.HttpServer">
4866 <summary>
4867 A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
4868 </summary>
4869 <example>
4870 <code>
4871 // this small example will add two web site modules, thus handling
4872 // two different sites. In reality you should add Controller modules or something
4873 // two the website modules to be able to handle different requests.
4874 HttpServer server = new HttpServer();
4875 server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
4876 server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
4877
4878 // start regular http
4879 server.Start(IPAddress.Any, 80);
4880
4881 // start https
4882 server.Start(IPAddress.Any, 443, myCertificate);
4883 </code>
4884 </example>
4885 <seealso cref="T:HttpServer.HttpModules.HttpModule"/>
4886 <seealso cref="T:HttpServer.HttpModules.ControllerModule"/>
4887 <seealso cref="T:HttpServer.HttpModules.FileModule"/>
4888 <seealso cref="T:HttpServer.HttpListener"/>
4889 </member>
4890 <member name="M:HttpServer.HttpServer.#ctor">
4891 <summary>
4892 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4893 </summary>
4894 </member>
4895 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)">
4896 <summary>
4897 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4898 </summary>
4899 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
4900 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
4901 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
4902 </member>
4903 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)">
4904 <summary>
4905 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4906 </summary>
4907 <param name="sessionStore">A session store is used to save and retrieve sessions</param>
4908 <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
4909 </member>
4910 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)">
4911 <summary>
4912 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4913 </summary>
4914 <param name="logWriter">The log writer.</param>
4915 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
4916 </member>
4917 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)">
4918 <summary>
4919 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4920 </summary>
4921 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
4922 <param name="logWriter">The log writer.</param>
4923 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
4924 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
4925 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
4926 </member>
4927 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)">
4928 <summary>
4929 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
4930 </summary>
4931 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
4932 <param name="sessionStore">A session store is used to save and retrieve sessions</param>
4933 <param name="logWriter">The log writer.</param>
4934 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
4935 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
4936 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
4937 <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
4938 </member>
4939 <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.RedirectRule)">
4940 <summary>
4941 Adds the specified rule.
4942 </summary>
4943 <param name="rule">The rule.</param>
4944 </member>
4945 <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)">
4946 <summary>
4947 Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server.
4948 </summary>
4949 <param name="module">mode to add</param>
4950 </member>
4951 <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)">
4952 <summary>
4953 Decodes the request body.
4954 </summary>
4955 <param name="request">The request.</param>
4956 </member>
4957 <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)">
4958 <summary>
4959 Generate a HTTP error page (that will be added to the response body).
4960 response status code is also set.
4961 </summary>
4962 <param name="response">Response that the page will be generated in.</param>
4963 <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param>
4964 <param name="body">response body contents.</param>
4965 </member>
4966 <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)">
4967 <summary>
4968 Generate a HTTP error page (that will be added to the response body).
4969 response status code is also set.
4970 </summary>
4971 <param name="response">Response that the page will be generated in.</param>
4972 <param name="err">exception.</param>
4973 </member>
4974 <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)">
4975 <summary>
4976 Realms are used by the <see cref="T:HttpServer.Authentication.AuthModule"/>s.
4977 </summary>
4978 <param name="request">HTTP request</param>
4979 <returns>domain/realm.</returns>
4980 </member>
4981 <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
4982 <summary>
4983 Process an incoming request.
4984 </summary>
4985 <param name="context">connection to client</param>
4986 <param name="request">request information</param>
4987 <param name="response">response that should be filled</param>
4988 <param name="session">session information</param>
4989 </member>
4990 <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
4991 <summary>
4992 Can be overloaded to implement stuff when a client have been connected.
4993 </summary>
4994 <remarks>
4995 Default implementation does nothing.
4996 </remarks>
4997 <param name="client">client that disconnected</param>
4998 <param name="error">disconnect reason</param>
4999 </member>
5000 <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
5001 <summary>
5002 Handle authentication
5003 </summary>
5004 <param name="request"></param>
5005 <param name="response"></param>
5006 <param name="session"></param>
5007 <returns>true if request can be handled; false if not.</returns>
5008 </member>
5009 <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
5010 <summary>
5011 Will request authentication.
5012 </summary>
5013 <remarks>
5014 Sends respond to client, nothing else can be done with the response after this.
5015 </remarks>
5016 <param name="mod"></param>
5017 <param name="request"></param>
5018 <param name="response"></param>
5019 </member>
5020 <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)">
5021 <summary>
5022 Start the web server using regular HTTP.
5023 </summary>
5024 <param name="address">IP Address to listen on, use IpAddress.Any to accept connections on all ip addresses/network cards.</param>
5025 <param name="port">Port to listen on. 80 can be a good idea =)</param>
5026 </member>
5027 <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
5028 <summary>
5029 Accept secure connections.
5030 </summary>
5031 <param name="address">IP Address to listen on, use IpAddress.Any to accept connections on all ipaddresses/network cards.</param>
5032 <param name="port">Port to listen on. 80 can be a good idea =)</param>
5033 <param name="certificate">Certificate to use</param>
5034 </member>
5035 <member name="M:HttpServer.HttpServer.Stop">
5036 <summary>
5037 shut down the server and listeners
5038 </summary>
5039 </member>
5040 <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)">
5041 <summary>
5042 write an entry to the log file
5043 </summary>
5044 <param name="prio">importance of the message</param>
5045 <param name="message">log message</param>
5046 </member>
5047 <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)">
5048 <summary>
5049 write an entry to the log file
5050 </summary>
5051 <param name="source">object that wrote the message</param>
5052 <param name="prio">importance of the message</param>
5053 <param name="message">log message</param>
5054 </member>
5055 <member name="P:HttpServer.HttpServer.AuthenticationModules">
5056 <summary>
5057 Modules used for authentication. The module that is is added first is used as
5058 the default authentication module.
5059 </summary>
5060 <remarks>Use the corresponding property
5061 in the WebSiteModule if you are using multiple websites.</remarks>
5062 </member>
5063 <member name="P:HttpServer.HttpServer.FormDecoderProviders">
5064 <summary>
5065 Form decoder providers are used to decode request body (which normally contains form data).
5066 </summary>
5067 </member>
5068 <member name="P:HttpServer.HttpServer.ServerName">
5069 <summary>
5070 Server name sent in HTTP responses.
5071 </summary>
5072 <remarks>
5073 Do NOT include version in name, since it makes it
5074 easier for hackers.
5075 </remarks>
5076 </member>
5077 <member name="P:HttpServer.HttpServer.SessionCookieName">
5078 <summary>
5079 Name of cookie where session id is stored.
5080 </summary>
5081 </member>
5082 <member name="P:HttpServer.HttpServer.LogWriter">
5083 <summary>
5084 Specified where logging should go.
5085 </summary>
5086 <seealso cref="T:HttpServer.NullLogWriter"/>
5087 <seealso cref="T:HttpServer.ConsoleLogWriter"/>
5088 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
5089 </member>
5090 <member name="P:HttpServer.HttpServer.BackLog">
5091 <summary>
5092 Number of connections that can wait to be accepted by the server.
5093 </summary>
5094 <remarks>Default is 10.</remarks>
5095 </member>
5096 <member name="E:HttpServer.HttpServer.RealmWanted">
5097 <summary>
5098 Realms are used during HTTP authentication.
5099 Default realm is same as server name.
5100 </summary>
5101 </member>
5102 <member name="E:HttpServer.HttpServer.ExceptionThrown">
5103 <summary>
5104 Let's to receive unhandled exceptions from the threads.
5105 </summary>
5106 <remarks>
5107 Exceptions will be thrown during debug mode if this event is not used,
5108 exceptions will be printed to console and suppressed during release mode.
5109 </remarks>
5110 </member>
5111 <member name="T:HttpServer.Exceptions.UnauthorizedException">
5112 <summary>
5113 The request requires user authentication. The response MUST include a
5114 WWW-Authenticate header field (section 14.47) containing a challenge
5115 applicable to the requested resource.
5116
5117 The client MAY repeat the request with a suitable Authorization header
5118 field (section 14.8). If the request already included Authorization
5119 credentials, then the 401 response indicates that authorization has been
5120 refused for those credentials. If the 401 response contains the same challenge
5121 as the prior response, and the user agent has already attempted authentication
5122 at least once, then the user SHOULD be presented the entity that was given in the response,
5123 since that entity might include relevant diagnostic information.
5124
5125 HTTP access authentication is explained in rfc2617:
5126 http://www.ietf.org/rfc/rfc2617.txt
5127
5128 (description is taken from
5129 http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
5130 </summary>
5131 </member>
5132 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor">
5133 <summary>
5134 Create a new unauhtorized exception.
5135 </summary>
5136 <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/>
5137 </member>
5138 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)">
5139 <summary>
5140 Create a new unauhtorized exception.
5141 </summary>
5142 <param name="message">reason to why the request was unauthorized.</param>
5143 <param name="inner">inner exception</param>
5144 </member>
5145 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)">
5146 <summary>
5147 Create a new unauhtorized exception.
5148 </summary>
5149 <param name="message">reason to why the request was unauthorized.</param>
5150 </member>
5151 <member name="T:HttpServer.Rendering.Tiny.TinyGenerator">
5152 <summary>
5153 Generates C# rendering object using ASP similiar tags in the HTML code.
5154 </summary>
5155 </member>
5156 <member name="M:HttpServer.Rendering.Tiny.TinyGenerator.GenerateCode(System.IO.TextWriter)">
5157 <summary>
5158 Generate C# code from the template.
5159 </summary>
5160 <param name="writer">A textwriter that the generated code will be written to.</param>
5161 <exception cref="T:System.InvalidOperationException">If the template have not been parsed first.</exception>
5162 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If template is incorrect</exception>
5163 </member>
5164 <member name="M:HttpServer.Rendering.Tiny.TinyGenerator.Parse(System.String)">
5165 <summary>
5166 Parse a file and convert into to our own template object code.
5167 </summary>
5168 <param name="fullPath">Path and filename to a template</param>
5169 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
5170 <exception cref="T:System.IO.FileNotFoundException"></exception>
5171 <exception cref="T:System.IO.DirectoryNotFoundException"></exception>
5172 <exception cref="T:System.UnauthorizedAccessException"></exception>
5173 <exception cref="T:System.IO.PathTooLongException"></exception>
5174 <exception cref="T:System.NotSupportedException"></exception>
5175 </member>
5176 <member name="M:HttpServer.Rendering.Tiny.TinyGenerator.Parse(System.IO.TextReader)">
5177 <summary>
5178 Parse a file and convert into to our own template object code.
5179 </summary>
5180 <param name="reader">A textreader containing our template</param>
5181 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception>
5182 </member>
5183 <member name="T:HttpServer.Rendering.TemplateManager">
5184 <summary>
5185 Purpose if this class is to take template objects and keep them in
5186 memory. It will also take a filename and the code generator to use
5187 if when the template have been changed on disk.
5188 </summary>
5189 </member>
5190 <member name="M:HttpServer.Rendering.TemplateManager.#ctor(HttpServer.Rendering.ITemplateLoader[])">
5191 <summary>
5192 Initializes a new instance of the <see cref="T:HttpServer.Rendering.TemplateManager"/> class.
5193 </summary>
5194 <param name="loaders">
5195 Template loaders used to load templates from any source.
5196 The loaders will be invoked in the order they are given, that is the first loader will always be asked to give a template
5197 first.
5198 </param>
5199 </member>
5200 <member name="M:HttpServer.Rendering.TemplateManager.#ctor">
5201 <summary>
5202 Initializes a new instance of the <see cref="T:HttpServer.Rendering.TemplateManager"/> class.
5203 </summary>
5204 <remarks>Uses the file template loader.</remarks>
5205 </member>
5206 <member name="M:HttpServer.Rendering.TemplateManager.Add(System.String,HttpServer.Rendering.ITemplateGenerator)">
5207 <summary>
5208 Add a template generator
5209 </summary>
5210 <param name="fileExtension">File extension without the dot.</param>
5211 <param name="generator">Generator to handle the extension</param>
5212 <exception cref="T:System.InvalidOperationException">If the generator already exists.</exception>
5213 <exception cref="T:System.ArgumentException">If file extension is incorrect</exception>
5214 <exception cref="T:System.ArgumentNullException">If generator is not specified.</exception>
5215 <example>
5216 <code>
5217 cache.Add("haml", new HamlGenerator());
5218 </code>
5219 </example>
5220 </member>
5221 <member name="M:HttpServer.Rendering.TemplateManager.AddType(System.Type)">
5222 <summary>
5223 This type should be included, so it may be called from the scripts (name space and assembly).
5224 </summary>
5225 <param name="type"></param>
5226 </member>
5227 <member name="M:HttpServer.Rendering.TemplateManager.CheckTemplate(HttpServer.Rendering.ITemplateInfo)">
5228 <summary>
5229 Checks the template.
5230 </summary>
5231 <param name="info">Template information, filename must be set.</param>
5232 <returns>true if template exists and have been compiled.</returns>
5233 </member>
5234 <member name="M:HttpServer.Rendering.TemplateManager.Compile(System.String,System.String,HttpServer.Rendering.TemplateArguments,System.String)">
5235 <summary>
5236 Compiles the specified code.
5237 </summary>
5238 <param name="fileName">Name of template.</param>
5239 <param name="code">c# code generated from a template.</param>
5240 <param name="arguments">Arguments as in name, value, name, value, name, value</param>
5241 <param name="templateId">
5242 An id to specify the exact instance of a template. Made from joining the 'TemplateClass' with the hashcode of the filename
5243 and the hashcode of the supplied arguments
5244 </param>
5245 <returns>Template</returns>
5246 <exception cref="T:HttpServer.Rendering.TemplateException">If compilation fails</exception>
5247 </member>
5248 <member name="M:HttpServer.Rendering.TemplateManager.GenerateCode(System.String@)">
5249 <summary>
5250 Will generate code from the template.
5251 Next step is to compile the code.
5252 </summary>
5253 <param name="path">Path and filename to template.</param>
5254 <exception cref="T:System.ArgumentException"></exception>
5255 <exception cref="T:System.InvalidOperationException">If no template generator exists for the specified extension.</exception>
5256 <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If parsing/compiling fails</exception>
5257 <see cref="M:HttpServer.Rendering.TemplateManager.Render(System.String,HttpServer.Rendering.TemplateArguments)"/>
5258 </member>
5259 <member name="M:HttpServer.Rendering.TemplateManager.GetGeneratorForWildCard(System.String@)">
5260 <summary>
5261 Find a template using wildcards in filename.
5262 </summary>
5263 <param name="filePath">Full path (including wildcards in filename) to where we should find a template.</param>
5264 <returns>First found generator if an extension was matched; otherwise null.</returns>
5265 <remarks>method is not thread safe</remarks>
5266 </member>
5267 <member name="M:HttpServer.Rendering.TemplateManager.RenderPartial(System.String,HttpServer.Rendering.TemplateArguments,HttpServer.Rendering.TemplateArguments)">
5268 <summary>
5269 Render a partial
5270 </summary>
5271 <param name="filename">Path and filename</param>
5272 <param name="args">Variables used in the template. Should be specified as "name, value, name, value" where name is variable name and value is variable contents.</param>
5273 <param name="arguments">Arguments passed from parent template</param>
5274 <returns></returns>
5275 <exception cref="T:System.InvalidOperationException"></exception>
5276 <exception cref="T:HttpServer.Rendering.TemplateException"></exception>
5277 <exception cref="T:System.ArgumentException"></exception>
5278 </member>
5279 <member name="M:HttpServer.Rendering.TemplateManager.Render(System.String,HttpServer.Rendering.TemplateArguments)">
5280 <summary>
5281 Generate HTML from a template.
5282 </summary>
5283 <param name="filename">Path and filename</param>
5284 <param name="args">Variables used in the template. Should be specified as "name, value, name, value" where name is variable name and value is variable contents.</param>
5285 <exception cref="T:System.InvalidOperationException"></exception>
5286 <exception cref="T:Fadd.CompilerException"></exception>
5287 <exception cref="T:System.ArgumentException"></exception>
5288 <example>
5289 <code>
5290 string html = cache.Generate("views\\users\\view.haml", new TemplateArguments("user", dbUser, "isAdmin", dbUser.IsAdmin), null);
5291 </code>
5292 </example>
5293 </member>
5294 <member name="T:HttpServer.Rendering.TemplateManager.TemplateInfoImp">
5295 <summary>
5296 Keeps information about templates, so we know when to regenerate it.
5297 </summary>
5298 </member>
5299 <member name="T:HttpServer.Rendering.ResourceInfo">
5300 <summary>
5301 Container to bind resource names to assemblies
5302 </summary>
5303 </member>
5304 <member name="M:HttpServer.Rendering.ResourceInfo.#ctor(System.String,System.Reflection.Assembly)">
5305 <summary>
5306 Instantiates an instance of <see cref="T:HttpServer.Rendering.ResourceInfo"/>
5307 </summary>
5308 <param name="fullname">The full name/path of the resource</param>
5309 <param name="assembly">The assembly the resource exists in</param>
5310 </member>
5311 <member name="M:HttpServer.Rendering.ResourceInfo.GetStream">
5312 <summary>
5313 Retrieves a stream to the resouce
5314 </summary>
5315 <returns>Null if the resource couldn't be located somehow</returns>
5316 </member>
5317 <member name="P:HttpServer.Rendering.ResourceInfo.Assembly">
5318 <summary>
5319 Retrieves the assembly the resource resides in
5320 </summary>
5321 </member>
5322 <member name="P:HttpServer.Rendering.ResourceInfo.Name">
5323 <summary>
5324 Retrieves the full name/path of the assembly
5325 </summary>
5326 </member>
5327 <member name="P:HttpServer.Rendering.ResourceInfo.Extension">
5328 <summary>
5329 Retrieves the extension of the resource
5330 </summary>
5331 </member>
5332 <member name="T:HttpServer.Rendering.FileTemplateLoader">
5333 <summary>
5334 This template loader loads all templates from a folder on the hard drive.
5335 </summary>
5336 </member>
5337 <member name="M:HttpServer.Rendering.FileTemplateLoader.#ctor(System.String)">
5338 <summary>
5339 Initializes a new instance of the <see cref="T:HttpServer.Rendering.FileTemplateLoader"/> class.
5340 </summary>
5341 <param name="pathPrefix">A prefix that is prepended to all requested files.</param>
5342 <seealso cref="P:HttpServer.Rendering.FileTemplateLoader.PathPrefix"/>
5343 </member>
5344 <member name="M:HttpServer.Rendering.FileTemplateLoader.#ctor">
5345 <summary>
5346 Initializes a new instance of the <see cref="T:HttpServer.Rendering.FileTemplateLoader"/> class.
5347 </summary>
5348 </member>
5349 <member name="M:HttpServer.Rendering.FileTemplateLoader.LoadTemplate(System.String)">
5350 <summary>
5351 Load a template into a <see cref="T:System.IO.TextReader"/> and return it.
5352 </summary>
5353 <param name="path">Relative path (and filename) to template.</param>
5354 <returns>
5355 a <see cref="T:System.IO.TextReader"/> if file was found; otherwise null.
5356 </returns>
5357 </member>
5358 <member name="M:HttpServer.Rendering.FileTemplateLoader.GetFiles(System.String,System.String)">
5359 <summary>
5360 Fetch all files from the resource that matches the specified arguments.
5361 </summary>
5362 <param name="path">Where the file should reside.</param>
5363 <param name="filename">Files to check</param>
5364 <returns>
5365 a list of files if found; or an empty array if no files are found.
5366 </returns>
5367 </member>
5368 <member name="M:HttpServer.Rendering.FileTemplateLoader.HasTemplate(System.String)">
5369 <summary>
5370 Returns whether or not the loader has an instance of the file requested
5371 </summary>
5372 <param name="filename">The name of the template/file</param>
5373 <returns>True if the loader can provide the file</returns>
5374 </member>
5375 <member name="M:HttpServer.Rendering.FileTemplateLoader.CheckTemplate(HttpServer.Rendering.ITemplateInfo)">
5376 <summary>
5377 Check's whether a template should be reloaded or not.
5378 </summary>
5379 <param name="info">template information</param>
5380 <returns>
5381 true if template is OK; false if it do not exist or are old.
5382 </returns>
5383 </member>
5384 <member name="P:HttpServer.Rendering.FileTemplateLoader.PathPrefix">
5385 <summary>
5386 A prefix that is prepended to all requested files.
5387 </summary>
5388 <example>
5389 <code>
5390 <![CDATA[
5391 // will look after template in Environment.CurrentDirectory + "views\\<ControllerName>\\templateName.*"
5392 mgr.PathPrefix = "views\\";
5393 ]]>
5394 </code>
5395 </example>
5396 <remarks>PathPrefix may not be null, only string.Empty
5397 </remarks>
5398 </member>
5399 <member name="T:HttpServer.Helpers.XmlHelper">
5400 <summary>
5401 Helpers to make XML handling easier
5402 </summary>
5403 </member>
5404 <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)">
5405 <summary>
5406 Serializes object to XML.
5407 </summary>
5408 <param name="value">object to serialize.</param>
5409 <returns>xml</returns>
5410 <remarks>
5411 Removes namespaces and adds intendation
5412 </remarks>
5413 </member>
5414 <member name="T:HttpServer.IHttpResponse">
5415 <summary>
5416 Response that is sent back to the web browser / client.
5417
5418 A response can be sent if different ways. The easiest one is
5419 to just fill the Body stream with content, everything else
5420 will then be taken care of by the framework. The default content-type
5421 is text/html, you should change it if you send anything else.
5422
5423 The second and slighty more complex way is to send the response
5424 as parts. Start with sending the header using the SendHeaders method and
5425 then you can send the body using SendBody method, but do not forget
5426 to set ContentType and ContentLength before doing so.
5427 </summary>
5428 <example>
5429 public void MyHandler(IHttpRequest request, IHttpResponse response)
5430 {
5431
5432 }
5433 </example>
5434 </member>
5435 <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)">
5436 <summary>
5437 Add another header to the document.
5438 </summary>
5439 <param name="name">Name of the header, case sensitive, use lower cases.</param>
5440 <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>
5441 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
5442 <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
5443 <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
5444 </member>
5445 <member name="M:HttpServer.IHttpResponse.Send">
5446 <summary>
5447 Send headers and body to the browser.
5448 </summary>
5449 <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
5450 </member>
5451 <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
5452 <summary>
5453 Make sure that you have specified ContentLength and sent the headers first.
5454 </summary>
5455 <param name="buffer"></param>
5456 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
5457 <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
5458 <param name="offset">offest of first byte to send</param>
5459 <param name="count">number of bytes to send.</param>
5460 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
5461 <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
5462 <remarks>This method can be used if you want to send body contents without caching them first. This
5463 is recommended for larger files to keep the memory usage low.</remarks>
5464 </member>
5465 <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])">
5466 <summary>
5467 Make sure that you have specified ContentLength and sent the headers first.
5468 </summary>
5469 <param name="buffer"></param>
5470 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
5471 <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
5472 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
5473 <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
5474 <remarks>This method can be used if you want to send body contents without caching them first. This
5475 is recommended for larger files to keep the memory usage low.</remarks>
5476 </member>
5477 <member name="M:HttpServer.IHttpResponse.SendHeaders">
5478 <summary>
5479 Send headers to the client.
5480 </summary>
5481 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
5482 <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/>
5483 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
5484 <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/>
5485 </member>
5486 <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)">
5487 <summary>
5488 Redirect client to somewhere else using the 302 status code.
5489 </summary>
5490 <param name="uri">Destination of the redirect</param>
5491 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
5492 <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
5493 action.</remarks>
5494 </member>
5495 <member name="M:HttpServer.IHttpResponse.Redirect(System.String)">
5496 <summary>
5497 redirect to somewhere
5498 </summary>
5499 <param name="url">where the redirect should go</param>
5500 <remarks>
5501 No body are allowed when doing redirects.
5502 </remarks>
5503 </member>
5504 <member name="P:HttpServer.IHttpResponse.Body">
5505 <summary>
5506 The body stream is used to cache the body contents
5507 before sending everything to the client. It's the simplest
5508 way to serve documents.
5509 </summary>
5510 </member>
5511 <member name="P:HttpServer.IHttpResponse.Chunked">
5512 <summary>
5513 The chunked encoding modifies the body of a message in order to
5514 transfer it as a series of chunks, each with its own size indicator,
5515 followed by an OPTIONAL trailer containing entity-header fields. This
5516 allows dynamically produced content to be transferred along with the
5517 information necessary for the recipient to verify that it has
5518 received the full message.
5519 </summary>
5520 </member>
5521 <member name="P:HttpServer.IHttpResponse.Connection">
5522 <summary>
5523 Kind of connection
5524 </summary>
5525 </member>
5526 <member name="P:HttpServer.IHttpResponse.Encoding">
5527 <summary>
5528 Encoding to use when sending stuff to the client.
5529 </summary>
5530 <remarks>Default is UTF8</remarks>
5531 </member>
5532 <member name="P:HttpServer.IHttpResponse.KeepAlive">
5533 <summary>
5534 Number of seconds to keep connection alive
5535 </summary>
5536 <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
5537 </member>
5538 <member name="P:HttpServer.IHttpResponse.Status">
5539 <summary>
5540 Status code that is sent to the client.
5541 </summary>
5542 <remarks>Default is HttpStatusCode.Ok</remarks>
5543 </member>
5544 <member name="P:HttpServer.IHttpResponse.Reason">
5545 <summary>
5546 Information about why a specific status code was used.
5547 </summary>
5548 </member>
5549 <member name="P:HttpServer.IHttpResponse.ContentLength">
5550 <summary>
5551 Size of the body. MUST be specified before sending the header,
5552 unless property Chunked is set to true.
5553 </summary>
5554 </member>
5555 <member name="P:HttpServer.IHttpResponse.ContentType">
5556 <summary>
5557 Kind of content in the body
5558 </summary>
5559 <remarks>Default is text/html</remarks>
5560 </member>
5561 <member name="P:HttpServer.IHttpResponse.HeadersSent">
5562 <summary>
5563 Headers have been sent to the client-
5564 </summary>
5565 <remarks>You can not send any additional headers if they have already been sent.</remarks>
5566 </member>
5567 <member name="P:HttpServer.IHttpResponse.Sent">
5568 <summary>
5569 The whole response have been sent.
5570 </summary>
5571 </member>
5572 <member name="P:HttpServer.IHttpResponse.Cookies">
5573 <summary>
5574 Cookies that should be created/changed.
5575 </summary>
5576 </member>
5577 <member name="T:HttpServer.ConnectionType">
5578 <summary>
5579 Type of HTTP connection
5580 </summary>
5581 </member>
5582 <member name="F:HttpServer.ConnectionType.Close">
5583 <summary>
5584 Connection is closed after each request-response
5585 </summary>
5586 </member>
5587 <member name="F:HttpServer.ConnectionType.KeepAlive">
5588 <summary>
5589 Connection is kept alive for X seconds (unless another request have been made)
5590 </summary>
5591 </member>
5592 <member name="T:HttpServer.HttpInputItem">
5593 <summary>
5594 represents a http input item. Each item can have multiple sub items, a sub item
5595 is made in a html form by using square brackets
5596 </summary>
5597 <example>
5598 // <input type="text" name="user[FirstName]" value="jonas" /> becomes:
5599 Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
5600 </example>
5601 <remarks>
5602 All names in a form SHOULD be in lowercase.
5603 </remarks>
5604 </member>
5605 <member name="F:HttpServer.HttpInputItem.Empty">
5606 <summary> Representation of a non-initialized HttpInputItem </summary>
5607 </member>
5608 <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)">
5609 <summary>
5610 Initializes an input item setting its name/identifier and value
5611 </summary>
5612 <param name="name">Parameter name/id</param>
5613 <param name="value">Parameter value</param>
5614 </member>
5615 <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)">
5616 <summary>Creates a deep copy of the item specified</summary>
5617 <param name="item">The item to copy</param>
5618 <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
5619 </member>
5620 <member name="M:HttpServer.HttpInputItem.Add(System.String)">
5621 <summary>
5622 Add another value to this item
5623 </summary>
5624 <param name="value"></param>
5625 </member>
5626 <member name="M:HttpServer.HttpInputItem.Contains(System.String)">
5627 <summary>
5628 checks if a subitem exists (and has a value).
5629 </summary>
5630 <param name="name">name in lower case</param>
5631 <returns>true if the subitem exists and has a value; otherwise false.</returns>
5632 </member>
5633 <member name="M:HttpServer.HttpInputItem.ToString">
5634 <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary>
5635 </member>
5636 <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)">
5637 <summary>
5638 Outputs the string in a formatted manner
5639 </summary>
5640 <param name="prefix">A prefix to append, used internally</param>
5641 <param name="asQuerySting">produce a query string</param>
5642 </member>
5643 <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)">
5644 <summary>
5645 Add a sub item
5646 </summary>
5647 <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param>
5648 <param name="value"></param>
5649 </member>
5650 <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
5651 <summary>
5652 Returns an enumerator that iterates through the collection.
5653 </summary>
5654
5655 <returns>
5656 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
5657 </returns>
5658 <filterpriority>1</filterpriority>
5659 </member>
5660 <member name="M:HttpServer.HttpInputItem.GetEnumerator">
5661 <summary>
5662 Returns an enumerator that iterates through a collection.
5663 </summary>
5664
5665 <returns>
5666 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
5667 </returns>
5668 <filterpriority>2</filterpriority>
5669 </member>
5670 <member name="M:HttpServer.HttpInputItem.ToString(System.String)">
5671 <summary>
5672 Outputs the string in a formatted manner
5673 </summary>
5674 <param name="prefix">A prefix to append, used internally</param>
5675 <returns></returns>
5676 </member>
5677 <member name="P:HttpServer.HttpInputItem.Count">
5678 <summary>
5679 Number of values
5680 </summary>
5681 </member>
5682 <member name="P:HttpServer.HttpInputItem.Item(System.String)">
5683 <summary>
5684 Get a sub item
5685 </summary>
5686 <param name="name">name in lower case.</param>
5687 <returns>HttpInputItem.Empty if no item was found.</returns>
5688 </member>
5689 <member name="P:HttpServer.HttpInputItem.Name">
5690 <summary>
5691 Name of item (in lower case).
5692 </summary>
5693 </member>
5694 <member name="P:HttpServer.HttpInputItem.Value">
5695 <summary>
5696 Returns the first value, or null if no value exist.
5697 </summary>
5698 </member>
5699 <member name="P:HttpServer.HttpInputItem.LastValue">
5700 <summary>
5701 Returns the last value, or null if no value exist.
5702 </summary>
5703 </member>
5704 <member name="P:HttpServer.HttpInputItem.Values">
5705 <summary>
5706 Returns the list with values.
5707 todo: Return a readonly collection
5708 </summary>
5709 </member>
5710 <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
5711 <summary>
5712
5713 </summary>
5714 <param name="name">name in lower case</param>
5715 <returns></returns>
5716 </member>
5717 <member name="T:HttpServer.FormDecoders.UrlDecoder">
5718 <summary>
5719 Can handle application/x-www-form-urlencoded
5720 </summary>
5721 </member>
5722 <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
5723 <summary>
5724 </summary>
5725 <param name="stream">Stream containing the content</param>
5726 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
5727 <param name="encoding">Stream enconding</param>
5728 <returns>
5729 A http form, or null if content could not be parsed.
5730 </returns>
5731 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
5732 </member>
5733 <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)">
5734 <summary>
5735 Checks if the decoder can handle the mime type
5736 </summary>
5737 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
5738 <returns>True if the decoder can parse the specified content type</returns>
5739 </member>
5740 <member name="T:HttpServer.Controllers.ControllerTester">
5741 <summary>
5742 Used to simply testing of controls.
5743 </summary>
5744 </member>
5745 <member name="F:HttpServer.Controllers.ControllerTester.HostName">
5746 <summary>
5747 Fake host name, default is "http://localhost"
5748 </summary>
5749 </member>
5750 <member name="F:HttpServer.Controllers.ControllerTester.DefaultSession">
5751 <summary>
5752 Session used if null have been specified as argument to one of the class methods.
5753 </summary>
5754 </member>
5755 <member name="M:HttpServer.Controllers.ControllerTester.Get(HttpServer.Controllers.RequestController,System.String,HttpServer.IHttpResponse@,HttpServer.Sessions.IHttpSession)">
5756 <summary>
5757 Send a GET request to a controller.
5758 </summary>
5759 <param name="controller">Controller receiving the post request.</param>
5760 <param name="uri">Uri visited.</param>
5761 <param name="response">Response from the controller.</param>
5762 <param name="session">Session used during the test. null = <see cref="F:HttpServer.Controllers.ControllerTester.DefaultSession"/> is used.</param>
5763 <returns>body posted by the response object</returns>
5764 <example>
5765 <code>
5766 void MyTest()
5767 {
5768 ControllerTester tester = new ControllerTester();
5769
5770 MyController controller = new MyController();
5771 IHttpResponse response;
5772 string text = Get(controller, "/my/hello/1?hello=world", out response, null);
5773 Assert.Equal("world|1", text);
5774 }
5775 </code>
5776 </example>
5777 </member>
5778 <member name="M:HttpServer.Controllers.ControllerTester.Post(HttpServer.Controllers.RequestController,System.String,HttpServer.HttpForm,HttpServer.IHttpResponse@,HttpServer.Sessions.IHttpSession)">
5779 <summary>
5780 Send a POST request to a controller.
5781 </summary>
5782 <param name="controller">Controller receiving the post request.</param>
5783 <param name="uri">Uri visited.</param>
5784 <param name="form">Form being processed by controller.</param>
5785 <param name="response">Response from the controller.</param>
5786 <param name="session">Session used during the test. null = <see cref="F:HttpServer.Controllers.ControllerTester.DefaultSession"/> is used.</param>
5787 <returns>body posted by the response object</returns>
5788 <example>
5789 <code>
5790 void MyTest()
5791 {
5792 // Create a controller.
5793 MyController controller = new MyController();
5794
5795 // build up a form that is used by the controller.
5796 HttpForm form = new HttpForm();
5797 form.Add("user[firstName]", "Jonas");
5798
5799 // Invoke the request
5800 ControllerTester tester = new ControllerTester();
5801 IHttpResponse response;
5802 string text = tester.Get(controller, "/user/create/", form, out response, null);
5803
5804 // validate response back from controller.
5805 Assert.Equal("User 'Jonas' has been created.", text);
5806 }
5807 </code>
5808 </example>
5809 </member>
5810 <member name="T:HttpServer.ClientAcceptedEventArgs">
5811 <summary>
5812 Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/>
5813 </summary>
5814 <remarks>
5815 Can be used to revoke incoming connections
5816 </remarks>
5817 </member>
5818 <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)">
5819 <summary>
5820 Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class.
5821 </summary>
5822 <param name="socket">The socket.</param>
5823 </member>
5824 <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke">
5825 <summary>
5826 Client may not be handled.
5827 </summary>
5828 </member>
5829 <member name="P:HttpServer.ClientAcceptedEventArgs.Socket">
5830 <summary>
5831 Accepted socket.
5832 </summary>
5833 </member>
5834 <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked">
5835 <summary>
5836 Client should be revoked.
5837 </summary>
5838 </member>
5839 <member name="T:HttpServer.ResponseCookie">
5840 <summary>
5841 cookie being sent back to the browser.
5842 </summary>
5843 <seealso cref="T:HttpServer.ResponseCookie"/>
5844 </member>
5845 <member name="T:HttpServer.RequestCookie">
5846 <summary>
5847 cookie sent by the client/browser
5848 </summary>
5849 <seealso cref="T:HttpServer.ResponseCookie"/>
5850 </member>
5851 <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)">
5852 <summary>
5853 Constructor.
5854 </summary>
5855 <param name="id">cookie identifier</param>
5856 <param name="content">cookie content</param>
5857 <exception cref="T:System.ArgumentNullException">id or content is null</exception>
5858 <exception cref="T:System.ArgumentException">id is empty</exception>
5859 </member>
5860 <member name="M:HttpServer.RequestCookie.ToString">
5861 <summary>
5862 Gets the cookie HTML representation.
5863 </summary>
5864 <returns>cookie string</returns>
5865 </member>
5866 <member name="P:HttpServer.RequestCookie.Name">
5867 <summary>
5868 Gets the cookie identifier.
5869 </summary>
5870 </member>
5871 <member name="P:HttpServer.RequestCookie.Value">
5872 <summary>
5873 Cookie value. Set to null to remove cookie.
5874 </summary>
5875 </member>
5876 <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)">
5877 <summary>
5878 Constructor.
5879 </summary>
5880 <param name="id">cookie identifier</param>
5881 <param name="content">cookie content</param>
5882 <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param>
5883 <exception cref="T:System.ArgumentNullException">id or content is null</exception>
5884 <exception cref="T:System.ArgumentException">id is empty</exception>
5885 </member>
5886 <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)">
5887 <summary>
5888 Create a new cookie
5889 </summary>
5890 <param name="name">name identifying the cookie</param>
5891 <param name="value">cookie value</param>
5892 <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param>
5893 <param name="path">Path to where the cookie is valid</param>
5894 <param name="domain">Domain that the cookie is valid for.</param>
5895 </member>
5896 <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)">
5897 <summary>
5898 Create a new cookie
5899 </summary>
5900 <param name="cookie">Name and value will be used</param>
5901 <param name="expires">when the cookie expires.</param>
5902 </member>
5903 <member name="M:HttpServer.ResponseCookie.ToString">
5904 <summary>
5905 Gets the cookie HTML representation.
5906 </summary>
5907 <returns>cookie string</returns>
5908 </member>
5909 <member name="P:HttpServer.ResponseCookie.Expires">
5910 <summary>
5911 When the cookie expires.
5912 DateTime.MinValue means that the cookie expires when the session do so.
5913 </summary>
5914 </member>
5915 <member name="P:HttpServer.ResponseCookie.Path">
5916 <summary>
5917 Cookie is only valid under this path.
5918 </summary>
5919 </member>
5920 <member name="T:HttpServer.Rendering.ITinyTemplate">
5921 <summary>
5922 Interface for dynamically generated templates.
5923 </summary>
5924 <seealso cref="T:HttpServer.Rendering.TemplateManager"/>
5925 </member>
5926 <member name="M:HttpServer.Rendering.ITinyTemplate.Invoke(HttpServer.Rendering.TemplateArguments,HttpServer.Rendering.TemplateManager)">
5927 <summary>
5928 Run the template to generate HTML code.
5929 </summary>
5930 <param name="args">arguments passed to the template</param>
5931 <param name="hiddenTemplateManager">template manager (a manager is used to generate templates)</param>
5932 <returns>HTML code.</returns>
5933 </member>
5934 <member name="T:HttpServer.Rendering.CodeGeneratorException">
5935 <summary>
5936 Contains information on where in the template the error occurred, and what the error was.
5937 </summary>
5938 </member>
5939 <member name="M:HttpServer.Rendering.CodeGeneratorException.#ctor(System.Int32,System.String)">
5940 <summary>
5941 Initializes a new instance of the <see cref="T:HttpServer.Rendering.CodeGeneratorException"/> class.
5942 </summary>
5943 <param name="lineNumber">Line that the error appeared on.</param>
5944 <param name="error">error description.</param>
5945 </member>
5946 <member name="M:HttpServer.Rendering.CodeGeneratorException.#ctor(System.Int32,System.String,System.String)">
5947 <summary>
5948 Initializes a new instance of the <see cref="T:HttpServer.Rendering.CodeGeneratorException"/> class.
5949 </summary>
5950 <param name="lineNumber">Line that the error appeared on.</param>
5951 <param name="error">error description.</param>
5952 <param name="line">line contents.</param>
5953 </member>
5954 <member name="P:HttpServer.Rendering.CodeGeneratorException.Line">
5955 <summary>
5956 Returns the actual line where the error originated
5957 </summary>
5958 </member>
5959 <member name="P:HttpServer.Rendering.CodeGeneratorException.LineNumber">
5960 <summary>
5961 Line number in template
5962 </summary>
5963 </member>
5964 <member name="T:HttpServer.Rendering.Haml.Nodes.SilentCodeNode">
5965 <summary>
5966 The ’-’ character makes the text following it into “silent” code: C# code that is evaluated, but not output.
5967 It is not recommended that you use this widely; almost all processing code and logic should be restricted to the Controller, Helpers, or partials.
5968
5969 For example
5970 <code>
5971 - string foo = "hello"
5972 - foo += " there"
5973 - foo += " you!"
5974 %p= foo
5975 </code>
5976
5977 Is compiled to
5978 <example>
5979 <p>
5980 hello there you!
5981 </p>
5982 </example>
5983 </summary>
5984 </member>
5985 <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.CanHandle(System.String,System.Boolean)">
5986 <summary>
5987 determines if this node can handle the line (by checking the first word);
5988 </summary>
5989 <param name="word">Controller char (word)</param>
5990 <returns>true if text belongs to this node type</returns>
5991 <param name="firstNode">first node on line</param>
5992 </member>
5993 <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
5994 <summary>
5995 Parse node contents add return a fresh node.
5996 </summary>
5997 <param name="prototypes">List containing all node types</param>
5998 <param name="parent">Node that this is a subnode to. Can be null</param>
5999 <param name="line">Line to parse</param>
6000 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
6001 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
6002 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
6003 </member>
6004 <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
6005 <summary>
6006 Convert the node to c# code
6007 </summary>
6008 <param name="inString">True if we are inside the internal stringbuilder</param>
6009 <param name="smallEnough">true if all subnodes fit on one line</param>
6010 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
6011 <returns>c# code</returns>
6012 </member>
6013 <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.ToHtml">
6014 <summary>
6015 Convert node to HTML (with ASP-tags)
6016 </summary>
6017 <returns>HTML string</returns>
6018 </member>
6019 <member name="T:HttpServer.Rendering.TemplateCompiler">
6020 <summary>
6021 The compiler is responsible of creating a render object which can be
6022 cached and used over and over again.
6023 </summary>
6024 <seealso cref="T:HttpServer.Rendering.TemplateManager"/>
6025 <seealso cref="T:HttpServer.Rendering.ITemplateGenerator"/>
6026 </member>
6027 <member name="F:HttpServer.Rendering.TemplateCompiler.TemplateBase">
6028 <summary>
6029 Base c# code for a template object.
6030 </summary>
6031 </member>
6032 <member name="M:HttpServer.Rendering.TemplateCompiler.#ctor">
6033 <summary>
6034 Create a new template compiler
6035 </summary>
6036 </member>
6037 <member name="M:HttpServer.Rendering.TemplateCompiler.Add(System.Type)">
6038 <summary>
6039 Adds the specified type.
6040 </summary>
6041 <param name="type">The type.</param>
6042 </member>
6043 <member name="M:HttpServer.Rendering.TemplateCompiler.Compile(HttpServer.Rendering.TemplateArguments,System.String,System.String)">
6044 <summary>
6045 Compiles the specified args.
6046 </summary>
6047 <param name="args">Arguments, should contain "name, value, name, value" etc.</param>
6048 <param name="template">c# code that will be included in the generated template class</param>
6049 <param name="templateId">Id of the template class</param>
6050 <returns>Tiny template if successful; otherwise null.</returns>
6051 <exception cref="T:Fadd.CompilerException">If compilation fails</exception>
6052 <exception cref="T:System.ArgumentException">If args are incorrect</exception>
6053 </member>
6054 <member name="T:HttpServer.HttpResponse">
6055 <summary>
6056 Response that is sent back to the web browser / client.
6057
6058 A response can be sent if different ways. The easiest one is
6059 to just fill the Body stream with content, everything else
6060 will then be taken care of by the framework. The default content-type
6061 is text/html, you should change it if you send anything else.
6062
6063 The second and slighty more complex way is to send the response
6064 as parts. Start with sending the header using the SendHeaders method and
6065 then you can send the body using SendBody method, but do not forget
6066 to set ContentType and ContentLength before doing so.
6067 </summary>
6068 <example>
6069 public void MyHandler(IHttpRequest request, IHttpResponse response)
6070 {
6071
6072 }
6073 </example>
6074 todo: add two examples, using SendHeaders/SendBody and just the Body stream.
6075 </member>
6076 <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
6077 <summary>
6078 Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
6079 </summary>
6080 <param name="context">The context.</param>
6081 <param name="request">The request.</param>
6082 </member>
6083 <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)">
6084 <summary>
6085 Add another header to the document.
6086 </summary>
6087 <param name="name">Name of the header, case sensitive, use lower cases.</param>
6088 <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>
6089 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
6090 <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
6091 <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
6092 </member>
6093 <member name="M:HttpServer.HttpResponse.Send">
6094 <summary>
6095 Send headers and body to the browser.
6096 </summary>
6097 <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
6098 </member>
6099 <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
6100 <summary>
6101 Make sure that you have specified ContentLength and sent the headers first.
6102 </summary>
6103 <param name="buffer"></param>
6104 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
6105 <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
6106 <param name="offset">offest of first byte to send</param>
6107 <param name="count">number of bytes to send.</param>
6108 <seealso cref="M:HttpServer.HttpResponse.Send"/>
6109 <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
6110 <remarks>This method can be used if you want to send body contents without caching them first. This
6111 is recommended for larger files to keep the memory usage low.</remarks>
6112 </member>
6113 <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])">
6114 <summary>
6115 Make sure that you have specified ContentLength and sent the headers first.
6116 </summary>
6117 <param name="buffer"></param>
6118 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
6119 <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
6120 <seealso cref="M:HttpServer.HttpResponse.Send"/>
6121 <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
6122 <remarks>This method can be used if you want to send body contents without caching them first. This
6123 is recommended for larger files to keep the memory usage low.</remarks>
6124 </member>
6125 <member name="M:HttpServer.HttpResponse.SendHeaders">
6126 <summary>
6127 Send headers to the client.
6128 </summary>
6129 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
6130 <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/>
6131 <seealso cref="M:HttpServer.HttpResponse.Send"/>
6132 <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/>
6133 </member>
6134 <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)">
6135 <summary>
6136 Redirect client to somewhere else using the 302 status code.
6137 </summary>
6138 <param name="uri">Destination of the redirect</param>
6139 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
6140 <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
6141 action.</remarks>
6142 </member>
6143 <member name="M:HttpServer.HttpResponse.Redirect(System.String)">
6144 <summary>
6145 redirect to somewhere
6146 </summary>
6147 <param name="url">where the redirect should go</param>
6148 <remarks>
6149 No body are allowed when doing redirects.
6150 </remarks>
6151 </member>
6152 <member name="P:HttpServer.HttpResponse.Body">
6153 <summary>
6154 The body stream is used to cache the body contents
6155 before sending everything to the client. It's the simplest
6156 way to serve documents.
6157 </summary>
6158 </member>
6159 <member name="P:HttpServer.HttpResponse.Chunked">
6160 <summary>
6161 The chunked encoding modifies the body of a message in order to
6162 transfer it as a series of chunks, each with its own size indicator,
6163 followed by an OPTIONAL trailer containing entity-header fields. This
6164 allows dynamically produced content to be transferred along with the
6165 information necessary for the recipient to verify that it has
6166 received the full message.
6167 </summary>
6168 </member>
6169 <member name="P:HttpServer.HttpResponse.Connection">
6170 <summary>
6171 Kind of connection
6172 </summary>
6173 </member>
6174 <member name="P:HttpServer.HttpResponse.Encoding">
6175 <summary>
6176 Encoding to use when sending stuff to the client.
6177 </summary>
6178 <remarks>Default is UTF8</remarks>
6179 </member>
6180 <member name="P:HttpServer.HttpResponse.KeepAlive">
6181 <summary>
6182 Number of seconds to keep connection alive
6183 </summary>
6184 <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
6185 </member>
6186 <member name="P:HttpServer.HttpResponse.Status">
6187 <summary>
6188 Status code that is sent to the client.
6189 </summary>
6190 <remarks>Default is HttpStatusCode.Ok</remarks>
6191 </member>
6192 <member name="P:HttpServer.HttpResponse.Reason">
6193 <summary>
6194 Information about why a specific status code was used.
6195 </summary>
6196 </member>
6197 <member name="P:HttpServer.HttpResponse.ContentLength">
6198 <summary>
6199 Size of the body. MUST be specified before sending the header,
6200 unless property Chunked is set to true.
6201 </summary>
6202 </member>
6203 <member name="P:HttpServer.HttpResponse.ContentType">
6204 <summary>
6205 Kind of content in the body
6206 </summary>
6207 <remarks>Default is text/html</remarks>
6208 </member>
6209 <member name="P:HttpServer.HttpResponse.HeadersSent">
6210 <summary>
6211 Headers have been sent to the client-
6212 </summary>
6213 <remarks>You can not send any additional headers if they have already been sent.</remarks>
6214 </member>
6215 <member name="P:HttpServer.HttpResponse.Sent">
6216 <summary>
6217 The whole response have been sent.
6218 </summary>
6219 </member>
6220 <member name="P:HttpServer.HttpResponse.Cookies">
6221 <summary>
6222 Cookies that should be created/changed.
6223 </summary>
6224 </member>
6225 <member name="T:HttpServer.HttpModules.ReverseProxyModule">
6226 <summary>
6227 A reverse proxy are used to act as a bridge between local (protected/hidden) websites
6228 and public clients.
6229
6230 A typical usage is to allow web servers on non standard ports to still be available
6231 to the public clients, or allow web servers on private ips to be available.
6232 </summary>
6233 </member>
6234 <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)">
6235 <summary>
6236
6237 </summary>
6238 <param name="source">Base url requested from browser</param>
6239 <param name="destination">Base url on private web server</param>
6240 <example>
6241 // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas
6242 _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/");
6243 </example>
6244 </member>
6245 <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)">
6246 <summary>
6247 Method that determines if an url should be handled or not by the module
6248 </summary>
6249 <param name="uri">Url requested by the client.</param>
6250 <returns>true if module should handle the url.</returns>
6251 </member>
6252 <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
6253 <summary>
6254 Method that process the url
6255 </summary>
6256 <param name="request">Information sent by the browser about the request</param>
6257 <param name="response">Information that is being sent back to the client.</param>
6258 <param name="session">Session used to </param>
6259 </member>
6260 <member name="T:HttpServer.HttpForm">
6261 <summary>Container for posted form data</summary>
6262 </member>
6263 <member name="F:HttpServer.HttpForm.EmptyForm">
6264 <summary>Instance to help mark a non-initialized form</summary>
6265 </member>
6266 <member name="M:HttpServer.HttpForm.#ctor">
6267 <summary>Initializes a form container with the specified name</summary>
6268 </member>
6269 <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)">
6270 <summary>
6271 Makes a deep copy of the input
6272 </summary>
6273 <param name="input">The input to copy</param>
6274 </member>
6275 <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)">
6276 <summary>
6277 Adds a file to the collection of posted files
6278 </summary>
6279 <param name="file">The file to add</param>
6280 <exception cref="T:System.ArgumentException">If the file is already added</exception>
6281 <exception cref="T:System.ArgumentNullException">If file is null</exception>
6282 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
6283 </member>
6284 <member name="M:HttpServer.HttpForm.ContainsFile(System.String)">
6285 <summary>
6286 Checks if the form contains a specified file
6287 </summary>
6288 <param name="name">Field name of the file parameter</param>
6289 <returns>True if the file exists</returns>
6290 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
6291 </member>
6292 <member name="M:HttpServer.HttpForm.GetFile(System.String)">
6293 <summary>
6294 Retrieves a file held by by the form
6295 </summary>
6296 <param name="name">The identifier of the file</param>
6297 <returns>The requested file or null if the file was not found</returns>
6298 <exception cref="T:System.ArgumentNullException">If name is null or empty</exception>
6299 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
6300 </member>
6301 <member name="M:HttpServer.HttpForm.Clear">
6302 <summary>Disposes all held HttpFile's and resets values</summary>
6303 </member>
6304 <member name="T:HttpServer.Exceptions.InternalServerException">
6305 <summary>
6306 The server encountered an unexpected condition which prevented it from fulfilling the request.
6307 </summary>
6308 </member>
6309 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor">
6310 <summary>
6311 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
6312 </summary>
6313 </member>
6314 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)">
6315 <summary>
6316 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
6317 </summary>
6318 <param name="message">error message.</param>
6319 </member>
6320 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)">
6321 <summary>
6322 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
6323 </summary>
6324 <param name="message">error message.</param>
6325 <param name="inner">inner exception.</param>
6326 </member>
6327 <member name="T:HttpServer.Controllers.RawHandlerAttribute">
6328 <summary>
6329 This attribute tells the controller that the method
6330 uses SendHeader and/or SendBody to handle the request.
6331 </summary>
6332 </member>
6333 <member name="T:HttpServer.Rendering.Haml.LineInfo">
6334 <summary>
6335 Contains line text and state information about a line in a HAML template.
6336 </summary>
6337 </member>
6338 <member name="M:HttpServer.Rendering.Haml.LineInfo.#ctor(System.Int32,System.String)">
6339 <summary>
6340 Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.LineInfo"/> class.
6341 </summary>
6342 <param name="lineNumber">The line number.</param>
6343 <param name="unparsedData">The unparsed data (line contents).</param>
6344 </member>
6345 <member name="M:HttpServer.Rendering.Haml.LineInfo.CheckUnfinishedRule(HttpServer.Rendering.Haml.LineInfo)">
6346 <summary>
6347 Will check that all rule conditions have been met.
6348 Will also remove the rules if they are done.
6349 </summary>
6350 <param name="line"></param>
6351 <returns></returns>
6352 </member>
6353 <member name="M:HttpServer.Rendering.Haml.LineInfo.Append(HttpServer.Rendering.Haml.LineInfo)">
6354 <summary>
6355 Append another line
6356 </summary>
6357 <param name="line"></param>
6358 </member>
6359 <member name="M:HttpServer.Rendering.Haml.LineInfo.SetParsedData(System.String)">
6360 <summary>
6361 Parsed line contents (without whitespaces in the beginning)
6362 </summary>
6363 <param name="data">text contents</param>
6364 </member>
6365 <member name="M:HttpServer.Rendering.Haml.LineInfo.Set(System.Int32,System.Int32)">
6366 <summary>
6367 Set intendation info to previously added line text.
6368 </summary>
6369 <param name="whiteSpaces"></param>
6370 <param name="intendation"></param>
6371 </member>
6372 <member name="M:HttpServer.Rendering.Haml.LineInfo.Set(System.String,System.Int32,System.Int32)">
6373 <summary>
6374 Assign line text
6375 </summary>
6376 <param name="line"></param>
6377 <param name="whiteSpaces"></param>
6378 <param name="intendation"></param>
6379 </member>
6380 <member name="M:HttpServer.Rendering.Haml.LineInfo.TrimRight(System.Int32)">
6381 <summary>
6382
6383 </summary>
6384 <param name="count"></param>
6385 <exception cref="T:System.InvalidOperationException">If extra lines have been added.</exception>
6386 </member>
6387 <member name="P:HttpServer.Rendering.Haml.LineInfo.AppendNextLine">
6388 <summary>
6389 If the next line should be appended to us (multi line)
6390 </summary>
6391 </member>
6392 <member name="P:HttpServer.Rendering.Haml.LineInfo.Children">
6393 <summary>
6394 Do NOT add yourself using the Add methods of the linkedList.
6395 Parent property will add node.
6396 </summary>
6397 </member>
6398 <member name="P:HttpServer.Rendering.Haml.LineInfo.UnparsedData">
6399 <summary>
6400 Untouched line text
6401 </summary>
6402 </member>
6403 <member name="P:HttpServer.Rendering.Haml.LineInfo.HasChildren">
6404 <summary>
6405 Has one or more children (intented more that this one)
6406 </summary>
6407 </member>
6408 <member name="P:HttpServer.Rendering.Haml.LineInfo.Intendation">
6409 <summary>
6410 Number of intends (two spaces = 1, one tab = 1)
6411 </summary>
6412 </member>
6413 <member name="P:HttpServer.Rendering.Haml.LineInfo.LineNumber">
6414 <summary>
6415 Line number
6416 </summary>
6417 </member>
6418 <member name="P:HttpServer.Rendering.Haml.LineInfo.Parent">
6419 <summary>
6420 Parent node (one level up in intendation)
6421 </summary>
6422 </member>
6423 <member name="P:HttpServer.Rendering.Haml.LineInfo.Data">
6424 <summary>
6425 All line data generated on one line
6426 </summary>
6427 </member>
6428 <member name="P:HttpServer.Rendering.Haml.LineInfo.UnfinishedRule">
6429 <summary>
6430 IRule have not got all needed information yet,
6431 keep appending lines to this LineInfo until rule says that it's done.
6432 </summary>
6433 </member>
6434 <member name="P:HttpServer.Rendering.Haml.LineInfo.WhiteSpaces">
6435 <summary>
6436 Number of whitespaces before actual entry beings.
6437 </summary>
6438 </member>
6439 <member name="P:HttpServer.Rendering.Haml.LineInfo.SelfClosed">
6440 <summary>
6441 True if node is selfclosed (i.e. &lt;br /&gt;)
6442 </summary>
6443 </member>
6444 <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
6445 <summary>
6446 Parse node contents add return a fresh node.
6447 </summary>
6448 <param name="prototypes">List containing all node types</param>
6449 <param name="parent">Node that this is a subnode to. Can be null</param>
6450 <param name="line">Line to parse</param>
6451 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
6452 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
6453 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
6454 </member>
6455 <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.CanHandle(System.String,System.Boolean)">
6456 <summary>
6457 determines if this node can handle the line (by checking the first word);
6458 </summary>
6459 <param name="word">Controller char (word)</param>
6460 <returns>true if text belongs to this node type</returns>
6461 <param name="firstNode">First node on line, used since some nodes cannot exist on their own on a line.</param>
6462 </member>
6463 <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.ToHtml">
6464 <summary>
6465 Convert node to HTML (with ASP-tags)
6466 </summary>
6467 <returns>HTML string</returns>
6468 <exception cref="T:System.NotImplementedException"></exception>
6469 </member>
6470 <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
6471 <summary>
6472 Convert the node to c# code
6473 </summary>
6474 <param name="inString">True if we are inside the internal stringbuilder</param>
6475 <param name="smallEnough">true if all subnodes fit on one line</param>
6476 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
6477 <returns>c# code</returns>
6478 </member>
6479 <member name="P:HttpServer.Rendering.Haml.Nodes.DocTypeTag.IsTextNode">
6480 <summary>
6481 Text nodes should be added as child.
6482 </summary>
6483 </member>
6484 <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs">
6485 <summary>
6486 Used to inform http server that
6487 </summary>
6488 </member>
6489 <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)">
6490 <summary>
6491 Eventarguments used when an exception is thrown by a module
6492 </summary>
6493 <param name="e">the exception</param>
6494 </member>
6495 <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception">
6496 <summary>
6497 Exception thrown in a module
6498 </summary>
6499 </member>
6500 <member name="T:HttpServer.Controllers.ViewController">
6501 <summary>
6502 View controllers integrates the templates, by adding
6503 Render methods.
6504 </summary>
6505 </member>
6506 <member name="M:HttpServer.Controllers.ViewController.#ctor(HttpServer.Rendering.TemplateManager)">
6507 <summary>
6508 Create a new <see cref="T:HttpServer.Controllers.ViewController"/>.
6509 </summary>
6510 </member>
6511 <member name="M:HttpServer.Controllers.ViewController.#ctor(HttpServer.Controllers.ViewController)">
6512 <summary>
6513 Create a new <see cref="T:HttpServer.Controllers.ViewController"/>.
6514 </summary>
6515 <param name="controller">prototype to copy information from.</param>
6516 </member>
6517 <member name="M:HttpServer.Controllers.ViewController.Render(System.Object[])">
6518 <summary>
6519 Render template for the currently invoked method.
6520 </summary>
6521 <param name="args">arguments/parameters used in template</param>
6522 <returns>template generated content</returns>
6523 <remarks>calls RenderActionWithErrors</remarks>
6524 </member>
6525 <member name="M:HttpServer.Controllers.ViewController.RenderAction(System.String,System.Object[])">
6526 <summary>
6527 Render contents into a template.
6528 </summary>
6529 <param name="method">method/template to generate</param>
6530 <param name="args">arguments/parameters used in template</param>
6531 <returns>template generated content</returns>
6532 <remarks>calls RenderActionWithErrors.</remarks>
6533 </member>
6534 <member name="M:HttpServer.Controllers.ViewController.MergeArguments(System.Object[])">
6535 <summary>
6536 Merge arguments array and Arguments property.
6537 </summary>
6538 <param name="args">Arguments array to merge</param>
6539 <returns>arguments/parameters that can be used in the template.</returns>
6540 <remarks>Will add Request/Response/Session arguments</remarks>
6541 </member>
6542 <member name="M:HttpServer.Controllers.ViewController.RenderErrors(System.String,System.Object[])">
6543 <summary>
6544 Renders errors from the <see cref="P:HttpServer.Controllers.ViewController.Errors"/> property into the
6545 current method template, or as a JavaScript alert if the request is Ajax.
6546 </summary>
6547 <param name="method">name of the currently invoked method.</param>
6548 <param name="arguments">arguments used in the method template.</param>
6549 <returns>generated string</returns>
6550 <remarks>Creates a JavaScript Alert box if request is Ajax.</remarks>
6551 </member>
6552 <member name="M:HttpServer.Controllers.ViewController.RenderErrors(System.Collections.Specialized.NameValueCollection,System.String,System.Object[])">
6553 <summary>
6554 Renders errors from the <see cref="P:HttpServer.Controllers.ViewController.Errors"/> property into the
6555 current method template, or as a JavaScript alert if the request is Ajax.
6556 </summary>
6557 <param name="errors">A collection of errors.</param>
6558 <param name="method">name of the currently invoked method.</param>
6559 <param name="arguments">arguments used in the method template.</param>
6560 <returns>generated string</returns>
6561 <remarks>Creates a JavaScript Alert box if request is Ajax.</remarks>
6562 </member>
6563 <member name="M:HttpServer.Controllers.ViewController.RenderJavascript(System.String)">
6564 <summary>
6565 Switches content-type to "text/JavaScript" and returns content.
6566 </summary>
6567 <param name="js">JavaScript to send to the client.</param>
6568 <returns>JavaScript</returns>
6569 </member>
6570 <member name="M:HttpServer.Controllers.ViewController.RenderJsErrors(System.Collections.Specialized.NameValueCollection)">
6571 <summary>
6572 Creates a JavaScript "alert" filled with all errors.
6573 </summary>
6574 <param name="errors"></param>
6575 <returns>a</returns>
6576 </member>
6577 <member name="M:HttpServer.Controllers.ViewController.RenderLayout(System.String,System.String)">
6578 <summary>
6579 renders one of the layouts
6580 </summary>
6581 <param name="layoutName">layout to render (should be found in the "views\\layouts" folder).</param>
6582 <param name="contents">contents will be put in the template variable called "text".</param>
6583 <returns>generated text/HTML.</returns>
6584 </member>
6585 <member name="M:HttpServer.Controllers.ViewController.RenderTemplate(System.String,System.String,System.Object[])">
6586 <summary>
6587 Render a template.
6588 </summary>
6589 <remarks>Merges the Arguments property with the <c>args</c> parameter and pass those to the template.</remarks>
6590 <param name="controller">controller name are used as a folder name when looking for the template.</param>
6591 <param name="method">method are used as filename when looking for the template.</param>
6592 <param name="args">arguments that should be passed to the template.</param>
6593 <returns></returns>
6594 </member>
6595 <member name="M:HttpServer.Controllers.ViewController.SetupRequest(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
6596 <summary>
6597 Invoked each time a new request is about to be invoked.
6598 </summary>
6599 <remarks>Can be used to clear old data.</remarks>
6600 <param name="request"></param>
6601 <param name="response"></param>
6602 <param name="session"></param>
6603 </member>
6604 <member name="P:HttpServer.Controllers.ViewController.Arguments">
6605 <summary>
6606 Arguments that are being used in the templates.
6607 </summary>
6608 </member>
6609 <member name="P:HttpServer.Controllers.ViewController.Errors">
6610 <summary>
6611 A set of errors that occurred during request processing.
6612 Key should be argument name (if argument error, otherwise <see cref="F:System.String.Empty"/>), value should be
6613 the error message.
6614 </summary>
6615 <remarks>Errors can be rendered into templates using the <see cref="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"/> method.</remarks>
6616 <seealso cref="T:HttpServer.Helpers.WebHelper"/>
6617 </member>
6618 <member name="P:HttpServer.Controllers.ViewController.IncludeLayoutInAjaxRequests">
6619 <summary>
6620 True if we always should render contents inside page layouts when request is Ajax.
6621 </summary>
6622 <remarks>default is false.</remarks>
6623 </member>
6624 <member name="P:HttpServer.Controllers.ViewController.Layout">
6625 <summary>
6626 Which page layout to use (without file extension)
6627 </summary>
6628 <remarks>
6629 <para>
6630 Page layouts should be places in the Views\Layouts folder.
6631 </para>
6632 <para>
6633 default is "Application"
6634 </para>
6635 </remarks>
6636 </member>
6637 <member name="P:HttpServer.Controllers.ViewController.Title">
6638 <summary>
6639 Page title (are added as a parameter to the layout template, use it in &lt;title&gt; HTML tag.
6640 </summary>
6641 </member>
6642 <member name="T:HttpServer.Sessions.HttpSessionClearedArgs">
6643 <summary>
6644 Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared
6645 </summary>
6646 </member>
6647 <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)">
6648 <summary>
6649 Instantiates the arguments for the event
6650 </summary>
6651 <param name="expired">True if the session is cleared due to expiration</param>
6652 </member>
6653 <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired">
6654 <summary>
6655 Returns true if the session is cleared due to expiration
6656 </summary>
6657 </member>
6658 <member name="T:HttpServer.Sessions.HttpSessionClearedHandler">
6659 <summary>
6660 Delegate for when a IHttpSession is cleared
6661 </summary>
6662 <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param>
6663 <param name="args">Arguments for the clearing</param>
6664 </member>
6665 <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
6666 <summary>
6667 Parse node contents add return a fresh node.
6668 </summary>
6669 <param name="prototypes">List containing all node types</param>
6670 <param name="parent">Node that this is a subnode to. Can be null</param>
6671 <param name="line">Line to parse</param>
6672 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
6673 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
6674 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
6675 </member>
6676 <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.CanHandle(System.String,System.Boolean)">
6677 <summary>
6678 determines if this node can handle the line (by checking the first word);
6679 </summary>
6680 <param name="word">Controller char (word)</param>
6681 <returns>true if text belongs to this node type</returns>
6682 <param name="firstNode">first node on line</param>
6683 </member>
6684 <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.ToHtml">
6685 <summary>
6686 Convert node to HTML (with ASP-tags)
6687 </summary>
6688 <returns>HTML string</returns>
6689 </member>
6690 <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
6691 <summary>
6692 Convert the node to c# code
6693 </summary>
6694 <param name="inString">True if we are inside the internal stringbuilder</param>
6695 <param name="smallEnough">true if all subnodes fit on one line</param>
6696 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
6697 <returns>c# code</returns>
6698 </member>
6699 <member name="T:HttpServer.Rendering.Haml.NodeList">
6700 <summary>
6701 A list of prototype nodes.
6702 </summary>
6703 </member>
6704 <member name="M:HttpServer.Rendering.Haml.NodeList.CreateNode(System.String,HttpServer.Rendering.Haml.Nodes.Node)">
6705 <summary>
6706 Creates the node.
6707 </summary>
6708 <param name="word">node identifier.</param>
6709 <param name="parent">parent node.</param>
6710 <returns>created node if identifier was found; otherwise null.</returns>
6711 </member>
6712 <member name="M:HttpServer.Rendering.Haml.NodeList.GetPrototype(System.String,System.Boolean)">
6713 <summary>
6714
6715 </summary>
6716 <param name="word"></param>
6717 <param name="firstNode">first node on line</param>
6718 <returns></returns>
6719 </member>
6720 <member name="M:HttpServer.Rendering.Haml.NodeList.Add(HttpServer.Rendering.Haml.Nodes.Node)">
6721 <summary>
6722 Add a prototype
6723 </summary>
6724 <param name="node">prototype node</param>
6725 </member>
6726 <member name="T:HttpServer.HttpModules.FileModule">
6727 <summary>
6728 The purpose of this module is to serve files.
6729 </summary>
6730 </member>
6731 <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)">
6732 <summary>
6733 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
6734 </summary>
6735 <param name="baseUri">Uri to serve, for instance "/files/"</param>
6736 <param name="basePath">Path on hard drive where we should start looking for files</param>
6737 <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging webbrowser to cache files</param>
6738 </member>
6739 <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)">
6740 <summary>
6741 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
6742 </summary>
6743 <param name="baseUri">Uri to serve, for instance "/files/"</param>
6744 <param name="basePath">Path on hard drive where we should start looking for files</param>
6745 </member>
6746 <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes">
6747 <summary>
6748 Mimtypes that this class can handle per default
6749 </summary>
6750 </member>
6751 <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)">
6752 <summary>
6753 Determines if the request should be handled by this module.
6754 Invoked by the HttpServer
6755 </summary>
6756 <param name="uri"></param>
6757 <returns>true if this module should handle it.</returns>
6758 </member>
6759 <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
6760 <summary>
6761 check if source contains any of the chars.
6762 </summary>
6763 <param name="source"></param>
6764 <param name="chars"></param>
6765 <returns></returns>
6766 </member>
6767 <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
6768 <summary>
6769 Method that process the url
6770 </summary>
6771 <param name="request">Information sent by the browser about the request</param>
6772 <param name="response">Information that is being sent back to the client.</param>
6773 <param name="session">Session used to </param>
6774 </member>
6775 <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)">
6776 <summary>
6777 return a file extension from an absolute uri path (or plain filename)
6778 </summary>
6779 <param name="uri"></param>
6780 <returns></returns>
6781 </member>
6782 <member name="P:HttpServer.HttpModules.FileModule.MimeTypes">
6783 <summary>
6784 List with all mime-type that are allowed.
6785 </summary>
6786 <remarks>All other mime types will result in a Forbidden http status code.</remarks>
6787 </member>
6788 <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars">
6789 <summary>
6790 characters that may not exist in a path.
6791 </summary>
6792 <example>
6793 fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" };
6794 </example>
6795 </member>
6796 <member name="T:HttpServer.HttpHelper">
6797 <summary>
6798 Generic helper functions for Http
6799 </summary>
6800 </member>
6801 <member name="F:HttpServer.HttpHelper.HTTP10">
6802 <summary>
6803 Version string for HTTP v1.0
6804 </summary>
6805 </member>
6806 <member name="F:HttpServer.HttpHelper.HTTP11">
6807 <summary>
6808 Version string for HTTP v1.1
6809 </summary>
6810 </member>
6811 <member name="F:HttpServer.HttpHelper.EmptyUri">
6812 <summary>
6813 An empty url
6814 </summary>
6815 </member>
6816 <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)">
6817 <summary>
6818 Parses a querystring.
6819 </summary>
6820 <param name="queryString">Querystring (url decoded)</param>
6821 <returns>A HttpInput object if successful; otherwise HttpInput.Empty</returns>
6822 </member>
6823 <member name="T:HttpServer.Exceptions.ForbiddenException">
6824 <summary>
6825 The server understood the request, but is refusing to fulfill it.
6826 Authorization will not help and the request SHOULD NOT be repeated.
6827 If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled,
6828 it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information
6829 available to the client, the status code 404 (Not Found) can be used instead.
6830
6831 Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
6832 </summary>
6833 </member>
6834 <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)">
6835 <summary>
6836 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class.
6837 </summary>
6838 <param name="errorMsg">error message</param>
6839 </member>
6840 <member name="T:HttpServer.Authentication.AuthenticationHandler">
6841 <summary>
6842 Delegate used to let authentication modules authenticate the username and password.
6843 </summary>
6844 <param name="realm">Realm that the user want to authenticate in</param>
6845 <param name="userName">Username specified by client</param>
6846 <param name="password">Password supplied by the delagete</param>
6847 <param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthModule.AuthenticationTag"/> if authentication was successful.</param>
6848 <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception>
6849 </member>
6850 <member name="T:HttpServer.Authentication.AuthRequiredDelegate">
6851 <summary>
6852 Let's you decide on a system level if authentication is requried.
6853 You can also decide if authentication is required in each HttpModule.
6854 </summary>
6855 <param name="request">Http request from client</param>
6856 <returns>true if user should be authenticated.</returns>
6857 <remarks>throw ForbiddenException if no more attempts are allowed.</remarks>
6858 <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
6859 </member>
6860 <member name="T:HttpServer.Rendering.Haml.Nodes.ClassNode">
6861 <summary>
6862 Represents a html class node.
6863 </summary>
6864 </member>
6865 <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.Parse(HttpServer.Rendering.Haml.NodeList,HttpServer.Rendering.Haml.Nodes.Node,HttpServer.Rendering.Haml.LineInfo,System.Int32@)">
6866 <summary>
6867 Parse node contents add return a fresh node.
6868 </summary>
6869 <param name="prototypes">List containing all node types</param>
6870 <param name="parent">Node that this is a subnode to. Can be null</param>
6871 <param name="line">Line to parse</param>
6872 <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param>
6873 <returns>A node corresponding to the bla bla; null if parsing failed.</returns>
6874 <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception>
6875 </member>
6876 <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.CanHandle(System.String,System.Boolean)">
6877 <summary>
6878 determines if this node can handle the line (by checking the first word);
6879 </summary>
6880 <param name="word">Controller char (word)</param>
6881 <returns>true if text belongs to this node type</returns>
6882 <param name="firstNode">first node on line</param>
6883 </member>
6884 <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.ToHtml">
6885 <summary>
6886 Convert node to HTML (with ASP-tags)
6887 </summary>
6888 <returns>HTML string</returns>
6889 </member>
6890 <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)">
6891 <summary>
6892 Convert the node to c# code
6893 </summary>
6894 <param name="inString">True if we are inside the internal stringbuilder</param>
6895 <param name="smallEnough">true if all subnodes fit on one line</param>
6896 <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param>
6897 <returns>c# code</returns>
6898 </member>
6899 <member name="T:HttpServer.FormDecoders.MultipartDecoder">
6900 <summary>
6901
6902 </summary>
6903 <remarks>
6904 http://www.faqs.org/rfcs/rfc1867.html
6905 </remarks>
6906 </member>
6907 <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType">
6908 <summary>
6909 multipart/form-data
6910 </summary>
6911 </member>
6912 <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData">
6913 <summary>
6914 form-data
6915 </summary>
6916 </member>
6917 <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
6918 <summary>
6919
6920 </summary>
6921 <param name="stream">Stream containing the content</param>
6922 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
6923 <param name="encoding">Stream enconding</param>
6924 <returns>A http form, or null if content could not be parsed.</returns>
6925 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
6926 <exception cref="T:System.ArgumentNullException">If any parameter is null</exception>
6927 </member>
6928 <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)">
6929 <summary>
6930 Checks if the decoder can handle the mime type
6931 </summary>
6932 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
6933 <returns>True if the decoder can parse the specified content type</returns>
6934 </member>
6935 <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine">
6936 <summary>
6937
6938 </summary>
6939 <returns></returns>
6940 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
6941 <exception cref="T:System.ObjectDisposedException"></exception>
6942 </member>
6943 <member name="T:HttpServer.FormDecoders.HttpMultipart.Element">
6944 <summary>Represents a field in a multipart form</summary>
6945 </member>
6946 <member name="T:HttpServer.ContentType">
6947 <summary>
6948 Lists content type mime types.
6949 </summary>
6950 </member>
6951 <member name="F:HttpServer.ContentType.Text">
6952 <summary>
6953 text/plain
6954 </summary>
6955 </member>
6956 <member name="F:HttpServer.ContentType.Html">
6957 <summary>
6958 text/haml
6959 </summary>
6960 </member>
6961 <member name="F:HttpServer.ContentType.Javascript">
6962 <summary>
6963 content type for javascript documents = application/javascript
6964 </summary>
6965 <remarks>
6966 <para>
6967 RFC 4329 states that text/javascript have been superseeded by
6968 application/javascript. You might still want to check browser versions
6969 since older ones do not support application/javascript.
6970 </para>
6971 <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para>
6972 </remarks>
6973 </member>
6974 <member name="F:HttpServer.ContentType.Xml">
6975 <summary>
6976 text/xml
6977 </summary>
6978 </member>
6979 <member name="T:HttpServer.ContentTypes">
6980 <summary>
6981 A list of content types
6982 </summary>
6983 </member>
6984 <member name="M:HttpServer.ContentTypes.#ctor(System.String)">
6985 <summary>
6986
6987 </summary>
6988 <param name="types">Semicolon separated content types.</param>
6989 </member>
6990 <member name="M:HttpServer.ContentTypes.GetEnumerator">
6991 <summary>
6992 Returns an enumerator that iterates through a collection.
6993 </summary>
6994 <returns>
6995 An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
6996 </returns>
6997 </member>
6998 <member name="M:HttpServer.ContentTypes.Contains(System.String)">
6999 <summary>
7000 Searches for the specified type
7001 </summary>
7002 <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param>
7003 <returns>true if type was found.</returns>
7004 </member>
7005 <member name="P:HttpServer.ContentTypes.First">
7006 <summary>
7007 Get this first content type.
7008 </summary>
7009 </member>
7010 <member name="P:HttpServer.ContentTypes.Item(System.String)">
7011 <summary>
7012 Fetch a content type
7013 </summary>
7014 <param name="type">Part of type ("xml" would return "application/xml")</param>
7015 <returns></returns>
7016 <remarks>All content types are in lower case.</remarks>
7017 </member>
7018 </members>
7019</doc>