diff options
author | Teravus Ovares | 2009-07-21 06:47:29 +0000 |
---|---|---|
committer | Teravus Ovares | 2009-07-21 06:47:29 +0000 |
commit | c243ae43f23be20ec3388ed30e8b7b806ad2a2a7 (patch) | |
tree | 2c38ab90f6c81e08ada7ef4f4dbad6da77afd75a /bin | |
parent | * nothing in this commit, re-triggering panda.. which crashed while testing. (diff) | |
download | opensim-SC_OLD-c243ae43f23be20ec3388ed30e8b7b806ad2a2a7.zip opensim-SC_OLD-c243ae43f23be20ec3388ed30e8b7b806ad2a2a7.tar.gz opensim-SC_OLD-c243ae43f23be20ec3388ed30e8b7b806ad2a2a7.tar.bz2 opensim-SC_OLD-c243ae43f23be20ec3388ed30e8b7b806ad2a2a7.tar.xz |
* Updated C# WebServer to the latest available source download (r19869) and applied a few mods from the old version (now up on opensim-libs (VS 3.5 project).
* Made various changes to BaseHttpServer to accommodate the new interfaces.
* This version has been significantly re-architected and may fail in unusual and insidious ways.
* Please pay attention to any errors you get and post a Mantis if you can reproduce an issue with the HTTPServer. I'm including the pdb and having the http server compiled in debug for a few weeks so that when an error occurs, it'll print the pertenant data.
* Once again, this is the full C# WebServer, not the lite branch that is included in LibOMV (we need SSL!)
Diffstat (limited to 'bin')
-rw-r--r-- | bin/HttpServer_OpenSim.dll | bin | 139776 -> 123904 bytes | |||
-rw-r--r-- | bin/HttpServer_OpenSim.pdb | bin | 0 -> 341504 bytes | |||
-rw-r--r-- | bin/HttpServer_OpenSim.xml | 7430 |
3 files changed, 2931 insertions, 4499 deletions
diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index bc27835..77042a0 100644 --- a/bin/HttpServer_OpenSim.dll +++ b/bin/HttpServer_OpenSim.dll | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb new file mode 100644 index 0000000..e3abbe2 --- /dev/null +++ b/bin/HttpServer_OpenSim.pdb | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index 747f35d..22cc1c0 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml | |||
@@ -4,815 +4,659 @@ | |||
4 | <name>HttpServer_OpenSim</name> | 4 | <name>HttpServer_OpenSim</name> |
5 | </assembly> | 5 | </assembly> |
6 | <members> | 6 | <members> |
7 | <member name="T:HttpServer.ResponseCookies"> | 7 | <member name="T:HttpServer.Sessions.IHttpSession"> |
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> | 8 | <summary> |
28 | Gets a collection enumerator on the cookie list. | 9 | Interface for sessions |
29 | </summary> | 10 | </summary> |
30 | <returns>collection enumerator</returns> | ||
31 | </member> | 11 | </member> |
32 | <member name="M:HttpServer.ResponseCookies.Clear"> | 12 | <member name="M:HttpServer.Sessions.IHttpSession.Clear"> |
33 | <summary> | 13 | <summary> |
34 | Remove all cookies | 14 | Remove everything from the session |
35 | </summary> | 15 | </summary> |
36 | </member> | 16 | </member> |
37 | <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator"> | 17 | <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)"> |
38 | <summary> | 18 | <summary> |
39 | Returns an enumerator that iterates through the collection. | 19 | Remove everything from the session |
40 | </summary> | 20 | </summary> |
41 | 21 | <param name="expires">True if the session is cleared due to expiration</param> | |
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> | 22 | </member> |
47 | <member name="P:HttpServer.ResponseCookies.Count"> | 23 | <member name="P:HttpServer.Sessions.IHttpSession.Id"> |
48 | <summary> | 24 | <summary> |
49 | Gets the count of cookies in the collection. | 25 | Session id |
50 | </summary> | 26 | </summary> |
51 | </member> | 27 | </member> |
52 | <member name="P:HttpServer.ResponseCookies.Item(System.String)"> | 28 | <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)"> |
53 | <summary> | 29 | <summary> |
54 | Gets the cookie of a given identifier (null if not existing). | 30 | Should |
55 | </summary> | 31 | </summary> |
32 | <param name="name">Name of the session variable</param> | ||
33 | <returns>null if it's not set</returns> | ||
34 | <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception> | ||
56 | </member> | 35 | </member> |
57 | <member name="T:HttpServer.Rendering.Haml.HamlGenerator"> | 36 | <member name="P:HttpServer.Sessions.IHttpSession.Accessed"> |
58 | <summary> | 37 | <summary> |
59 | Generates C#/HTML from HAML code. | 38 | When the session was last accessed. |
39 | This property is touched by the http server each time the | ||
40 | session is requested. | ||
60 | </summary> | 41 | </summary> |
61 | <remarks>HAML documentation: http://haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html</remarks> | ||
62 | </member> | 42 | </member> |
63 | <member name="T:HttpServer.Rendering.ITemplateGenerator"> | 43 | <member name="P:HttpServer.Sessions.IHttpSession.Count"> |
64 | <summary> | 44 | <summary> |
65 | A code generator is used to convert template code to something that we can | 45 | Number of session variables. |
66 | work with, as HTML or c# code. | ||
67 | </summary> | 46 | </summary> |
68 | <seealso cref="T:HttpServer.Rendering.TemplateManager"/> | ||
69 | </member> | 47 | </member> |
70 | <member name="M:HttpServer.Rendering.ITemplateGenerator.GenerateCode(System.IO.TextWriter)"> | 48 | <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear"> |
71 | <summary> | 49 | <summary> |
72 | Generate C# code from the template. | 50 | Event triggered upon clearing the session |
73 | </summary> | 51 | </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> | 52 | </member> |
78 | <member name="M:HttpServer.Rendering.ITemplateGenerator.Parse(System.String)"> | 53 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> |
79 | <summary> | 54 | <summary> |
80 | Parse a file and convert into to our own template object code. | 55 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared |
81 | </summary> | 56 | </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> | 57 | </member> |
90 | <member name="M:HttpServer.Rendering.ITemplateGenerator.Parse(System.IO.TextReader)"> | 58 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> |
91 | <summary> | 59 | <summary> |
92 | Parse a file and convert into to our own template object code. | 60 | Instantiates the arguments for the event |
93 | </summary> | 61 | </summary> |
94 | <param name="reader">A <see cref="T:System.IO.TextReader"/> containing our template</param> | 62 | <param name="expired">True if the session is cleared due to expiration</param> |
95 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If something is incorrect in the template.</exception> | ||
96 | </member> | 63 | </member> |
97 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.#ctor"> | 64 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> |
98 | <summary> | 65 | <summary> |
99 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.HamlGenerator"/> class. | 66 | Returns true if the session is cleared due to expiration |
100 | </summary> | 67 | </summary> |
101 | </member> | 68 | </member> |
102 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.#ctor(HttpServer.ILogWriter)"> | 69 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> |
103 | <summary> | 70 | <summary> |
104 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.HamlGenerator"/> class. | 71 | Delegate for when a IHttpSession is cleared |
105 | </summary> | 72 | </summary> |
106 | <param name="logWriter">The log writer.</param> | 73 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> |
74 | <param name="args">Arguments for the clearing</param> | ||
107 | </member> | 75 | </member> |
108 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckIntendation(HttpServer.Rendering.Haml.LineInfo,System.Int32@,System.Int32@)"> | 76 | <member name="T:HttpServer.HttpListenerBase"> |
109 | <summary> | 77 | <summary> |
110 | Check and validate indentation | 78 | Contains a listener that doesn't do anything with the connections. |
111 | </summary> | 79 | </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> | 80 | </member> |
116 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckIntendation(HttpServer.Rendering.Haml.LineInfo)"> | 81 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> |
117 | <summary> | 82 | <summary> |
118 | Check indentation | 83 | Listen for regular HTTP connections |
119 | </summary> | 84 | </summary> |
120 | <param name="line">fills line with intend info</param> | 85 | <param name="address">IP Address to accept connections on</param> |
86 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | ||
87 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
88 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
89 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
121 | </member> | 90 | </member> |
122 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.CheckMultiLine(HttpServer.Rendering.Haml.LineInfo,HttpServer.Rendering.Haml.LineInfo)"> | 91 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
123 | <summary> | 92 | <summary> |
124 | check if current line is a multi line | 93 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. |
125 | </summary> | 94 | </summary> |
126 | <param name="prevLine">previous line</param> | 95 | <param name="address">IP Address to accept connections on</param> |
127 | <param name="line">current line</param> | 96 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> |
97 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
98 | <param name="certificate">Certificate to use</param> | ||
128 | </member> | 99 | </member> |
129 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GenerateHtml(System.IO.TextWriter)"> | 100 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
130 | <summary> | 101 | <summary> |
131 | Generate HTML code from the template. | 102 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. |
132 | Code is encapsulated in <% and <%= | ||
133 | </summary> | 103 | </summary> |
134 | <param name="writer">A <see cref="T:System.IO.TextWriter"/> that the generated code will be written to.</param> | 104 | <param name="address">IP Address to accept connections on</param> |
135 | <exception cref="T:System.InvalidOperationException">If the template have not been parsed first.</exception> | 105 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> |
136 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException">If template is incorrect</exception> | 106 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> |
107 | <param name="certificate">Certificate to use</param> | ||
108 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | ||
137 | </member> | 109 | </member> |
138 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GetWord(System.String,System.Int32)"> | 110 | <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)"> |
139 | <summary> | 111 | <exception cref="T:System.Exception"><c>Exception</c>.</exception> |
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> | 112 | </member> |
146 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.HandlePlacement"> | 113 | <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept"> |
147 | <summary> | 114 | <summary> |
148 | Check indentation / node placement | 115 | Will try to accept connections one more time. |
149 | </summary> | 116 | </summary> |
117 | <exception cref="T:System.Exception">If any exceptions is thrown.</exception> | ||
150 | </member> | 118 | </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)"> | 119 | <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)"> |
152 | <summary> | 120 | <summary> |
153 | Parse a node | 121 | Can be used to create filtering of new connections. |
154 | todo: improve doc | ||
155 | </summary> | 122 | </summary> |
156 | <param name="theLine"></param> | 123 | <param name="socket">Accepted socket</param> |
157 | <param name="prototypes"></param> | 124 | <returns>true if connection can be accepted; otherwise false.</returns> |
158 | <param name="parent"></param> | ||
159 | <param name="textNode"></param> | ||
160 | </member> | 125 | </member> |
161 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PreParse(System.IO.TextReader)"> | 126 | <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)"> |
162 | <summary> | 127 | <summary> |
163 | PreParse goes through the text add handles indentation | 128 | Start listen for new connections |
164 | and all multi line cases. | ||
165 | </summary> | 129 | </summary> |
166 | <param name="reader">Reader containing the text</param> | 130 | <param name="backlog">Number of connections that can stand in a queue to be accepted.</param> |
131 | <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception> | ||
167 | </member> | 132 | </member> |
168 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PrintDocument"> | 133 | <member name="M:HttpServer.HttpListenerBase.Stop"> |
169 | <summary> | 134 | <summary> |
170 | print the entire document | 135 | Stop the listener |
171 | </summary> | 136 | </summary> |
137 | <exception cref="T:System.Net.Sockets.SocketException"></exception> | ||
172 | </member> | 138 | </member> |
173 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.PrintNode(HttpServer.Rendering.Haml.LineInfo)"> | 139 | <member name="P:HttpServer.HttpListenerBase.LogWriter"> |
174 | <summary> | 140 | <summary> |
175 | Print line information to the console | 141 | Gives you a change to receive log entries for all internals of the HTTP library. |
176 | </summary> | 142 | </summary> |
177 | <param name="line"></param> | 143 | <remarks> |
144 | You may not switch log writer after starting the listener. | ||
145 | </remarks> | ||
178 | </member> | 146 | </member> |
179 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.ReadLine"> | 147 | <member name="P:HttpServer.HttpListenerBase.UseTraceLogs"> |
180 | <summary> | 148 | <summary> |
181 | Read next line from file | 149 | True if we should turn on trace logs. |
182 | </summary> | 150 | </summary> |
183 | <returns>true if line could be read; false if EOF.</returns> | ||
184 | </member> | 151 | </member> |
185 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Spaces(System.Int32)"> | 152 | <member name="E:HttpServer.HttpListenerBase.ExceptionThrown"> |
186 | <summary> | 153 | <summary> |
187 | Generates a string with spaces. | 154 | Catch exceptions not handled by the listener. |
188 | </summary> | 155 | </summary> |
189 | <param name="count">number of spaces.</param> | 156 | <remarks> |
190 | <returns>string of spaces.</returns> | 157 | Exceptions will be thrown during debug mode if this event is not used, |
158 | exceptions will be printed to console and suppressed during release mode. | ||
159 | </remarks> | ||
191 | </member> | 160 | </member> |
192 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Parse(System.String)"> | 161 | <member name="E:HttpServer.HttpListenerBase.RequestReceived"> |
193 | <summary> | 162 | <summary> |
194 | Parse a file and convert into to our own template object code. | 163 | A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>. |
195 | </summary> | 164 | </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> | 165 | </member> |
205 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.Parse(System.IO.TextReader)"> | 166 | <member name="T:HttpServer.Exceptions.InternalServerException"> |
206 | <summary> | 167 | <summary> |
207 | Parse a file and convert into to our own template object code. | 168 | The server encountered an unexpected condition which prevented it from fulfilling the request. |
208 | </summary> | 169 | </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> | 170 | </member> |
212 | <member name="M:HttpServer.Rendering.Haml.HamlGenerator.GenerateCode(System.IO.TextWriter)"> | 171 | <member name="T:HttpServer.Exceptions.HttpException"> |
213 | <summary> | 172 | <summary> |
214 | Generate C# code from the template. | 173 | All HTTP based exceptions will derive this class. |
215 | </summary> | 174 | </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> | 175 | </member> |
220 | <member name="P:HttpServer.Rendering.Haml.HamlGenerator.RootNode"> | 176 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)"> |
221 | <summary> | 177 | <summary> |
222 | Property to retrieve the root node for the latest parsed document | 178 | Create a new HttpException |
223 | </summary> | 179 | </summary> |
180 | <param name="code">http status code (sent in the response)</param> | ||
181 | <param name="message">error description</param> | ||
224 | </member> | 182 | </member> |
225 | <member name="T:HttpServer.Rules.RegexRedirectRule"> | 183 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)"> |
226 | <summary> | 184 | <summary> |
227 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules | 185 | Create a new HttpException |
228 | a regular expression can be used to identify redirect urls and thier targets. | ||
229 | </summary> | 186 | </summary> |
230 | <example> | 187 | <param name="code">http status code (sent in the response)</param> |
231 | <![CDATA[ | 188 | <param name="message">error description</param> |
232 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) | 189 | <param name="inner">inner exception</param> |
233 | ]]> | ||
234 | </example> | ||
235 | </member> | 190 | </member> |
236 | <member name="T:HttpServer.Rules.RedirectRule"> | 191 | <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode"> |
237 | <summary> | 192 | <summary> |
238 | redirects from one url to another. | 193 | status code to use in the response. |
239 | </summary> | 194 | </summary> |
240 | </member> | 195 | </member> |
241 | <member name="T:HttpServer.Rules.IRule"> | 196 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> |
242 | <summary> | 197 | <summary> |
243 | Rules are used to perform operations before a request is being handled. | 198 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
244 | Rules can be used to create routing etc. | ||
245 | </summary> | 199 | </summary> |
246 | </member> | 200 | </member> |
247 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 201 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> |
248 | <summary> | 202 | <summary> |
249 | Process the incoming request. | 203 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
250 | </summary> | 204 | </summary> |
251 | <param name="request">incoming http request</param> | 205 | <param name="message">error message.</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> | 206 | </member> |
260 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> | 207 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> |
261 | <summary> | 208 | <summary> |
262 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 209 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
263 | </summary> | 210 | </summary> |
264 | <param name="fromUrl">Absolute path (no servername)</param> | 211 | <param name="message">error message.</param> |
265 | <param name="toUrl">Absolute path (no servername)</param> | 212 | <param name="inner">inner exception.</param> |
266 | <example> | ||
267 | server.Add(new RedirectRule("/", "/user/index")); | ||
268 | </example> | ||
269 | </member> | 213 | </member> |
270 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> | 214 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> |
271 | <summary> | 215 | <summary> |
272 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 216 | Used to inform http server that |
273 | </summary> | 217 | </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> | 218 | </member> |
281 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 219 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> |
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> | 220 | <summary> |
295 | string to match request url with. | 221 | Eventarguments used when an exception is thrown by a module |
296 | </summary> | 222 | </summary> |
297 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> | 223 | <param name="e">the exception</param> |
298 | </member> | 224 | </member> |
299 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> | 225 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> |
300 | <summary> | 226 | <summary> |
301 | Where to redirect. | 227 | Exception thrown in a module |
302 | </summary> | 228 | </summary> |
303 | </member> | 229 | </member> |
304 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> | 230 | <member name="T:HttpServer.Helpers.ResourceInfo"> |
305 | <summary> | 231 | <summary> |
306 | true if we should redirect. | 232 | Container to bind resource names to assemblies |
307 | </summary> | 233 | </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> | 234 | </member> |
313 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> | 235 | <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)"> |
314 | <summary> | 236 | <summary> |
315 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 237 | Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/> |
316 | </summary> | 238 | </summary> |
317 | <param name="fromUrlExpression">Expression to match url</param> | 239 | <param name="uri">The dot seperated uri the resource maps to</param> |
318 | <param name="toUrlExpression">Expression to generate url</param> | 240 | <param name="resourceName">The full resource name</param> |
319 | <example> | 241 | <param name="assembly">The assembly the resource exists in</param> |
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> | 242 | </member> |
326 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> | 243 | <member name="M:HttpServer.Helpers.ResourceInfo.GetStream"> |
327 | <summary> | 244 | <summary> |
328 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 245 | Retrieves a stream to the resource |
329 | </summary> | 246 | </summary> |
330 | <param name="fromUrlExpression">Expression to match url</param> | 247 | <returns>Null if the resource couldn't be located somehow</returns> |
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> | 248 | </member> |
340 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> | 249 | <member name="P:HttpServer.Helpers.ResourceInfo.Assembly"> |
341 | <summary> | 250 | <summary> |
342 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 251 | Retrieves the assembly the resource resides in |
343 | </summary> | 252 | </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> | 253 | </member> |
355 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 254 | <member name="P:HttpServer.Helpers.ResourceInfo.Uri"> |
356 | <summary> | 255 | <summary> |
357 | Process the incoming request. | 256 | Retrieves the full name/path of the assembly |
358 | </summary> | 257 | </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> | 258 | </member> |
368 | <member name="T:HttpServer.Rendering.ITemplateLoader"> | 259 | <member name="P:HttpServer.Helpers.ResourceInfo.Extension"> |
369 | <summary> | 260 | <summary> |
370 | Interface used to load templates from different sources. | 261 | Retrieves the extension of the resource |
371 | </summary> | 262 | </summary> |
372 | </member> | 263 | </member> |
373 | <member name="M:HttpServer.Rendering.ITemplateLoader.LoadTemplate(System.String)"> | 264 | <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri"> |
374 | <summary> | 265 | <summary>Returns the Uri without extension</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> | 266 | </member> |
380 | <member name="M:HttpServer.Rendering.ITemplateLoader.GetFiles(System.String,System.String)"> | 267 | <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName"> |
381 | <summary> | 268 | <summary>Retrieves the full path name to the resource file</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> | 269 | </member> |
388 | <member name="M:HttpServer.Rendering.ITemplateLoader.CheckTemplate(HttpServer.Rendering.ITemplateInfo)"> | 270 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> |
389 | <summary> | 271 | <summary> |
390 | Check's whether a template should be reloaded or not. | 272 | |
391 | </summary> | 273 | </summary> |
392 | <param name="info">template information</param> | 274 | <returns></returns> |
393 | <returns>true if template is OK; false if it do not exist or are old.</returns> | 275 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
276 | <exception cref="T:System.ObjectDisposedException"></exception> | ||
394 | </member> | 277 | </member> |
395 | <member name="M:HttpServer.Rendering.ITemplateLoader.HasTemplate(System.String)"> | 278 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> |
396 | <summary> | 279 | <summary>Represents a field in a multipart form</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> | 280 | </member> |
402 | <member name="T:HttpServer.Helpers.WebHelper"> | 281 | <member name="T:HttpServer.Parser.HeaderEventArgs"> |
403 | <summary> | 282 | <summary> |
404 | Webhelper provides helpers for common tasks in HTML. | 283 | Event arguments used when a new header have been parsed. |
405 | </summary> | 284 | </summary> |
406 | </member> | 285 | </member> |
407 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> | 286 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)"> |
408 | <summary> | 287 | <summary> |
409 | Used to let the website use different javascript libraries. | 288 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. |
410 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
411 | </summary> | 289 | </summary> |
290 | <param name="name">Name of header.</param> | ||
291 | <param name="value">Header value.</param> | ||
412 | </member> | 292 | </member> |
413 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> | 293 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor"> |
414 | <summary> | 294 | <summary> |
415 | Creates a link that invokes through ajax. | 295 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. |
416 | </summary> | 296 | </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> | 297 | </member> |
428 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> | 298 | <member name="P:HttpServer.Parser.HeaderEventArgs.Name"> |
429 | <summary> | 299 | <summary> |
430 | Builds a link that updates an element with the fetched ajax content. | 300 | Gets or sets header name. |
431 | </summary> | 301 | </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> | 302 | </member> |
438 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> | 303 | <member name="P:HttpServer.Parser.HeaderEventArgs.Value"> |
439 | <summary> | 304 | <summary> |
440 | A link that pop ups a Dialog (overlay div) | 305 | Gets or sets header value. |
441 | </summary> | 306 | </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> | 307 | </member> |
450 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> | 308 | <member name="T:HttpServer.HttpListener"> |
451 | <summary> | 309 | <summary> |
452 | Create/Open a dialog box using ajax | 310 | New implementation of the HTTP listener. |
453 | </summary> | 311 | </summary> |
454 | <param name="url"></param> | 312 | <remarks> |
455 | <param name="title"></param> | 313 | Use the <c>Create</c> methods to create a default listener. |
456 | <param name="parameters"></param> | 314 | </remarks> |
457 | <returns></returns> | ||
458 | </member> | 315 | </member> |
459 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> | 316 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> |
460 | <summary> | 317 | <summary> |
461 | Close a javascript dialog window/div. | 318 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
462 | </summary> | 319 | </summary> |
463 | <returns>javascript for closing a dialog.</returns> | 320 | <param name="address">IP Address to accept connections on</param> |
464 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> | 321 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> |
322 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | ||
323 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
324 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
465 | </member> | 325 | </member> |
466 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> | 326 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
467 | <summary> | 327 | <summary> |
468 | Create a <form> tag. | 328 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
469 | </summary> | 329 | </summary> |
470 | <param name="name">name of form</param> | 330 | <param name="address">The address.</param> |
471 | <param name="action">action to invoke on submit</param> | 331 | <param name="port">The port.</param> |
472 | <param name="isAjax">form should be posted as ajax</param> | 332 | <param name="factory">The factory.</param> |
473 | <returns>html code</returns> | 333 | <param name="certificate">The certificate.</param> |
474 | <example> | ||
475 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
476 | </example> | ||
477 | </member> | 334 | </member> |
478 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> | 335 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
479 | <summary> | 336 | <summary> |
480 | Create a link tag. | 337 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
481 | </summary> | 338 | </summary> |
482 | <param name="url">url to go to</param> | 339 | <param name="address">The address.</param> |
483 | <param name="title">link title (text that is displayed)</param> | 340 | <param name="port">The port.</param> |
484 | <param name="htmlAttributes">html attributes, name, value, name, value</param> | 341 | <param name="factory">The factory.</param> |
485 | <returns>html code</returns> | 342 | <param name="certificate">The certificate.</param> |
486 | <example> | 343 | <param name="protocol">The protocol.</param> |
487 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); | ||
488 | </example> | ||
489 | </member> | 344 | </member> |
490 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> | 345 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)"> |
491 | <summary> | 346 | <summary> |
492 | Build a link | 347 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
493 | </summary> | 348 | </summary> |
494 | <param name="url">url to go to.</param> | 349 | <param name="address">Address that the listener should accept connections on.</param> |
495 | <param name="title">title of link (displayed text)</param> | 350 | <param name="port">Port that listener should accept connections on.</param> |
496 | <param name="htmlAttributes">extra html attributes.</param> | 351 | <returns>Created HTTP listener.</returns> |
497 | <returns>a complete link</returns> | ||
498 | </member> | 352 | </member> |
499 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> | 353 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
500 | <summary> | 354 | <summary> |
501 | Build a link | 355 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
502 | </summary> | 356 | </summary> |
503 | <param name="url">url to go to.</param> | 357 | <param name="address">Address that the listener should accept connections on.</param> |
504 | <param name="title">title of link (displayed text)</param> | 358 | <param name="port">Port that listener should accept connections on.</param> |
505 | <param name="htmlAttributes">extra html attributes.</param> | 359 | <param name="certificate">Certificate to use</param> |
506 | <returns>a complete link</returns> | 360 | <returns>Created HTTP listener.</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> | 361 | </member> |
520 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 362 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
521 | <summary> | 363 | <summary> |
522 | Obsolete | 364 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
523 | </summary> | 365 | </summary> |
524 | <param name="name">Obsolete</param> | 366 | <param name="address">Address that the listener should accept connections on.</param> |
525 | <param name="id">Obsolete</param> | 367 | <param name="port">Port that listener should accept connections on.</param> |
526 | <param name="collection">Obsolete</param> | 368 | <param name="certificate">Certificate to use</param> |
527 | <param name="getIdTitle">Obsolete</param> | 369 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> |
528 | <param name="selectedValue">Obsolete</param> | 370 | <returns>Created HTTP listener.</returns> |
529 | <param name="firstEmpty">Obsolete</param> | ||
530 | <returns>Obsolete</returns> | ||
531 | </member> | 371 | </member> |
532 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> | 372 | <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)"> |
533 | <summary> | 373 | <summary> |
534 | Render errors into a UL with class "errors" | 374 | Can be used to create filtering of new connections. |
535 | </summary> | 375 | </summary> |
536 | <param name="className">class used by UL-tag.</param> | 376 | <param name="socket">Accepted socket</param> |
537 | <param name="theList">items to list</param> | 377 | <returns> |
538 | <returns>an unordered html list.</returns> | 378 | true if connection can be accepted; otherwise false. |
379 | </returns> | ||
539 | </member> | 380 | </member> |
540 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> | 381 | <member name="E:HttpServer.HttpListener.Accepted"> |
541 | <summary> | 382 | <summary> |
542 | Render errors into a UL with class "errors" | 383 | A client have been accepted, but not handled, by the listener. |
543 | </summary> | 384 | </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> | 385 | </member> |
548 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> | 386 | <member name="T:HttpServer.FormDecoders.XmlDecoder"> |
549 | <summary> | 387 | <summary> |
550 | Render errors into a UL with class "errors" | 388 | This decoder converts XML documents to form items. |
389 | Each element becomes a subitem in the form, and each attribute becomes an item. | ||
551 | </summary> | 390 | </summary> |
552 | <param name="errors"></param> | 391 | <example> |
553 | <returns></returns> | 392 | // xml: <hello id="1">something<world id="2">data</world></hello> |
393 | // result: | ||
394 | // form["hello"].Value = "something" | ||
395 | // form["hello"]["id"].Value = 1 | ||
396 | // form["hello"]["world]["id"].Value = 1 | ||
397 | // form["hello"]["world"].Value = "data" | ||
398 | </example> | ||
399 | <remarks> | ||
400 | The original xml document is stored in form["__xml__"].Value. | ||
401 | </remarks> | ||
554 | </member> | 402 | </member> |
555 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> | 403 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> |
556 | <summary> | 404 | <summary> |
557 | Generates a list with html attributes. | 405 | Interface for form content decoders. |
558 | </summary> | 406 | </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> | 407 | </member> |
563 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> | 408 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
564 | <summary> | 409 | <summary> |
565 | Generates a list with html attributes. | 410 | |
566 | </summary> | 411 | </summary> |
567 | <param name="sb">StringBuilder that the options should be added to.</param> | 412 | <param name="stream">Stream containing the content</param> |
568 | <param name="options"></param> | 413 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
414 | <param name="encoding">Stream enconding</param> | ||
415 | <returns>A http form, or null if content could not be parsed.</returns> | ||
416 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | ||
569 | </member> | 417 | </member> |
570 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> | 418 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> |
571 | <summary> | 419 | <summary> |
572 | Purpose of this class is to create a javascript toolkit independent javascript helper. | 420 | Checks if the decoder can handle the mime type |
573 | </summary> | 421 | </summary> |
422 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | ||
423 | <returns>True if the decoder can parse the specified content type</returns> | ||
574 | </member> | 424 | </member> |
575 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> | 425 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
576 | <summary> | 426 | <summary> |
577 | Generates a list with JS options. | 427 | |
578 | </summary> | 428 | </summary> |
579 | <param name="sb">StringBuilder that the options should be added to.</param> | 429 | <param name="stream">Stream containing the content</param> |
580 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> | 430 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
581 | <param name="startWithComma">true if we should start with a comma.</param> | 431 | <param name="encoding">Stream encoding</param> |
432 | Note: contentType and encoding are not used? | ||
433 | <returns>A http form, or null if content could not be parsed.</returns> | ||
434 | <exception cref="T:System.IO.InvalidDataException"></exception> | ||
582 | </member> | 435 | </member> |
583 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> | 436 | <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)"> |
584 | <summary> | 437 | <summary> |
585 | Removes any javascript parameters from an array of parameters | 438 | Recursive function that will go through an xml element and store it's content |
439 | to the form item. | ||
586 | </summary> | 440 | </summary> |
587 | <param name="options">The array of parameters to remove javascript params from</param> | 441 | <param name="item">(parent) Item in form that content should be added to.</param> |
588 | <returns>An array of html parameters</returns> | 442 | <param name="node">Node that should be parsed.</param> |
589 | </member> | 443 | </member> |
590 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> | 444 | <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)"> |
591 | <summary> | 445 | <summary> |
592 | javascript action that should be added to the "onsubmit" event in the form tag. | 446 | Checks if the decoder can handle the mime type |
593 | </summary> | 447 | </summary> |
594 | <returns></returns> | 448 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
595 | <remarks>All javascript option names should end with colon.</remarks> | 449 | <returns>True if the decoder can parse the specified content type</returns> |
596 | <example> | ||
597 | <code> | ||
598 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
599 | </code> | ||
600 | </example> | ||
601 | </member> | 450 | </member> |
602 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> | 451 | <member name="T:HttpServer.ExceptionHandler"> |
603 | <summary> | 452 | <summary> |
604 | Requests a url through ajax | 453 | We dont want to let the server to die due to exceptions thrown in worker threads. |
454 | therefore we use this delegate to give you a change to handle uncaught exceptions. | ||
605 | </summary> | 455 | </summary> |
606 | <param name="url">url to fetch</param> | 456 | <param name="source">Class that the exception was thrown in.</param> |
607 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> | 457 | <param name="exception">Exception</param> |
608 | <returns>a link tag</returns> | 458 | <remarks> |
609 | <remarks>All javascript option names should end with colon.</remarks> | 459 | Server will throw a InternalServerException in release version if you dont |
610 | <example> | 460 | handle this delegate. |
611 | <code> | 461 | </remarks> |
612 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
613 | </code> | ||
614 | </example> | ||
615 | </member> | 462 | </member> |
616 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> | 463 | <member name="T:HttpServer.Authentication.DigestAuthentication"> |
617 | <summary> | 464 | <summary> |
618 | Ajax requests that updates an element with | 465 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is |
619 | the fetched content | 466 | encrypted with a "key" from the server. |
620 | </summary> | 467 | </summary> |
621 | <param name="url">Url to fetch content from</param> | 468 | <remarks> |
622 | <param name="targetId">element to update</param> | 469 | Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. |
623 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> | 470 | </remarks> |
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> | 471 | </member> |
632 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> | 472 | <member name="T:HttpServer.Authentication.AuthenticationModule"> |
633 | <summary> | 473 | <summary> |
634 | A link that pop ups a Dialog (overlay div) | 474 | Authentication modules are used to implement different |
475 | kind of HTTP authentication. | ||
635 | </summary> | 476 | </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> | 477 | </member> |
644 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> | 478 | <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"> |
645 | <summary> | 479 | <summary> |
646 | Close a javascript dialog window/div. | 480 | Tag used for authentication. |
647 | </summary> | 481 | </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> | 482 | </member> |
651 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> | 483 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
652 | <summary> | 484 | <summary> |
653 | Creates a new modal dialog window | 485 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
654 | </summary> | 486 | </summary> |
655 | <param name="url">url to open in window.</param> | 487 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
656 | <param name="title">window title (may not be supported by all js implementations)</param> | 488 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
657 | <param name="options"></param> | ||
658 | <returns></returns> | ||
659 | </member> | 489 | </member> |
660 | <member name="T:HttpServer.HttpClientContextImp"> | 490 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
661 | <summary> | 491 | <summary> |
662 | Contains a connection to a browser/client. | 492 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
663 | </summary> | 493 | </summary> |
494 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | ||
664 | </member> | 495 | </member> |
665 | <member name="T:HttpServer.IHttpClientContext"> | 496 | <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])"> |
666 | <summary> | 497 | <summary> |
667 | Contains a connection to a browser/client. | 498 | Create a response that can be sent in the WWW-Authenticate header. |
668 | </summary> | 499 | </summary> |
500 | <param name="realm">Realm that the user should authenticate in</param> | ||
501 | <param name="options">Array with optional options.</param> | ||
502 | <returns>A correct authentication request.</returns> | ||
503 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
669 | </member> | 504 | </member> |
670 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> | 505 | <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])"> |
671 | <summary> | 506 | <summary> |
672 | Disconnect from client | 507 | An authentication response have been received from the web browser. |
508 | Check if it's correct | ||
673 | </summary> | 509 | </summary> |
674 | <param name="error">error to report in the <see cref="T:HttpServer.ClientDisconnectedHandler"/> delegate.</param> | 510 | <param name="authenticationHeader">Contents from the Authorization header</param> |
511 | <param name="realm">Realm that should be authenticated</param> | ||
512 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | ||
513 | <param name="options">options to specific implementations</param> | ||
514 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | ||
515 | <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception> | ||
516 | <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception> | ||
675 | </member> | 517 | </member> |
676 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String)"> | 518 | <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> |
677 | <summary> | 519 | <summary> |
678 | Send a response. | 520 | Used to invoke the authentication delegate that is used to lookup the user name/realm. |
679 | </summary> | 521 | </summary> |
680 | <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param> | 522 | <param name="realm">Realm (domain) that user want to authenticate in</param> |
681 | <param name="statusCode">http status code</param> | 523 | <param name="userName">User name</param> |
682 | <param name="reason">reason for the status code.</param> | 524 | <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param> |
683 | <param name="body">html body contents, can be null or empty.</param> | 525 | <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param> |
684 | <exception cref="T:System.ArgumentException">If httpVersion is invalid.</exception> | 526 | <returns>true if authentication was successful</returns> |
685 | </member> | 527 | </member> |
686 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 528 | <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)"> |
687 | <summary> | 529 | <summary> |
688 | Send a response. | 530 | Determines if authentication is required. |
689 | </summary> | 531 | </summary> |
690 | <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param> | 532 | <param name="request">HTTP request from browser</param> |
691 | <param name="statusCode">http status code</param> | 533 | <returns>true if user should be authenticated.</returns> |
692 | <param name="reason">reason for the status code.</param> | 534 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks> |
535 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
693 | </member> | 536 | </member> |
694 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> | 537 | <member name="P:HttpServer.Authentication.AuthenticationModule.Name"> |
695 | <summary> | 538 | <summary> |
696 | Send a response. | 539 | name used in HTTP request. |
697 | </summary> | 540 | </summary> |
698 | <exception cref="T:System.ArgumentNullException"></exception> | ||
699 | </member> | 541 | </member> |
700 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> | 542 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
701 | <summary> | 543 | <summary> |
702 | send a whole buffer | 544 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
703 | </summary> | 545 | </summary> |
704 | <param name="buffer">buffer to send</param> | 546 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
705 | <exception cref="T:System.ArgumentNullException"></exception> | 547 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
706 | </member> | 548 | </member> |
707 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> | 549 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
708 | <summary> | 550 | <summary> |
709 | Send data using the stream | 551 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
710 | </summary> | 552 | </summary> |
711 | <param name="buffer">Contains data to send</param> | 553 | <param name="authenticator">Delegate used to provide information used during authentication.</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> | 554 | </member> |
717 | <member name="P:HttpServer.IHttpClientContext.Secured"> | 555 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> |
718 | <summary> | 556 | <summary> |
719 | Using SSL or other encryption method. | 557 | Used by test classes to be able to use hardcoded values |
720 | </summary> | 558 | </summary> |
721 | </member> | 559 | </member> |
722 | <member name="F:HttpServer.HttpClientContextImp.BufferSize"> | 560 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
723 | <summary> | 561 | <summary> |
724 | Buffersize determines how large the HTTP header can be. | 562 | An authentication response have been received from the web browser. |
563 | Check if it's correct | ||
725 | </summary> | 564 | </summary> |
565 | <param name="authenticationHeader">Contents from the Authorization header</param> | ||
566 | <param name="realm">Realm that should be authenticated</param> | ||
567 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | ||
568 | <param name="options">First option: true if username/password is correct but not cnonce</param> | ||
569 | <returns> | ||
570 | Authentication object that is stored for the request. A user class or something like that. | ||
571 | </returns> | ||
572 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
573 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
726 | </member> | 574 | </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)"> | 575 | <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)"> |
728 | <summary> | 576 | <summary> |
729 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContextImp"/> class. | 577 | Encrypts parameters into a Digest string |
730 | </summary> | 578 | </summary> |
731 | <param name="secured">true if the connection is secured (SSL/TLS)</param> | 579 | <param name="realm">Realm that the user want to log into.</param> |
732 | <param name="remoteEndPoint">client that connected.</param> | 580 | <param name="userName">User logging in</param> |
733 | <param name="requestHandler">delegate handling incoming requests.</param> | 581 | <param name="password">Users password.</param> |
734 | <param name="disconnectHandler">delegate being called when a client disconnectes</param> | 582 | <param name="method">HTTP method.</param> |
735 | <param name="stream">Stream used for communication</param> | 583 | <param name="uri">Uri/domain that generated the login prompt.</param> |
736 | <exception cref="T:System.Net.Sockets.SocketException">If beginreceive fails</exception> | 584 | <param name="qop">Quality of Protection.</param> |
737 | <param name="writer">delegate used to write log entries</param> | 585 | <param name="nonce">"Number used ONCE"</param> |
738 | <see cref="T:HttpServer.RequestReceivedHandler"/> | 586 | <param name="nc">Hexadecimal request counter.</param> |
739 | <see cref="T:HttpServer.ClientDisconnectedHandler"/> | 587 | <param name="cnonce">"Client Number used ONCE"</param> |
588 | <returns>Digest encrypted string</returns> | ||
740 | </member> | 589 | </member> |
741 | <member name="M:HttpServer.HttpClientContextImp.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.RequestReceivedHandler,System.Net.Sockets.Socket)"> | 590 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)"> |
742 | <summary> | 591 | <summary> |
743 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContextImp"/> class. | 592 | |
744 | </summary> | 593 | </summary> |
745 | <param name="secured">true if the connection is secured (SSL/TLS)</param> | 594 | <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param> |
746 | <param name="requestHandler">delegate handling incoming requests.</param> | 595 | <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param> |
747 | <param name="remoteEndPoint">client that connected</param> | 596 | <param name="qop">Quality of Protection</param> |
748 | <param name="stream">Stream used for communication</param> | 597 | <param name="nonce">"Number used ONCE"</param> |
749 | <exception cref="T:System.Net.Sockets.SocketException">If beginreceive fails</exception> | 598 | <param name="nc">Hexadecimal request counter.</param> |
750 | <see cref="T:HttpServer.RequestReceivedHandler"/> | 599 | <param name="cnonce">Client number used once</param> |
751 | <see cref="T:HttpServer.ClientDisconnectedHandler"/> | 600 | <returns></returns> |
752 | </member> | 601 | </member> |
753 | <member name="M:HttpServer.HttpClientContextImp.Disconnect(System.Net.Sockets.SocketError)"> | 602 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> |
754 | <summary> | 603 | <summary> |
755 | Disconnect from client | 604 | Create a response that can be sent in the WWW-Authenticate header. |
756 | </summary> | 605 | </summary> |
757 | <param name="error">error to report in the <see cref="T:HttpServer.ClientDisconnectedHandler"/> delegate.</param> | 606 | <param name="realm">Realm that the user should authenticate in</param> |
607 | <param name="options">First options specifies if true if username/password is correct but not cnonce.</param> | ||
608 | <returns>A correct auth request.</returns> | ||
609 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | ||
758 | </member> | 610 | </member> |
759 | <member name="M:HttpServer.HttpClientContextImp.Check100Continue"> | 611 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> |
760 | <summary> | 612 | <summary> |
761 | This method checks the request if a responde to 100-continue should be sent. | 613 | Decodes authorization header value |
762 | </summary> | 614 | </summary> |
763 | <remarks> | 615 | <param name="buffer">header value</param> |
764 | 100 continue is a value in the Expect header. | 616 | <param name="encoding">Encoding that the buffer is in</param> |
765 | It's used to let the webserver determine if a request can be handled. The client | 617 | <returns>All headers and their values if successful; otherwise null</returns> |
766 | waits for a reply before sending the body. | 618 | <example> |
767 | </remarks> | 619 | NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); |
620 | </example> | ||
621 | <remarks>Can handle lots of whitespaces and new lines without failing.</remarks> | ||
768 | </member> | 622 | </member> |
769 | <member name="M:HttpServer.HttpClientContextImp.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String)"> | 623 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> |
770 | <summary> | 624 | <summary> |
771 | Send a response. | 625 | Gets the current nonce. |
772 | </summary> | 626 | </summary> |
773 | <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param> | 627 | <returns></returns> |
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> | 628 | </member> |
779 | <member name="M:HttpServer.HttpClientContextImp.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 629 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> |
780 | <summary> | 630 | <summary> |
781 | Send a response. | 631 | Gets the Md5 hash bin hex2. |
782 | </summary> | 632 | </summary> |
783 | <param name="httpVersion">Either HttpHelper.HTTP10 or HttpHelper.HTTP11</param> | 633 | <param name="toBeHashed">To be hashed.</param> |
784 | <param name="statusCode">http status code</param> | 634 | <returns></returns> |
785 | <param name="reason">reason for the status code.</param> | ||
786 | </member> | 635 | </member> |
787 | <member name="M:HttpServer.HttpClientContextImp.Respond(System.String)"> | 636 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> |
788 | <summary> | 637 | <summary> |
789 | Send a response. | 638 | determines if the nonce is valid or has expired. |
790 | </summary> | 639 | </summary> |
791 | <exception cref="T:System.ArgumentNullException"></exception> | 640 | <param name="nonce">nonce value (check wikipedia for info)</param> |
641 | <returns>true if the nonce has not expired.</returns> | ||
792 | </member> | 642 | </member> |
793 | <member name="M:HttpServer.HttpClientContextImp.Send(System.Byte[])"> | 643 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> |
794 | <summary> | 644 | <summary> |
795 | send a whole buffer | 645 | name used in http request. |
796 | </summary> | 646 | </summary> |
797 | <param name="buffer">buffer to send</param> | ||
798 | <exception cref="T:System.ArgumentNullException"></exception> | ||
799 | </member> | 647 | </member> |
800 | <member name="M:HttpServer.HttpClientContextImp.Send(System.Byte[],System.Int32,System.Int32)"> | 648 | <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"> |
801 | <summary> | 649 | <summary> |
802 | Send data using the stream | 650 | Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a |
651 | HA1 generated string. | ||
803 | </summary> | 652 | </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> | 653 | </member> |
810 | <member name="P:HttpServer.HttpClientContextImp.Secured"> | 654 | <member name="T:HttpServer.IHttpContextHandler"> |
811 | <summary> | 655 | <summary> |
812 | Using SSL or other encryption method. | 656 | Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>. |
813 | </summary> | 657 | </summary> |
814 | </member> | 658 | </member> |
815 | <member name="T:HttpServer.ClientDisconnectedHandler"> | 659 | <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> |
816 | <summary> | 660 | <summary> |
817 | Client have been disconnected. | 661 | Client have been disconnected. |
818 | </summary> | 662 | </summary> |
@@ -820,7 +664,7 @@ | |||
820 | <param name="error">Reason</param> | 664 | <param name="error">Reason</param> |
821 | <see cref="T:HttpServer.IHttpClientContext"/> | 665 | <see cref="T:HttpServer.IHttpClientContext"/> |
822 | </member> | 666 | </member> |
823 | <member name="T:HttpServer.RequestReceivedHandler"> | 667 | <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
824 | <summary> | 668 | <summary> |
825 | Invoked when a client context have received a new HTTP request | 669 | Invoked when a client context have received a new HTTP request |
826 | </summary> | 670 | </summary> |
@@ -828,990 +672,1018 @@ | |||
828 | <param name="request">Request that was received.</param> | 672 | <param name="request">Request that was received.</param> |
829 | <see cref="T:HttpServer.IHttpClientContext"/> | 673 | <see cref="T:HttpServer.IHttpClientContext"/> |
830 | </member> | 674 | </member> |
831 | <member name="T:HttpServer.HttpModules.ControllerModule"> | 675 | <member name="T:HttpServer.RealmHandler"> |
832 | <summary> | 676 | <summary> |
833 | A controller module is a part of the ModelViewController design pattern. | 677 | Delegate used to find a realm/domain. |
834 | It gives you a way to create user friendly URLs. | ||
835 | </summary> | 678 | </summary> |
679 | <param name="domain"></param> | ||
680 | <returns></returns> | ||
836 | <remarks> | 681 | <remarks> |
837 | The controller module uses the flyweight pattern which means that | 682 | Realms are used during HTTP Authentication |
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> | 683 | </remarks> |
684 | <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/> | ||
685 | <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/> | ||
686 | </member> | ||
687 | <member name="T:HttpServer.HttpServer"> | ||
688 | <summary> | ||
689 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. | ||
690 | </summary> | ||
842 | <example> | 691 | <example> |
843 | <code> | 692 | <code> |
844 | ControllerModule module = new ControllerModule(); | 693 | // this small example will add two web site modules, thus handling |
845 | module.Add(new UserController()); | 694 | // two different sites. In reality you should add Controller modules or something |
846 | module.Add(new SearchController()); | 695 | // two the website modules to be able to handle different requests. |
847 | myWebsite.Add(module); | 696 | HttpServer server = new HttpServer(); |
697 | server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); | ||
698 | server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); | ||
699 | |||
700 | // start regular http | ||
701 | server.Start(IPAddress.Any, 80); | ||
702 | |||
703 | // start https | ||
704 | server.Start(IPAddress.Any, 443, myCertificate); | ||
848 | </code> | 705 | </code> |
849 | </example> | 706 | </example> |
707 | <seealso cref="T:HttpServer.HttpModules.HttpModule"/> | ||
708 | <seealso cref="T:HttpServer.HttpModules.FileModule"/> | ||
709 | <seealso cref="T:HttpServer.HttpListener"/> | ||
850 | </member> | 710 | </member> |
851 | <member name="T:HttpServer.HttpModules.HttpModule"> | 711 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)"> |
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> | 712 | <summary> |
886 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules | 713 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
887 | can continue processing afterwards. Default is false. | ||
888 | </summary> | 714 | </summary> |
715 | <param name="provider">Used to get all components used in the server..</param> | ||
889 | </member> | 716 | </member> |
890 | <member name="M:HttpServer.HttpModules.ControllerModule.Add(HttpServer.Controllers.RequestController)"> | 717 | <member name="M:HttpServer.HttpServer.#ctor"> |
891 | <summary> | 718 | <summary> |
892 | The controller module uses the prototype design pattern | 719 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
893 | to be able to create new controller objects for requests | ||
894 | if the stack is empty. | ||
895 | </summary> | 720 | </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> | 721 | </member> |
900 | <member name="M:HttpServer.HttpModules.ControllerModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 722 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)"> |
901 | <summary> | 723 | <summary> |
902 | Method that process the incoming request. | 724 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
903 | </summary> | 725 | </summary> |
904 | <param name="request">Information sent by the browser about the request</param> | 726 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
905 | <param name="response">Information that is being sent back to the client.</param> | 727 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
906 | <param name="session">Session used to </param> | 728 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
907 | </member> | 729 | </member> |
908 | <member name="P:HttpServer.HttpModules.ControllerModule.Item(System.String)"> | 730 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)"> |
909 | <summary> | 731 | <summary> |
910 | Get a prototype | 732 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
911 | </summary> | 733 | </summary> |
912 | <param name="controllerName">in lowercase, without "Controller"</param> | 734 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> |
913 | <returns>The controller if found; otherwise null.</returns> | 735 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> |
914 | <example> | ||
915 | <code> | ||
916 | //fetches the class UserController | ||
917 | RequestController userController = controllerModule["user"]; | ||
918 | </code> | ||
919 | </example> | ||
920 | </member> | 736 | </member> |
921 | <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.#ctor(HttpServer.Controllers.RequestController)"> | 737 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)"> |
922 | <summary> | 738 | <summary> |
923 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ControllerModule.ControllerContext"/> class. | 739 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
924 | </summary> | 740 | </summary> |
925 | <param name="prototype">A controller used to handle certain URLs. Will be cloned for each parallel request.</param> | 741 | <param name="logWriter">The log writer.</param> |
742 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
926 | </member> | 743 | </member> |
927 | <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.Pop"> | 744 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)"> |
928 | <summary> | 745 | <summary> |
929 | Retrieve a previously created controller (or a new one if none exist). | 746 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
930 | </summary> | 747 | </summary> |
931 | <returns></returns> | 748 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
749 | <param name="logWriter">The log writer.</param> | ||
750 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
751 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
752 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
932 | </member> | 753 | </member> |
933 | <member name="M:HttpServer.HttpModules.ControllerModule.ControllerContext.Push(HttpServer.Controllers.RequestController)"> | 754 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)"> |
934 | <summary> | 755 | <summary> |
935 | Add a controller | 756 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
936 | </summary> | 757 | </summary> |
937 | <param name="controller"></param> | 758 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
759 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | ||
760 | <param name="logWriter">The log writer.</param> | ||
761 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | ||
762 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | ||
763 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | ||
764 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | ||
938 | </member> | 765 | </member> |
939 | <member name="P:HttpServer.HttpModules.ControllerModule.ControllerContext.Prototype"> | 766 | <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)"> |
940 | <summary> | 767 | <summary> |
941 | Prototype controller used for cloning. | 768 | Adds the specified rule. |
942 | </summary> | 769 | </summary> |
943 | <value>The prototype.</value> | 770 | <param name="rule">The rule.</param> |
944 | </member> | 771 | </member> |
945 | <member name="T:HttpServer.Helpers.JSHelper"> | 772 | <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)"> |
946 | <summary> | 773 | <summary> |
947 | Will contain helper functions for javascript. | 774 | Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server. |
948 | </summary> | 775 | </summary> |
776 | <param name="module">mode to add</param> | ||
949 | </member> | 777 | </member> |
950 | <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])"> | 778 | <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)"> |
951 | <summary> | 779 | <summary> |
952 | Requests a url through ajax | 780 | Decodes the request body. |
953 | </summary> | 781 | </summary> |
954 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 782 | <param name="request">The request.</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> | 783 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception> |
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 = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; | ||
965 | </code> | ||
966 | </example> | ||
967 | </member> | 784 | </member> |
968 | <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])"> | 785 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)"> |
969 | <summary> | 786 | <summary> |
970 | Ajax requests that updates an element with | 787 | Generate a HTTP error page (that will be added to the response body). |
971 | the fetched content | 788 | response status code is also set. |
972 | </summary> | 789 | </summary> |
973 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 790 | <param name="response">Response that the page will be generated in.</param> |
974 | <param name="targetId">element to update</param> | 791 | <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param> |
975 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> | 792 | <param name="body">response body contents.</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> | 793 | </member> |
983 | <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"> | 794 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)"> |
984 | <summary> | 795 | <summary> |
985 | Opens contents in a dialog window. | 796 | Generate a HTTP error page (that will be added to the response body). |
797 | response status code is also set. | ||
986 | </summary> | 798 | </summary> |
987 | <param name="url">url to contents of dialog</param> | 799 | <param name="response">Response that the page will be generated in.</param> |
988 | <param name="title">link title</param> | 800 | <param name="err">exception.</param> |
989 | <param name="options">name, value, name, value, all parameter names should end with colon.</param> | ||
990 | </member> | 801 | </member> |
991 | <member name="M:HttpServer.Helpers.JSHelper.CloseDialog"> | 802 | <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)"> |
992 | <summary> | 803 | <summary> |
993 | Close a javascript dialog window/div. | 804 | Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s. |
994 | </summary> | 805 | </summary> |
995 | <returns>javascript for closing a dialog.</returns> | 806 | <param name="request">HTTP request</param> |
996 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> | 807 | <returns>domain/realm.</returns> |
997 | </member> | 808 | </member> |
998 | <member name="T:HttpServer.Helpers.GetIdTitle"> | 809 | <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
999 | <summary> | 810 | <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. | 811 | Process an incoming request. |
1001 | </summary> | 812 | </summary> |
1002 | <param name="obj">current object (for instance a User).</param> | 813 | <param name="context">connection to client</param> |
1003 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> | 814 | <param name="request">request information</param> |
1004 | <param name="title">Text shown in the select list.</param> | 815 | <param name="response">response that should be filled</param> |
1005 | <example> | 816 | <param name="session">session information</param> |
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<User> items = new List<User>(); | ||
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<User> items = new List<User>(); | ||
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> | 817 | </member> |
1060 | <member name="T:HttpServer.Controllers.BeforeFilterAttribute"> | 818 | <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> |
1061 | <summary> | 819 | <summary> |
1062 | Methods marked with BeforeFilter will be invoked before each request. | 820 | Can be overloaded to implement stuff when a client have been connected. |
1063 | </summary> | 821 | </summary> |
1064 | <remarks> | 822 | <remarks> |
1065 | BeforeFilters should take no arguments and return false | 823 | Default implementation does nothing. |
1066 | if controller method should not be invoked. | ||
1067 | </remarks> | 824 | </remarks> |
1068 | <seealso cref="T:HttpServer.Controllers.FilterPosition"/> | 825 | <param name="client">client that disconnected</param> |
826 | <param name="error">disconnect reason</param> | ||
1069 | </member> | 827 | </member> |
1070 | <member name="M:HttpServer.Controllers.BeforeFilterAttribute.#ctor"> | 828 | <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
1071 | <summary> | 829 | <summary> |
1072 | Initializes a new instance of the <see cref="T:HttpServer.Controllers.BeforeFilterAttribute"/> class. | 830 | Handle authentication |
1073 | </summary> | 831 | </summary> |
1074 | <remarks> | 832 | <param name="request"></param> |
1075 | BeforeFilters should take no arguments and return false | 833 | <param name="response"></param> |
1076 | if controller method should not be invoked. | 834 | <param name="session"></param> |
1077 | </remarks> | 835 | <returns>true if request can be handled; false if not.</returns> |
836 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception> | ||
1078 | </member> | 837 | </member> |
1079 | <member name="M:HttpServer.Controllers.BeforeFilterAttribute.#ctor(HttpServer.Controllers.FilterPosition)"> | 838 | <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
1080 | <summary> | 839 | <summary> |
1081 | Initializes a new instance of the <see cref="T:HttpServer.Controllers.BeforeFilterAttribute"/> class. | 840 | Will request authentication. |
1082 | </summary> | 841 | </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> | 842 | <remarks> |
1085 | BeforeFilters should take no arguments and return false | 843 | Sends respond to client, nothing else can be done with the response after this. |
1086 | if controller method should not be invoked. | ||
1087 | </remarks> | 844 | </remarks> |
845 | <param name="mod"></param> | ||
846 | <param name="request"></param> | ||
847 | <param name="response"></param> | ||
1088 | </member> | 848 | </member> |
1089 | <member name="P:HttpServer.Controllers.BeforeFilterAttribute.Position"> | 849 | <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)"> |
1090 | <summary> | 850 | <summary> |
1091 | Filters position in before filter queue | 851 | Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully. |
1092 | </summary> | 852 | </summary> |
853 | <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param> | ||
854 | <param name="args">The request.</param> | ||
1093 | </member> | 855 | </member> |
1094 | <member name="T:HttpServer.Controllers.FilterPosition"> | 856 | <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
1095 | <summary> | 857 | <summary> |
1096 | Determins when a before filter is executed. | 858 | To be able to track request count. |
1097 | </summary> | 859 | </summary> |
1098 | <seealso cref="T:HttpServer.Controllers.BeforeFilterAttribute"/> | 860 | <param name="context"></param> |
861 | <param name="request"></param> | ||
1099 | </member> | 862 | </member> |
1100 | <member name="F:HttpServer.Controllers.FilterPosition.First"> | 863 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)"> |
1101 | <summary> | 864 | <summary> |
1102 | Filter will be invoked first (unless another filter is added after this one with the First position) | 865 | Start the web server using regular HTTP. |
1103 | </summary> | 866 | </summary> |
867 | <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param> | ||
868 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | ||
869 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
870 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
1104 | </member> | 871 | </member> |
1105 | <member name="F:HttpServer.Controllers.FilterPosition.Between"> | 872 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
1106 | <summary> | 873 | <summary> |
1107 | Invoke after all first filters, and before the last filters. | 874 | Accept secure connections. |
1108 | </summary> | 875 | </summary> |
876 | <param name="address">IP Address to listen on, use <see cref="F:System.Net.IPAddress.Any"/> to accept connections on all IP Addresses / network cards.</param> | ||
877 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | ||
878 | <param name="certificate">Certificate to use</param> | ||
879 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | ||
880 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | ||
1109 | </member> | 881 | </member> |
1110 | <member name="F:HttpServer.Controllers.FilterPosition.Last"> | 882 | <member name="M:HttpServer.HttpServer.Stop"> |
1111 | <summary> | 883 | <summary> |
1112 | Filter will be invoked last (unless another filter is added after this one with the Last position) | 884 | shut down the server and listeners |
1113 | </summary> | 885 | </summary> |
1114 | </member> | 886 | </member> |
1115 | <member name="T:HttpServer.Authentication.BasicAuthentication"> | 887 | <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)"> |
1116 | <summary> | 888 | <summary> |
1117 | The "basic" authentication scheme is based on the model that the | 889 | write an entry to the log file |
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> | 890 | </summary> |
891 | <param name="prio">importance of the message</param> | ||
892 | <param name="message">log message</param> | ||
1125 | </member> | 893 | </member> |
1126 | <member name="T:HttpServer.Authentication.AuthModule"> | 894 | <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)"> |
1127 | <summary> | 895 | <summary> |
1128 | Authentication modules are used to implement different | 896 | write an entry to the log file |
1129 | kind of http authentication. | ||
1130 | </summary> | 897 | </summary> |
898 | <param name="source">object that wrote the message</param> | ||
899 | <param name="prio">importance of the message</param> | ||
900 | <param name="message">log message</param> | ||
1131 | </member> | 901 | </member> |
1132 | <member name="M:HttpServer.Authentication.AuthModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)"> | 902 | <member name="P:HttpServer.HttpServer.Current"> |
1133 | <summary> | 903 | <summary> |
1134 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthModule"/> class. | 904 | Server that is handling the current request. |
1135 | </summary> | 905 | </summary> |
1136 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 906 | <remarks> |
1137 | <param name="authRequiredDelegate">Delegate used to determine if authentication is required (may be null).</param> | 907 | Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object. |
908 | </remarks> | ||
1138 | </member> | 909 | </member> |
1139 | <member name="M:HttpServer.Authentication.AuthModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 910 | <member name="P:HttpServer.HttpServer.AuthenticationModules"> |
1140 | <summary> | 911 | <summary> |
1141 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthModule"/> class. | 912 | Modules used for authentication. The module that is is added first is used as |
913 | the default authentication module. | ||
1142 | </summary> | 914 | </summary> |
1143 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 915 | <remarks>Use the corresponding property |
916 | in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks> | ||
1144 | </member> | 917 | </member> |
1145 | <member name="M:HttpServer.Authentication.AuthModule.CreateResponse(System.String,System.Object[])"> | 918 | <member name="P:HttpServer.HttpServer.FormDecoderProviders"> |
1146 | <summary> | 919 | <summary> |
1147 | Create a response that can be sent in the WWW-Authenticate header. | 920 | Form decoder providers are used to decode request body (which normally contains form data). |
1148 | </summary> | 921 | </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> | 922 | </member> |
1154 | <member name="M:HttpServer.Authentication.AuthModule.Authenticate(System.String,System.String,System.String,System.Object[])"> | 923 | <member name="P:HttpServer.HttpServer.ServerName"> |
1155 | <summary> | 924 | <summary> |
1156 | An authentication response have been received from the web browser. | 925 | Server name sent in HTTP responses. |
1157 | Check if it's correct | ||
1158 | </summary> | 926 | </summary> |
1159 | <param name="authenticationHeader">Contents from the Authorization header</param> | 927 | <remarks> |
1160 | <param name="realm">Realm that should be authenticated</param> | 928 | Do NOT include version in name, since it makes it |
1161 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 929 | easier for hackers. |
1162 | <param name="options">options to specific implementations</param> | 930 | </remarks> |
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> | 931 | </member> |
1167 | <member name="M:HttpServer.Authentication.AuthModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> | 932 | <member name="P:HttpServer.HttpServer.SessionCookieName"> |
1168 | <summary> | 933 | <summary> |
1169 | Used to invoke the auth delegate that is used to lookup the username/realm. | 934 | Name of cookie where session id is stored. |
1170 | </summary> | 935 | </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> | 936 | </member> |
1177 | <member name="M:HttpServer.Authentication.AuthModule.AuthenticationRequired(HttpServer.IHttpRequest)"> | 937 | <member name="P:HttpServer.HttpServer.LogWriter"> |
1178 | <summary> | 938 | <summary> |
1179 | Determines if authentication is required. | 939 | Specified where logging should go. |
1180 | </summary> | 940 | </summary> |
1181 | <param name="request">Http request from browser</param> | 941 | <seealso cref="T:HttpServer.NullLogWriter"/> |
1182 | <returns>true if user should be authenticated.</returns> | 942 | <seealso cref="T:HttpServer.ConsoleLogWriter"/> |
1183 | <remarks>throw ForbiddenException from your delegate if no more attempts are allowed.</remarks> | 943 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
1184 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
1185 | </member> | 944 | </member> |
1186 | <member name="P:HttpServer.Authentication.AuthModule.Name"> | 945 | <member name="P:HttpServer.HttpServer.BackLog"> |
1187 | <summary> | 946 | <summary> |
1188 | name used in http request. | 947 | Number of connections that can wait to be accepted by the server. |
1189 | </summary> | 948 | </summary> |
949 | <remarks>Default is 10.</remarks> | ||
1190 | </member> | 950 | </member> |
1191 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)"> | 951 | <member name="P:HttpServer.HttpServer.MaxRequestCount"> |
1192 | <summary> | 952 | <summary> |
1193 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 953 | Gets or sets maximum number of allowed simultaneous requests. |
1194 | </summary> | 954 | </summary> |
1195 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 955 | <remarks> |
1196 | <param name="authRequiredDelegate">Delegate used to determine if authentication is required (may be null).</param> | 956 | <para> |
957 | This property is useful in busy systems. The HTTP server | ||
958 | will start queuing new requests if this limit is hit, instead | ||
959 | of trying to process all incoming requests directly. | ||
960 | </para> | ||
961 | <para> | ||
962 | The default number if allowed simultaneous requests are 10. | ||
963 | </para> | ||
964 | </remarks> | ||
1197 | </member> | 965 | </member> |
1198 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 966 | <member name="P:HttpServer.HttpServer.MaxQueueSize"> |
1199 | <summary> | 967 | <summary> |
1200 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 968 | Gets or sets maximum number of requests queuing to be handled. |
1201 | </summary> | 969 | </summary> |
1202 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 970 | <remarks> |
971 | <para> | ||
972 | The WebServer will start turning requests away if response code | ||
973 | <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server | ||
974 | is too busy to be able to handle the request. | ||
975 | </para> | ||
976 | </remarks> | ||
1203 | </member> | 977 | </member> |
1204 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> | 978 | <member name="E:HttpServer.HttpServer.RealmWanted"> |
1205 | <summary> | 979 | <summary> |
1206 | Create a response that can be sent in the WWW-Authenticate header. | 980 | Realms are used during HTTP authentication. |
981 | Default realm is same as server name. | ||
1207 | </summary> | 982 | </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> | 983 | </member> |
1212 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | 984 | <member name="E:HttpServer.HttpServer.ExceptionThrown"> |
1213 | <summary> | 985 | <summary> |
1214 | An authentication response have been received from the web browser. | 986 | Let's to receive unhandled exceptions from the threads. |
1215 | Check if it's correct | ||
1216 | </summary> | 987 | </summary> |
1217 | <param name="authenticationHeader">Contents from the Authorization header</param> | 988 | <remarks> |
1218 | <param name="realm">Realm that should be authenticated</param> | 989 | Exceptions will be thrown during debug mode if this event is not used, |
1219 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 990 | exceptions will be printed to console and suppressed during release mode. |
1220 | <param name="options">Not used in basic auth</param> | 991 | </remarks> |
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> | 992 | </member> |
1225 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> | 993 | <member name="T:HttpServer.Helpers.WebHelper"> |
1226 | <summary> | 994 | <summary> |
1227 | name used in http request. | 995 | Webhelper provides helpers for common tasks in HTML. |
1228 | </summary> | 996 | </summary> |
1229 | </member> | 997 | </member> |
1230 | <member name="T:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode"> | 998 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> |
1231 | <summary> | 999 | <summary> |
1232 | The follow node allows users to display code in a haml document | 1000 | Used to let the website use different javascript libraries. |
1001 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
1233 | </summary> | 1002 | </summary> |
1234 | <example> | ||
1235 | #main Welcome =user.FirstName | ||
1236 | </example> | ||
1237 | </member> | 1003 | </member> |
1238 | <member name="T:HttpServer.Rendering.Haml.Nodes.ChildNode"> | 1004 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> |
1239 | <summary> | 1005 | <summary> |
1240 | Child nodes may not be the first node on a line | 1006 | Creates a link that invokes through ajax. |
1241 | </summary> | 1007 | </summary> |
1008 | <param name="url">url to fetch</param> | ||
1009 | <param name="title">link title</param> | ||
1010 | <param name="options"> | ||
1011 | optional options in format "key, value, key, value". | ||
1012 | Javascript options starts with ':'. | ||
1013 | </param> | ||
1014 | <returns>a link tag</returns> | ||
1015 | <example> | ||
1016 | WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); | ||
1017 | </example> | ||
1242 | </member> | 1018 | </member> |
1243 | <member name="T:HttpServer.Rendering.Haml.Nodes.Node"> | 1019 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> |
1244 | <summary> | 1020 | <summary> |
1245 | A node represents a controller code and contents. For example a html tag, an attribute list or something else. | 1021 | Builds a link that updates an element with the fetched ajax content. |
1246 | </summary> | 1022 | </summary> |
1023 | <param name="url">Url to fetch content from</param> | ||
1024 | <param name="title">link title</param> | ||
1025 | <param name="targetId">html element to update with the results of the ajax request.</param> | ||
1026 | <param name="options">optional options in format "key, value, key, value"</param> | ||
1027 | <returns>A link tag.</returns> | ||
1247 | </member> | 1028 | </member> |
1248 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 1029 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> |
1249 | <summary> | 1030 | <summary> |
1250 | Add a new node | 1031 | A link that pop ups a Dialog (overlay div) |
1251 | </summary> | 1032 | </summary> |
1252 | <param name="parent">parent node.</param> | 1033 | <param name="url">url to contents of dialog</param> |
1034 | <param name="title">link title</param> | ||
1035 | <param name="htmlAttributes">name/value of html attributes.</param> | ||
1036 | <returns>A "a"-tag that popups a dialog when clicked</returns> | ||
1037 | <example> | ||
1038 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
1039 | </example> | ||
1253 | </member> | 1040 | </member> |
1254 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.AddModifier(HttpServer.Rendering.Haml.Nodes.Node)"> | 1041 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> |
1255 | <summary> | 1042 | <summary> |
1256 | Modifiers are used to modify the first node on the line. | 1043 | Create/Open a dialog box using ajax |
1257 | Typical modifiers are attribute lists, class names and IDs. | ||
1258 | </summary> | 1044 | </summary> |
1259 | <param name="node">Modifier node</param> | 1045 | <param name="url"></param> |
1046 | <param name="title"></param> | ||
1047 | <param name="parameters"></param> | ||
1048 | <returns></returns> | ||
1260 | </member> | 1049 | </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@)"> | 1050 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> |
1262 | <summary> | 1051 | <summary> |
1263 | Parse node contents add return a fresh node. | 1052 | Close a javascript dialog window/div. |
1264 | </summary> | 1053 | </summary> |
1265 | <param name="prototypes">List containing all node types</param> | 1054 | <returns>javascript for closing a dialog.</returns> |
1266 | <param name="parent">Node that this is a subnode to. Can be null</param> | 1055 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> |
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> | 1056 | </member> |
1272 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.CanHandle(System.String,System.Boolean)"> | 1057 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> |
1273 | <summary> | 1058 | <summary> |
1274 | determines if this node can handle the line (by checking the first word); | 1059 | Create a <form> tag. |
1275 | </summary> | 1060 | </summary> |
1276 | <param name="word">Controller char (word)</param> | 1061 | <param name="name">name of form</param> |
1277 | <returns>true if text belongs to this node type</returns> | 1062 | <param name="action">action to invoke on submit</param> |
1278 | <param name="firstNode">First node on line, used since some nodes cannot exist on their own on a line.</param> | 1063 | <param name="isAjax">form should be posted as ajax</param> |
1064 | <returns>html code</returns> | ||
1065 | <example> | ||
1066 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
1067 | </example> | ||
1279 | </member> | 1068 | </member> |
1280 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToHtml"> | 1069 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> |
1281 | <summary> | 1070 | <summary> |
1282 | Generate HTML code (with ASP tags) | 1071 | Create a link tag. |
1283 | </summary> | 1072 | </summary> |
1284 | <returns></returns> | 1073 | <param name="url">url to go to</param> |
1074 | <param name="title">link title (text that is displayed)</param> | ||
1075 | <param name="htmlAttributes">html attributes, name, value, name, value</param> | ||
1076 | <returns>html code</returns> | ||
1077 | <example> | ||
1078 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); | ||
1079 | </example> | ||
1285 | </member> | 1080 | </member> |
1286 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@)"> | 1081 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> |
1287 | <summary> | 1082 | <summary> |
1288 | Converts the node to c# code | 1083 | Build a link |
1289 | </summary> | 1084 | </summary> |
1290 | <param name="inString">true if we are inside the internal stringbuilder</param> | 1085 | <param name="url">url to go to.</param> |
1291 | <returns>c# code</returns> | 1086 | <param name="title">title of link (displayed text)</param> |
1087 | <param name="htmlAttributes">extra html attributes.</param> | ||
1088 | <returns>a complete link</returns> | ||
1292 | </member> | 1089 | </member> |
1293 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@,System.Boolean)"> | 1090 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> |
1294 | <summary> | 1091 | <summary> |
1295 | Convert the node to c# code | 1092 | Build a link |
1296 | </summary> | 1093 | </summary> |
1297 | <param name="inString">True if we are inside the internal stringbuilder</param> | 1094 | <param name="url">url to go to.</param> |
1298 | <param name="smallEnough">true if all subnodes fit on one line</param> | 1095 | <param name="title">title of link (displayed text)</param> |
1299 | <returns>c# code</returns> | 1096 | <param name="htmlAttributes">extra html attributes.</param> |
1097 | <returns>a complete link</returns> | ||
1098 | <param name="options">more options</param> | ||
1300 | </member> | 1099 | </member> |
1301 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 1100 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
1302 | <summary> | 1101 | <summary> |
1303 | Generate C# code of the node | 1102 | Obsolete |
1304 | </summary> | 1103 | </summary> |
1305 | <param name="inString">true if we are inside the internal stringbuilder</param> | 1104 | <param name="name">Obsolete</param> |
1306 | <param name="smallEnough">code is small enough to fit on one row.</param> | 1105 | <param name="collection">Obsolete</param> |
1307 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 1106 | <param name="getIdTitle">Obsolete</param> |
1308 | <returns>c# code</returns> | 1107 | <param name="selectedValue">Obsolete</param> |
1108 | <param name="firstEmpty">Obsolete</param> | ||
1109 | <returns>Obsolete</returns> | ||
1309 | </member> | 1110 | </member> |
1310 | <member name="M:HttpServer.Rendering.Haml.Nodes.Node.GetIntendation"> | 1111 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
1311 | <summary> | 1112 | <summary> |
1312 | Get intendation level for this node. | 1113 | Obsolete |
1313 | </summary> | 1114 | </summary> |
1314 | <returns></returns> | 1115 | <param name="name">Obsolete</param> |
1116 | <param name="id">Obsolete</param> | ||
1117 | <param name="collection">Obsolete</param> | ||
1118 | <param name="getIdTitle">Obsolete</param> | ||
1119 | <param name="selectedValue">Obsolete</param> | ||
1120 | <param name="firstEmpty">Obsolete</param> | ||
1121 | <returns>Obsolete</returns> | ||
1315 | </member> | 1122 | </member> |
1316 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.IsTextNode"> | 1123 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> |
1317 | <summary> | 1124 | <summary> |
1318 | Returns true if the node is applicable after another node as text instead of being applied as a modifier | 1125 | Render errors into a UL with class "errors" |
1319 | </summary> | 1126 | </summary> |
1127 | <param name="className">class used by UL-tag.</param> | ||
1128 | <param name="theList">items to list</param> | ||
1129 | <returns>an unordered html list.</returns> | ||
1320 | </member> | 1130 | </member> |
1321 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.AllChildrenCount"> | 1131 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> |
1322 | <summary> | 1132 | <summary> |
1323 | Count our children and our childrens children and so on... | 1133 | Render errors into a UL with class "errors" |
1324 | </summary> | 1134 | </summary> |
1135 | <param name="className">class used by UL-tag.</param> | ||
1136 | <param name="theList">items to list</param> | ||
1137 | <returns>an unordered html list.</returns> | ||
1325 | </member> | 1138 | </member> |
1326 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Children"> | 1139 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> |
1327 | <summary> | 1140 | <summary> |
1328 | All child nodes for this node. | 1141 | Render errors into a UL with class "errors" |
1329 | </summary> | 1142 | </summary> |
1143 | <param name="errors"></param> | ||
1144 | <returns></returns> | ||
1330 | </member> | 1145 | </member> |
1331 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.LineInfo"> | 1146 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> |
1332 | <summary> | 1147 | <summary> |
1333 | Should only be set for each parent. | 1148 | Generates a list with html attributes. |
1334 | </summary> | 1149 | </summary> |
1150 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1151 | <param name="firstOptions">attributes set by user.</param> | ||
1152 | <param name="secondOptions">attributes set by any of the helper classes.</param> | ||
1335 | </member> | 1153 | </member> |
1336 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Modifiers"> | 1154 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> |
1337 | <summary> | 1155 | <summary> |
1338 | Modifiers are used to modify the first node on the line. | 1156 | Generates a list with html attributes. |
1339 | Typical modifiers are attribute lists, class names and IDs. | ||
1340 | </summary> | 1157 | </summary> |
1158 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1159 | <param name="options"></param> | ||
1341 | </member> | 1160 | </member> |
1342 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.LastModifier"> | 1161 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> |
1343 | <summary> | 1162 | <summary> |
1344 | Last modifier for this node | 1163 | Purpose of this class is to create a javascript toolkit independent javascript helper. |
1345 | </summary> | 1164 | </summary> |
1346 | <seealso cref="P:HttpServer.Rendering.Haml.Nodes.Node.Modifiers"/> | ||
1347 | </member> | 1165 | </member> |
1348 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.ModifierCount"> | 1166 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> |
1349 | <summary> | 1167 | <summary> |
1350 | Number of modifiers for this line. | 1168 | Generates a list with JS options. |
1351 | </summary> | 1169 | </summary> |
1170 | <param name="sb">StringBuilder that the options should be added to.</param> | ||
1171 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> | ||
1172 | <param name="startWithComma">true if we should start with a comma.</param> | ||
1352 | </member> | 1173 | </member> |
1353 | <member name="P:HttpServer.Rendering.Haml.Nodes.Node.Parent"> | 1174 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> |
1354 | <summary> | 1175 | <summary> |
1355 | Parent node. | 1176 | Removes any javascript parameters from an array of parameters |
1356 | </summary> | 1177 | </summary> |
1178 | <param name="options">The array of parameters to remove javascript params from</param> | ||
1179 | <returns>An array of html parameters</returns> | ||
1357 | </member> | 1180 | </member> |
1358 | <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 1181 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> |
1359 | <summary> | 1182 | <summary> |
1360 | Child nodes may not be the first node on a line | 1183 | javascript action that should be added to the "onsubmit" event in the form tag. |
1361 | </summary> | 1184 | </summary> |
1362 | <param name="parent">parent node</param> | 1185 | <returns></returns> |
1186 | <remarks>All javascript option names should end with colon.</remarks> | ||
1187 | <example> | ||
1188 | <code> | ||
1189 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
1190 | </code> | ||
1191 | </example> | ||
1363 | </member> | 1192 | </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)"> | 1193 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> |
1365 | <summary> | 1194 | <summary> |
1366 | Creates a DIV node and add's the specified node to it. | 1195 | Requests a url through ajax |
1367 | </summary> | 1196 | </summary> |
1368 | <param name="prototypes">Contains all prototypes for each control char. used to instanciate new nodes.</param> | 1197 | <param name="url">url to fetch</param> |
1369 | <param name="parent">parent node</param> | 1198 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> |
1370 | <param name="line">current line information</param> | 1199 | <returns>a link tag</returns> |
1371 | <param name="me">node to add to the DIV node</param> | 1200 | <remarks>All javascript option names should end with colon.</remarks> |
1372 | <returns>current node</returns> | 1201 | <example> |
1202 | <code> | ||
1203 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
1204 | </code> | ||
1205 | </example> | ||
1373 | </member> | 1206 | </member> |
1374 | <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.GetEndPos(System.Int32,System.String,System.Char)"> | 1207 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> |
1375 | <summary> | 1208 | <summary> |
1376 | Get endposition for this modifier. | 1209 | Ajax requests that updates an element with |
1210 | the fetched content | ||
1377 | </summary> | 1211 | </summary> |
1378 | <param name="offset">where to start searching</param> | 1212 | <param name="url">Url to fetch content from</param> |
1379 | <param name="line">contents of the current line</param> | 1213 | <param name="targetId">element to update</param> |
1380 | <param name="terminator">char that tells us that this is the end position</param> | 1214 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> |
1381 | <returns>index on the current line</returns> | 1215 | <returns>A link tag.</returns> |
1216 | <remarks>All javascript option names should end with colon.</remarks> | ||
1217 | <example> | ||
1218 | <code> | ||
1219 | JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); | ||
1220 | </code> | ||
1221 | </example> | ||
1382 | </member> | 1222 | </member> |
1383 | <member name="M:HttpServer.Rendering.Haml.Nodes.ChildNode.GetEndPos(System.Int32,System.String)"> | 1223 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> |
1384 | <summary> | 1224 | <summary> |
1385 | Get endposition for this modifier. | 1225 | A link that pop ups a Dialog (overlay div) |
1386 | </summary> | 1226 | </summary> |
1387 | <param name="offset">where to start searching</param> | 1227 | <param name="url">url to contents of dialog</param> |
1388 | <param name="line">contents of the current line</param> | 1228 | <param name="title">link title</param> |
1389 | <returns>index on the current line</returns> | 1229 | <returns>A "a"-tag that popups a dialog when clicked</returns> |
1230 | <param name="htmlAttributes">name/value of html attributes</param> | ||
1231 | <example> | ||
1232 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
1233 | </example> | ||
1390 | </member> | 1234 | </member> |
1391 | <member name="P:HttpServer.Rendering.Haml.Nodes.ChildNode.IsTextNode"> | 1235 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> |
1392 | <summary> | 1236 | <summary> |
1393 | This is a plain text node | 1237 | Close a javascript dialog window/div. |
1394 | </summary> | 1238 | </summary> |
1239 | <returns>javascript for closing a dialog.</returns> | ||
1240 | <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/> | ||
1395 | </member> | 1241 | </member> |
1396 | <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 1242 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> |
1397 | <summary> | 1243 | <summary> |
1398 | Contains C# code that will be rendered into the view. | 1244 | Creates a new modal dialog window |
1399 | </summary> | 1245 | </summary> |
1400 | <param name="parent">Parent node</param> | 1246 | <param name="url">url to open in window.</param> |
1247 | <param name="title">window title (may not be supported by all js implementations)</param> | ||
1248 | <param name="options"></param> | ||
1249 | <returns></returns> | ||
1401 | </member> | 1250 | </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@)"> | 1251 | <member name="T:HttpServer.Helpers.Implementations.PrototypeImp"> |
1403 | <summary> | 1252 | <summary> |
1404 | Parse node contents add return a fresh node. | 1253 | PrototypeJS implementation of the javascript functions. |
1405 | </summary> | 1254 | </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> | 1255 | </member> |
1413 | <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.CanHandle(System.String,System.Boolean)"> | 1256 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])"> |
1414 | <summary> | 1257 | <summary> |
1415 | determines if this node can handle the line (by checking the first word); | 1258 | Requests a url through ajax |
1416 | </summary> | 1259 | </summary> |
1417 | <param name="word">Controller char (word)</param> | 1260 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
1418 | <returns>true if text belongs to this node type</returns> | 1261 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> |
1419 | <param name="firstNode">first node on line</param> | 1262 | <returns>a link tag</returns> |
1263 | <remarks>onclick attribute is used by this method.</remarks> | ||
1264 | <example> | ||
1265 | <code> | ||
1266 | // plain text | ||
1267 | JSHelper.AjaxRequest("'/user/show/1'"); | ||
1268 | |||
1269 | // ajax request using this.href | ||
1270 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; | ||
1271 | </code> | ||
1272 | </example> | ||
1420 | </member> | 1273 | </member> |
1421 | <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.ToHtml"> | 1274 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)"> |
1422 | <summary> | 1275 | <summary> |
1423 | Generate HTML for this node (with asp tags for code) | 1276 | Determins if a list of strings contains a specific value |
1424 | </summary> | 1277 | </summary> |
1425 | <returns></returns> | 1278 | <param name="options">options to check in</param> |
1279 | <param name="value">value to find</param> | ||
1280 | <returns>true if value was found</returns> | ||
1281 | <remarks>case insensitive</remarks> | ||
1426 | </member> | 1282 | </member> |
1427 | <member name="M:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 1283 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])"> |
1428 | <summary> | 1284 | <summary> |
1429 | = is placed at the end of a tag definition, after class, id, and attribute declarations. | 1285 | Ajax requests that updates an element with |
1430 | It’s just a shortcut for inserting Ruby code into an element. It works the same as = without a tag: | 1286 | the fetched content |
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> | 1287 | </summary> |
1434 | <param name="inString">True if we are inside the internal stringbuilder</param> | 1288 | <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
1435 | <param name="smallEnough">true if all subnodes fit on one line</param> | 1289 | <param name="targetId">element to update</param> |
1436 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 1290 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> |
1437 | <returns>c# code</returns> | 1291 | <returns>A link tag.</returns> |
1292 | <example> | ||
1293 | <code> | ||
1294 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); | ||
1295 | </code> | ||
1296 | </example> | ||
1438 | </member> | 1297 | </member> |
1439 | <member name="P:HttpServer.Rendering.Haml.Nodes.DisplayCodeNode.IsTextNode"> | 1298 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"> |
1440 | <summary> | 1299 | <summary> |
1441 | Determines if this is a textnode (containg plain text) | 1300 | A link that pop ups a Dialog (overlay div) |
1442 | </summary> | 1301 | </summary> |
1302 | <param name="url">URL to contents of dialog</param> | ||
1303 | <param name="title">link title</param> | ||
1304 | <param name="htmlAttributes">name, value, name, value</param> | ||
1305 | <returns> | ||
1306 | A "a"-tag that popups a dialog when clicked | ||
1307 | </returns> | ||
1308 | <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para> | ||
1309 | And the following JavaScript (load it in application.js): | ||
1310 | <code> | ||
1311 | Event.observe(window, 'load', | ||
1312 | function() { | ||
1313 | document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); | ||
1314 | } | ||
1315 | ); | ||
1316 | </code> | ||
1317 | </remarks> | ||
1318 | <example> | ||
1319 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | ||
1320 | </example> | ||
1443 | </member> | 1321 | </member> |
1444 | <member name="T:HttpServer.Rendering.Haml.Nodes.AttributeNode"> | 1322 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])"> |
1445 | <summary> | 1323 | <summary> |
1446 | Contains HTML attributes. | 1324 | create a modal dialog (usually using DIVs) |
1447 | </summary> | 1325 | </summary> |
1326 | <param name="url">url to fetch</param> | ||
1327 | <param name="title">dialog title</param> | ||
1328 | <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param> | ||
1329 | <returns></returns> | ||
1448 | </member> | 1330 | </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})"> | 1331 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog"> |
1450 | <summary> | 1332 | <summary> |
1451 | Create a new node | 1333 | Close a javascript dialog window/div. |
1452 | </summary> | 1334 | </summary> |
1453 | <param name="parent">parent node</param> | 1335 | <returns>javascript for closing a dialog.</returns> |
1454 | <param name="col">collection of attributes</param> | 1336 | <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/> |
1455 | </member> | 1337 | </member> |
1456 | <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 1338 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])"> |
1457 | <summary> | 1339 | <summary> |
1458 | create an attribute node | 1340 | javascript action that should be added to the "onsubmit" event in the form tag. |
1459 | </summary> | 1341 | </summary> |
1460 | <param name="parent">parent node</param> | 1342 | <param name="options">remember to encapsulate strings in ''</param> |
1343 | <returns></returns> | ||
1344 | <remarks>All javascript option names should end with colon.</remarks> | ||
1345 | <example> | ||
1346 | <code> | ||
1347 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | ||
1348 | </code> | ||
1349 | </example> | ||
1461 | </member> | 1350 | </member> |
1462 | <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.GetAttribute(System.String)"> | 1351 | <member name="T:HttpServer.IHttpRequestParser"> |
1463 | <summary> | 1352 | <summary> |
1464 | Get an attribute | 1353 | Event driven parser used to parse incoming HTTP requests. |
1465 | </summary> | 1354 | </summary> |
1466 | <param name="name">name of the attribute (case sensitive)</param> | 1355 | <remarks> |
1467 | <returns>attribute if found; otherwise null.</returns> | 1356 | The parser supports partial messages and keeps the states between |
1357 | each parsed buffer. It's therefore important that the parser gets | ||
1358 | <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects. | ||
1359 | </remarks> | ||
1468 | </member> | 1360 | </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@)"> | 1361 | <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> |
1470 | <summary> | 1362 | <summary> |
1471 | Parse node contents add return a fresh node. | 1363 | Parse partial or complete message. |
1472 | </summary> | 1364 | </summary> |
1473 | <param name="prototypes">List containing all node types</param> | 1365 | <param name="buffer">buffer containing incoming bytes</param> |
1474 | <param name="parent">Node that this is a subnode to. Can be null</param> | 1366 | <param name="offset">where in buffer that parsing should start</param> |
1475 | <param name="line">Line to parse</param> | 1367 | <param name="count">number of bytes to parse</param> |
1476 | <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param> | 1368 | <returns>Unparsed bytes left in buffer.</returns> |
1477 | <returns>A node corresponding to the bla bla; null if parsing failed.</returns> | 1369 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> |
1478 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception> | ||
1479 | </member> | 1370 | </member> |
1480 | <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.CanHandle(System.String,System.Boolean)"> | 1371 | <member name="M:HttpServer.IHttpRequestParser.Clear"> |
1481 | <summary> | 1372 | <summary> |
1482 | determines if this node can handle the line (by checking the first word); | 1373 | Clear parser state. |
1483 | </summary> | 1374 | </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> | 1375 | </member> |
1488 | <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.ToHtml"> | 1376 | <member name="P:HttpServer.IHttpRequestParser.CurrentState"> |
1489 | <summary> | 1377 | <summary> |
1490 | Convert node to HTML (with ASP-tags) | 1378 | Current state in parser. |
1491 | </summary> | 1379 | </summary> |
1492 | <returns>HTML string</returns> | ||
1493 | </member> | 1380 | </member> |
1494 | <member name="M:HttpServer.Rendering.Haml.Nodes.AttributeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 1381 | <member name="E:HttpServer.IHttpRequestParser.RequestCompleted"> |
1495 | <summary> | 1382 | <summary> |
1496 | Convert the node to c# code | 1383 | A request have been successfully parsed. |
1497 | </summary> | 1384 | </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> | 1385 | </member> |
1503 | <member name="P:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attributes"> | 1386 | <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived"> |
1504 | <summary> | 1387 | <summary> |
1505 | html attributes | 1388 | More body bytes have been received. |
1506 | </summary> | 1389 | </summary> |
1507 | </member> | 1390 | </member> |
1508 | <member name="T:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute"> | 1391 | <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived"> |
1509 | <summary> | 1392 | <summary> |
1510 | A attribute | 1393 | Request line have been received. |
1511 | </summary> | 1394 | </summary> |
1512 | </member> | 1395 | </member> |
1513 | <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Simple"> | 1396 | <member name="E:HttpServer.IHttpRequestParser.HeaderReceived"> |
1514 | <summary> | 1397 | <summary> |
1515 | value is a simple word or quoted text | 1398 | A header have been received. |
1516 | </summary> | 1399 | </summary> |
1517 | </member> | 1400 | </member> |
1518 | <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Name"> | 1401 | <member name="P:HttpServer.IHttpRequestParser.LogWriter"> |
1519 | <summary> | 1402 | <summary> |
1520 | Name of the attribute | 1403 | Gets or sets the log writer. |
1521 | </summary> | 1404 | </summary> |
1522 | </member> | 1405 | </member> |
1523 | <member name="F:HttpServer.Rendering.Haml.Nodes.AttributeNode.Attribute.Value"> | 1406 | <member name="T:HttpServer.RequestParserState"> |
1524 | <summary> | 1407 | <summary> |
1525 | Value, can be a statement, variable or quoted text. | 1408 | Current state in the parsing. |
1526 | </summary> | 1409 | </summary> |
1527 | </member> | 1410 | </member> |
1528 | <member name="T:HttpServer.Rendering.TemplateArguments"> | 1411 | <member name="F:HttpServer.RequestParserState.FirstLine"> |
1529 | <summary> | 1412 | <summary> |
1530 | Arguments being used in a template. | 1413 | Should parse the request line |
1531 | </summary> | 1414 | </summary> |
1532 | <seealso cref="T:HttpServer.Rendering.TemplateManager"/> | ||
1533 | <seealso cref="T:HttpServer.Rendering.ITinyTemplate"/> | ||
1534 | </member> | 1415 | </member> |
1535 | <member name="F:HttpServer.Rendering.TemplateArguments._arguments"> | 1416 | <member name="F:HttpServer.RequestParserState.HeaderName"> |
1536 | <summary> | 1417 | <summary> |
1537 | Holds the arguments connected to their names for quick access. | 1418 | Searching for a complete header name |
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> | 1419 | </summary> |
1541 | </member> | 1420 | </member> |
1542 | <member name="M:HttpServer.Rendering.TemplateArguments.#ctor"> | 1421 | <member name="F:HttpServer.RequestParserState.AfterName"> |
1543 | <summary> | 1422 | <summary> |
1544 | Initializes the class without any set arguments. | 1423 | Searching for colon after header name (ignoring white spaces) |
1545 | </summary> | 1424 | </summary> |
1546 | </member> | 1425 | </member> |
1547 | <member name="M:HttpServer.Rendering.TemplateArguments.#ctor(HttpServer.Rendering.TemplateArguments)"> | 1426 | <member name="F:HttpServer.RequestParserState.Between"> |
1548 | <summary> | 1427 | <summary> |
1549 | Initializes the class with all the arguments of the parameter class. | 1428 | Searching for start of header value (ignoring white spaces) |
1550 | </summary> | 1429 | </summary> |
1551 | <param name="arguments">Cannot be null</param> | ||
1552 | <exception cref="T:System.ArgumentNullException">If arguments is null</exception> | ||
1553 | </member> | 1430 | </member> |
1554 | <member name="M:HttpServer.Rendering.TemplateArguments.#ctor(System.Object[])"> | 1431 | <member name="F:HttpServer.RequestParserState.HeaderValue"> |
1555 | <summary> | 1432 | <summary> |
1556 | Initializes the class with the objects in the parameterlist. | 1433 | Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) |
1557 | Note that each object that is null must be followed by a type. | ||
1558 | </summary> | 1434 | </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> | 1435 | </member> |
1565 | <member name="M:HttpServer.Rendering.TemplateArguments.Update(HttpServer.Rendering.TemplateArguments)"> | 1436 | <member name="F:HttpServer.RequestParserState.Body"> |
1566 | <summary> | 1437 | <summary> |
1567 | A function that merges two argument holders updating and adding values | 1438 | Adding bytes to body |
1568 | </summary> | 1439 | </summary> |
1569 | <param name="arguments"></param> | ||
1570 | <exception cref="T:System.ArgumentNullException">If arguments is null</exception> | ||
1571 | </member> | 1440 | </member> |
1572 | <member name="M:HttpServer.Rendering.TemplateArguments.Finalize"> | 1441 | <member name="T:HttpServer.IHttpRequest"> |
1573 | <summary> | 1442 | <summary> |
1574 | Clears added arguments | 1443 | Contains server side HTTP request information. |
1575 | </summary> | 1444 | </summary> |
1576 | </member> | 1445 | </member> |
1577 | <member name="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object)"> | 1446 | <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)"> |
1578 | <summary> | 1447 | <summary> |
1579 | Adds an argument. | 1448 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
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> | 1449 | </summary> |
1583 | <param name="argumentName">Cannot be null</param> | 1450 | <param name="name">Name of the header, should not be URL encoded</param> |
1584 | <param name="argumentObject">Cannot be null</param> | 1451 | <param name="value">Value of the header, should not be URL encoded</param> |
1585 | <exception cref="T:System.NullReferenceException">If argumentName or argumentObject is null</exception> | 1452 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> |
1586 | <exception cref="T:System.ArgumentException">If an argument named argumentName already exists</exception> | ||
1587 | </member> | 1453 | </member> |
1588 | <member name="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object,System.Type)"> | 1454 | <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
1589 | <summary> | 1455 | <summary> |
1590 | Adds an argument. Allows for argumentObject to be null | 1456 | Add bytes to the body |
1591 | (Will throw ArgumentException <see cref="M:HttpServer.Rendering.TemplateArguments.Add(System.String,System.Object)"/> | ||
1592 | </summary> | 1457 | </summary> |
1593 | <param name="argumentName">Cannot be null</param> | 1458 | <param name="bytes">buffer to read bytes from</param> |
1594 | <param name="argumentObject"></param> | 1459 | <param name="offset">where to start read</param> |
1595 | <param name="argumentType">Cannot be null</param> | 1460 | <param name="length">number of bytes to read</param> |
1596 | <exception cref="T:System.NullReferenceException">If argumentName or argumentType is null</exception> | 1461 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> |
1597 | <exception cref="T:System.ArgumentException">If an argument named argumentName already exists or argumentObject != null and typeof(argumentObject) differs from argumentType</exception> | 1462 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> |
1463 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | ||
1464 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | ||
1598 | </member> | 1465 | </member> |
1599 | <member name="M:HttpServer.Rendering.TemplateArguments.Update(System.String,System.Object)"> | 1466 | <member name="M:HttpServer.IHttpRequest.Clear"> |
1600 | <summary> | 1467 | <summary> |
1601 | Updates an already added argument | 1468 | Clear everything in the request |
1602 | </summary> | 1469 | </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> | 1470 | </member> |
1608 | <member name="M:HttpServer.Rendering.TemplateArguments.Update(System.String,System.Object,System.Type)"> | 1471 | <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
1609 | <summary> | 1472 | <summary> |
1610 | Updates an already added argument, allows for argumentObject to be null | 1473 | Decode body into a form. |
1611 | </summary> | 1474 | </summary> |
1612 | <param name="argumentName">Cannot be null</param> | 1475 | <param name="providers">A list with form decoders.</param> |
1613 | <param name="argumentObject"></param> | 1476 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> |
1614 | <param name="argumentType">Cannot be null</param> | 1477 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> |
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> | 1478 | </member> |
1618 | <member name="M:HttpServer.Rendering.TemplateArguments.Clear"> | 1479 | <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)"> |
1619 | <summary> | 1480 | <summary> |
1620 | Clears all added arguments | 1481 | Sets the cookies. |
1621 | </summary> | 1482 | </summary> |
1483 | <param name="cookies">The cookies.</param> | ||
1622 | </member> | 1484 | </member> |
1623 | <member name="M:HttpServer.Rendering.TemplateArguments.GetArguments"> | 1485 | <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
1624 | <summary> | 1486 | <summary> |
1625 | Retrieves the arguments | 1487 | Create a response object. |
1626 | (Does so now by copying the values to a new array, could be optimized?) | ||
1627 | </summary> | 1488 | </summary> |
1628 | <returns>An array containing arguments with name, object and type</returns> | 1489 | <param name="context">Context for the connected client.</param> |
1490 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | ||
1629 | </member> | 1491 | </member> |
1630 | <member name="M:HttpServer.Rendering.TemplateArguments.GetHashCode"> | 1492 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> |
1631 | <summary> | 1493 | <summary> |
1632 | Returns a individual hashcode built upon the specified types the class is holding | 1494 | Gets kind of types accepted by the client. |
1633 | </summary> | 1495 | </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> | 1496 | </member> |
1637 | <member name="M:HttpServer.Rendering.TemplateArguments.GetFullTypeName(System.Type)"> | 1497 | <member name="P:HttpServer.IHttpRequest.Body"> |
1638 | <summary> | 1498 | <summary> |
1639 | Retrieves a concated typename ie DictinaryInt32String | 1499 | Gets or sets body stream. |
1640 | </summary> | 1500 | </summary> |
1641 | <param name="type">The type to retrieve the name for</param> | ||
1642 | </member> | 1501 | </member> |
1643 | <member name="M:HttpServer.Rendering.TemplateArguments.Contains(System.String)"> | 1502 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> |
1644 | <summary> | 1503 | <summary> |
1645 | Checks whether a specific argument is specified or not. | 1504 | Gets whether the body is complete. |
1646 | </summary> | 1505 | </summary> |
1647 | <param name="name">Argument name</param> | ||
1648 | <returns>true if argument is specified; otherwise false.</returns> | ||
1649 | </member> | 1506 | </member> |
1650 | <member name="P:HttpServer.Rendering.TemplateArguments.Item(System.String)"> | 1507 | <member name="P:HttpServer.IHttpRequest.Connection"> |
1651 | <summary> | 1508 | <summary> |
1652 | Function to make it possible to index out known arguments | 1509 | Gets or sets kind of connection used for the session. |
1653 | </summary> | 1510 | </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> | 1511 | </member> |
1657 | <member name="T:HttpServer.Rendering.ArgumentContainer"> | 1512 | <member name="P:HttpServer.IHttpRequest.ContentLength"> |
1658 | <summary> | 1513 | <summary> |
1659 | A container class grouping mapping name, argument type and the argument object | 1514 | Gets or sets number of bytes in the body. |
1660 | </summary> | 1515 | </summary> |
1661 | </member> | 1516 | </member> |
1662 | <member name="F:HttpServer.Rendering.ArgumentContainer._argumentName"> | 1517 | <member name="P:HttpServer.IHttpRequest.Cookies"> |
1663 | <summary> | 1518 | <summary> |
1664 | Contains the name mapped to the argument | 1519 | Gets cookies that was sent with the request. |
1665 | </summary> | 1520 | </summary> |
1666 | </member> | 1521 | </member> |
1667 | <member name="F:HttpServer.Rendering.ArgumentContainer._argumentType"> | 1522 | <member name="P:HttpServer.IHttpRequest.Form"> |
1668 | <summary> | 1523 | <summary> |
1669 | Contains the type of the argument, this must be valid if _argumentObject is null | 1524 | Gets form parameters. |
1670 | </summary> | 1525 | </summary> |
1671 | </member> | 1526 | </member> |
1672 | <member name="F:HttpServer.Rendering.ArgumentContainer._argumentObject"> | 1527 | <member name="P:HttpServer.IHttpRequest.Headers"> |
1673 | <summary> | 1528 | <summary> |
1674 | Holds the actual object | 1529 | Gets headers sent by the client. |
1675 | </summary> | 1530 | </summary> |
1676 | </member> | 1531 | </member> |
1677 | <member name="M:HttpServer.Rendering.ArgumentContainer.#ctor(System.String,System.Object)"> | 1532 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> |
1678 | <summary> | 1533 | <summary> |
1679 | Constructor to initiate an ArgumentContainer, will set the ArgumentType to the value of the argumentObject's type | 1534 | Gets or sets version of HTTP protocol that's used. |
1680 | </summary> | 1535 | </summary> |
1681 | <param name="argumentName">Cannot be null</param> | 1536 | <remarks> |
1682 | <param name="argumentObject">Cannot be null</param> | 1537 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. |
1683 | <exception cref="T:System.ArgumentNullException">If argumentName or argumentObject is null</exception> | 1538 | </remarks> |
1539 | <seealso cref="T:HttpServer.HttpHelper"/> | ||
1684 | </member> | 1540 | </member> |
1685 | <member name="M:HttpServer.Rendering.ArgumentContainer.#ctor(System.String,System.Object,System.Type)"> | 1541 | <member name="P:HttpServer.IHttpRequest.IsAjax"> |
1686 | <summary> | 1542 | <summary> |
1687 | Alternative constructor allowing argumentObject parameter to be null | 1543 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
1688 | </summary> | 1544 | </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> | 1545 | </member> |
1695 | <member name="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object)"> | 1546 | <member name="P:HttpServer.IHttpRequest.Method"> |
1696 | <summary> | 1547 | <summary> |
1697 | Sets the object and type of the argument, equal to ArgumentContainer.Object = ... | 1548 | Gets or sets requested method. |
1698 | </summary> | 1549 | </summary> |
1699 | <param name="argumentObject">Cannot be null</param> | 1550 | <remarks> |
1700 | <exception cref="T:System.ArgumentNullException">If argumentObject is null</exception> | 1551 | Will always be in upper case. |
1552 | </remarks> | ||
1553 | <see cref="P:HttpServer.IHttpRequest.Method"/> | ||
1701 | </member> | 1554 | </member> |
1702 | <member name="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object,System.Type)"> | 1555 | <member name="P:HttpServer.IHttpRequest.Param"> |
1703 | <summary> | 1556 | <summary> |
1704 | Sets the argument object and type. Type of the object and argumentType must correspond. | 1557 | Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>. |
1705 | </summary> | 1558 | </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> | 1559 | </member> |
1711 | <member name="P:HttpServer.Rendering.ArgumentContainer.Name"> | 1560 | <member name="P:HttpServer.IHttpRequest.QueryString"> |
1712 | <summary> | 1561 | <summary> |
1713 | Attribute for retrieving the name. The name cannot be set however because an argument is defined by its name | 1562 | Gets variables sent in the query string |
1714 | changing the name would be changing the arguments meaning, thus an argument needing a name change should rather | ||
1715 | be recreated | ||
1716 | </summary> | 1563 | </summary> |
1717 | </member> | 1564 | </member> |
1718 | <member name="P:HttpServer.Rendering.ArgumentContainer.Type"> | 1565 | <member name="P:HttpServer.IHttpRequest.Uri"> |
1719 | <summary> | 1566 | <summary> |
1720 | Returns the type of the argument object. The property cannot be set since the type depends on and must correspond to | 1567 | Gets or sets requested URI. |
1721 | the type of the object | ||
1722 | </summary> | 1568 | </summary> |
1723 | </member> | 1569 | </member> |
1724 | <member name="P:HttpServer.Rendering.ArgumentContainer.Object"> | 1570 | <member name="P:HttpServer.IHttpRequest.UriParts"> |
1725 | <summary> | 1571 | <summary> |
1726 | Returns or changes the argument object. If the object is to be changed to null the type must be passed aswell, | 1572 | Gets URI absolute path divided into parts. |
1727 | in that case <see cref="M:HttpServer.Rendering.ArgumentContainer.SetObject(System.Object,System.Type)"/> | ||
1728 | </summary> | 1573 | </summary> |
1729 | <exception cref="T:System.ArgumentNullException">If set value is null</exception> | 1574 | <example> |
1575 | // URI is: http://gauffin.com/code/tiny/ | ||
1576 | Console.WriteLine(request.UriParts[0]); // result: code | ||
1577 | Console.WriteLine(request.UriParts[1]); // result: tiny | ||
1578 | </example> | ||
1579 | <remarks> | ||
1580 | If you're using controllers than the first part is controller name, | ||
1581 | the second part is method name and the third part is Id property. | ||
1582 | </remarks> | ||
1583 | <seealso cref="P:HttpServer.IHttpRequest.Uri"/> | ||
1730 | </member> | 1584 | </member> |
1731 | <member name="T:HttpServer.Rendering.Haml.Nodes.PartialNode"> | 1585 | <member name="P:HttpServer.IHttpRequest.UriPath"> |
1732 | <summary> | 1586 | <summary> |
1733 | A partial is a HAML template that is inserted into other HAML templates. | 1587 | Gets or sets path and query. |
1734 | </summary> | 1588 | </summary> |
1589 | <see cref="P:HttpServer.IHttpRequest.Uri"/> | ||
1590 | <remarks> | ||
1591 | Are only used during request parsing. Cannot be set after "Host" header have been | ||
1592 | added. | ||
1593 | </remarks> | ||
1735 | </member> | 1594 | </member> |
1736 | <member name="F:HttpServer.Rendering.Haml.Nodes.PartialNode._target"> | 1595 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> |
1737 | <summary> | 1596 | <summary> |
1738 | Contains the page/controller target for the partial. | 1597 | Delegate used to let authentication modules authenticate the user name and password. |
1739 | The PartialNode should be written as follows: | ||
1740 | ex. | ||
1741 | |||
1742 | _"requestedpage"{parametername="parametervalue",parametername2=parameter2,parametername3=parameter3:typeof(parameter3type)} | ||
1743 | </summary> | 1598 | </summary> |
1599 | <param name="realm">Realm that the user want to authenticate in</param> | ||
1600 | <param name="userName">User name specified by client</param> | ||
1601 | <param name="token">Can either be user password or implementation specific token.</param> | ||
1602 | <param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"/> if authentication was successful.</param> | ||
1603 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> | ||
1604 | <remarks> | ||
1605 | <para> | ||
1606 | Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated | ||
1607 | string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); | ||
1608 | </para> | ||
1609 | </remarks> | ||
1744 | </member> | 1610 | </member> |
1745 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 1611 | <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler"> |
1746 | <summary> | 1612 | <summary> |
1747 | create a new partial node. | 1613 | Let's you decide on a system level if authentication is required. |
1748 | </summary> | 1614 | </summary> |
1749 | <param name="parent">parent node</param> | 1615 | <param name="request">HTTP request from client</param> |
1616 | <returns>true if user should be authenticated.</returns> | ||
1617 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks> | ||
1618 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | ||
1750 | </member> | 1619 | </member> |
1751 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.CanHandle(System.String,System.Boolean)"> | 1620 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> |
1752 | <summary> | 1621 | <summary> |
1753 | Determines if this node can handle the line (by checking the first word); | 1622 | Serves files that are stored in embedded resources. |
1754 | </summary> | 1623 | </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> | 1624 | </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@)"> | 1625 | <member name="T:HttpServer.HttpModules.HttpModule"> |
1760 | <summary> | 1626 | <summary> |
1761 | Parse node contents add return a fresh node. | 1627 | A HttpModule can be used to serve Uri's. The module itself |
1628 | decides if it should serve a Uri or not. In this way, you can | ||
1629 | get a very flexible http application since you can let multiple modules | ||
1630 | serve almost similar urls. | ||
1762 | </summary> | 1631 | </summary> |
1763 | <param name="parent">Node that this is a subnode to. Can be null</param> | 1632 | <remarks> |
1764 | <param name="prototypes">A list with node types</param> | 1633 | Throw <see cref="T:HttpServer.Exceptions.UnauthorizedException"/> if you are using a <see cref="T:HttpServer.Authentication.AuthenticationModule"/> and want to prompt for user name/password. |
1765 | <param name="line">Line to parse</param> | 1634 | </remarks> |
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> | 1635 | </member> |
1770 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 1636 | <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
1771 | <summary> | 1637 | <summary> |
1772 | Convert the node to c# code | 1638 | Method that process the url |
1773 | </summary> | 1639 | </summary> |
1774 | <param name="inString">True if we are inside the internal stringbuilder</param> | 1640 | <param name="request">Information sent by the browser about the request</param> |
1775 | <param name="smallEnough">true if all subnodes fit on one line</param> | 1641 | <param name="response">Information that is being sent back to the client.</param> |
1776 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 1642 | <param name="session">Session used to </param> |
1777 | <returns>c# code</returns> | 1643 | <returns>true if this module handled the request.</returns> |
1778 | </member> | 1644 | </member> |
1779 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ToHtml"> | 1645 | <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)"> |
1780 | <summary> | 1646 | <summary> |
1781 | Convert node to HTML (with ASP-tags) | 1647 | Set the log writer to use. |
1782 | </summary> | 1648 | </summary> |
1783 | <returns>HTML string</returns> | 1649 | <param name="writer">logwriter to use.</param> |
1784 | </member> | 1650 | </member> |
1785 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.GetCode"> | 1651 | <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)"> |
1786 | <summary> | 1652 | <summary> |
1787 | Helper function to retrieve the code for the partial request | 1653 | Log something. |
1788 | </summary> | 1654 | </summary> |
1789 | <returns>A string representing the code for invocating a render of the partial</returns> | 1655 | <param name="prio">importance of log message</param> |
1656 | <param name="message">message</param> | ||
1790 | </member> | 1657 | </member> |
1791 | <member name="M:HttpServer.Rendering.Haml.Nodes.PartialNode.ThrowError(System.String)"> | 1658 | <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing"> |
1792 | <summary> | 1659 | <summary> |
1793 | Throw an exception with predefined information | 1660 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules |
1661 | can continue processing afterwards. Default is false. | ||
1794 | </summary> | 1662 | </summary> |
1795 | <param name="reason">why the exception was thrown</param> | ||
1796 | </member> | 1663 | </member> |
1797 | <member name="P:HttpServer.Rendering.Haml.Nodes.PartialNode.IsTextNode"> | 1664 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> |
1798 | <summary> | 1665 | <summary> |
1799 | This is a plain text node | 1666 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
1667 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
1668 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
1800 | </summary> | 1669 | </summary> |
1801 | </member> | 1670 | </member> |
1802 | <member name="P:HttpServer.Rendering.Haml.Nodes.PartialNode.Target"> | 1671 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)"> |
1803 | <summary> | 1672 | <summary> |
1804 | Returns the page/controller target for the node | 1673 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
1674 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | ||
1675 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | ||
1805 | </summary> | 1676 | </summary> |
1677 | <param name="logWriter">The log writer to use when logging events</param> | ||
1806 | </member> | 1678 | </member> |
1807 | <member name="T:HttpServer.Rendering.ResourceTemplateLoader"> | 1679 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> |
1808 | <summary> | 1680 | <summary> |
1809 | Loads templates from embedded resources. | 1681 | Mimtypes that this class can handle per default |
1810 | </summary> | 1682 | </summary> |
1811 | </member> | 1683 | </member> |
1812 | <member name="M:HttpServer.Rendering.ResourceTemplateLoader.LoadTemplates(System.String,System.Reflection.Assembly,System.String)"> | 1684 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> |
1813 | <summary> | 1685 | <summary> |
1814 | Loads templates from a namespace in the given assembly to an uri | 1686 | Loads resources from a namespace in the given assembly to an uri |
1815 | </summary> | 1687 | </summary> |
1816 | <param name="toUri">The uri to map the resources to</param> | 1688 | <param name="toUri">The uri to map the resources to</param> |
1817 | <param name="fromAssembly">The assembly in which the resources reside</param> | 1689 | <param name="fromAssembly">The assembly in which the resources reside</param> |
@@ -1819,136 +1691,107 @@ | |||
1819 | <usage> | 1691 | <usage> |
1820 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | 1692 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); |
1821 | 1693 | ||
1822 | will make ie the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ | 1694 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css |
1823 | </usage> | 1695 | </usage> |
1696 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | ||
1824 | </member> | 1697 | </member> |
1825 | <member name="M:HttpServer.Rendering.ResourceTemplateLoader.LoadTemplate(System.String)"> | 1698 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> |
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> | 1699 | <summary> |
1866 | Very detailed logs to be able to follow the flow of the program. | 1700 | Returns true if the module can handle the request |
1867 | </summary> | 1701 | </summary> |
1868 | </member> | 1702 | </member> |
1869 | <member name="F:HttpServer.LogPrio.Debug"> | 1703 | <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
1870 | <summary> | 1704 | <summary> |
1871 | Logs to help debug errors in the application | 1705 | Method that process the url |
1872 | </summary> | 1706 | </summary> |
1707 | <param name="request">Information sent by the browser about the request</param> | ||
1708 | <param name="response">Information that is being sent back to the client.</param> | ||
1709 | <param name="session">Session used to </param> | ||
1710 | <returns>true if this module handled the request.</returns> | ||
1873 | </member> | 1711 | </member> |
1874 | <member name="F:HttpServer.LogPrio.Info"> | 1712 | <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"> |
1875 | <summary> | 1713 | <summary> |
1876 | Information to be able to keep track of state changes etc. | 1714 | List with all mime-type that are allowed. |
1877 | </summary> | 1715 | </summary> |
1716 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | ||
1878 | </member> | 1717 | </member> |
1879 | <member name="F:HttpServer.LogPrio.Warning"> | 1718 | <member name="T:HttpServer.HttpModules.FileModule"> |
1880 | <summary> | 1719 | <summary> |
1881 | Something did not go as we expected, but it's no problem. | 1720 | The purpose of this module is to serve files. |
1882 | </summary> | 1721 | </summary> |
1883 | </member> | 1722 | </member> |
1884 | <member name="F:HttpServer.LogPrio.Error"> | 1723 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)"> |
1885 | <summary> | 1724 | <summary> |
1886 | Something that should not fail failed, but we can still keep | 1725 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. |
1887 | on going. | ||
1888 | </summary> | 1726 | </summary> |
1727 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | ||
1728 | <param name="basePath">Path on hard drive where we should start looking for files</param> | ||
1729 | <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param> | ||
1889 | </member> | 1730 | </member> |
1890 | <member name="F:HttpServer.LogPrio.Fatal"> | 1731 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)"> |
1891 | <summary> | 1732 | <summary> |
1892 | Something failed, and we cannot handle it properly. | 1733 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. |
1893 | </summary> | 1734 | </summary> |
1735 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | ||
1736 | <param name="basePath">Path on hard drive where we should start looking for files</param> | ||
1894 | </member> | 1737 | </member> |
1895 | <member name="T:HttpServer.ILogWriter"> | 1738 | <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes"> |
1896 | <summary> | 1739 | <summary> |
1897 | Interface used to write to log files. | 1740 | Mimtypes that this class can handle per default |
1898 | </summary> | 1741 | </summary> |
1899 | </member> | 1742 | </member> |
1900 | <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 1743 | <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)"> |
1901 | <summary> | 1744 | <summary> |
1902 | Write an entry to the log file. | 1745 | Determines if the request should be handled by this module. |
1746 | Invoked by the <see cref="T:HttpServer.HttpServer"/> | ||
1903 | </summary> | 1747 | </summary> |
1904 | <param name="source">object that is writing to the log</param> | 1748 | <param name="uri"></param> |
1905 | <param name="priority">importance of the log message</param> | 1749 | <returns>true if this module should handle it.</returns> |
1906 | <param name="message">the message</param> | ||
1907 | </member> | 1750 | </member> |
1908 | <member name="T:HttpServer.ConsoleLogWriter"> | 1751 | <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)"> |
1909 | <summary> | 1752 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception> |
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> | 1753 | </member> |
1914 | <member name="F:HttpServer.ConsoleLogWriter.Instance"> | 1754 | <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})"> |
1915 | <summary> | 1755 | <summary> |
1916 | The actual instance of this class. | 1756 | check if source contains any of the chars. |
1917 | </summary> | 1757 | </summary> |
1758 | <param name="source"></param> | ||
1759 | <param name="chars"></param> | ||
1760 | <returns></returns> | ||
1918 | </member> | 1761 | </member> |
1919 | <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 1762 | <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
1920 | <summary> | 1763 | <summary> |
1921 | Logwriters the specified source. | 1764 | Method that process the Uri. |
1922 | </summary> | 1765 | </summary> |
1923 | <param name="source">object that wrote the logentry.</param> | 1766 | <param name="request">Information sent by the browser about the request</param> |
1924 | <param name="prio">Importance of the log message</param> | 1767 | <param name="response">Information that is being sent back to the client.</param> |
1925 | <param name="message">The message.</param> | 1768 | <param name="session">Session used to </param> |
1769 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception> | ||
1770 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception> | ||
1926 | </member> | 1771 | </member> |
1927 | <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)"> | 1772 | <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)"> |
1928 | <summary> | 1773 | <summary> |
1929 | Get color for the specified logprio | 1774 | return a file extension from an absolute Uri path (or plain filename) |
1930 | </summary> | 1775 | </summary> |
1931 | <param name="prio">prio for the log entry</param> | 1776 | <param name="uri"></param> |
1932 | <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns> | 1777 | <returns></returns> |
1933 | </member> | 1778 | </member> |
1934 | <member name="T:HttpServer.NullLogWriter"> | 1779 | <member name="P:HttpServer.HttpModules.FileModule.MimeTypes"> |
1935 | <summary> | 1780 | <summary> |
1936 | Default log writer, writes everything to null (nowhere). | 1781 | List with all mime-type that are allowed. |
1937 | </summary> | 1782 | </summary> |
1938 | <seealso cref="T:HttpServer.ILogWriter"/> | 1783 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> |
1939 | </member> | 1784 | </member> |
1940 | <member name="F:HttpServer.NullLogWriter.Instance"> | 1785 | <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars"> |
1941 | <summary> | 1786 | <summary> |
1942 | The logging instance. | 1787 | characters that may not exist in a path. |
1943 | </summary> | 1788 | </summary> |
1789 | <example> | ||
1790 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; | ||
1791 | </example> | ||
1944 | </member> | 1792 | </member> |
1945 | <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 1793 | <member name="T:HttpServer.HttpForm"> |
1946 | <summary> | 1794 | <summary>Container for posted form data</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> | 1795 | </member> |
1953 | <member name="T:HttpServer.HttpInput"> | 1796 | <member name="T:HttpServer.HttpInput"> |
1954 | <summary> | 1797 | <summary> |
@@ -2010,22 +1853,24 @@ | |||
2010 | <member name="M:HttpServer.HttpInput.Add(System.String,System.String)"> | 1853 | <member name="M:HttpServer.HttpInput.Add(System.String,System.String)"> |
2011 | <summary> | 1854 | <summary> |
2012 | Add a new element. Form array elements are parsed | 1855 | Add a new element. Form array elements are parsed |
2013 | and added in a correct hierachy. | 1856 | and added in a correct hierarchy. |
2014 | </summary> | 1857 | </summary> |
2015 | <param name="name">Name is converted to lower case.</param> | 1858 | <param name="name">Name is converted to lower case.</param> |
2016 | <param name="value"></param> | 1859 | <param name="value"></param> |
1860 | <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception> | ||
1861 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
2017 | </member> | 1862 | </member> |
2018 | <member name="M:HttpServer.HttpInput.Contains(System.String)"> | 1863 | <member name="M:HttpServer.HttpInput.Contains(System.String)"> |
2019 | <summary> | 1864 | <summary> |
2020 | Returns true if the class contains a HttpInput value with the corresponding name | 1865 | Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name. |
2021 | </summary> | 1866 | </summary> |
2022 | <param name="name">The field/querystring name</param> | 1867 | <param name="name">The field/query string name</param> |
2023 | <returns>True if the value exists</returns> | 1868 | <returns>True if the value exists</returns> |
2024 | </member> | 1869 | </member> |
2025 | <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)"> | 1870 | <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)"> |
2026 | <summary> | 1871 | <summary> |
2027 | Parses an item and returns it. | 1872 | Parses an item and returns it. |
2028 | This function is primarly used to parse array items as in user[name]. | 1873 | This function is primarily used to parse array items as in user[name]. |
2029 | </summary> | 1874 | </summary> |
2030 | <param name="name"></param> | 1875 | <param name="name"></param> |
2031 | <param name="value"></param> | 1876 | <param name="value"></param> |
@@ -2087,492 +1932,292 @@ | |||
2087 | Get a form item. | 1932 | Get a form item. |
2088 | </summary> | 1933 | </summary> |
2089 | <param name="name"></param> | 1934 | <param name="name"></param> |
2090 | <returns>Returns HttpInputItem.Empty if item was not found.</returns> | 1935 | <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns> |
2091 | </member> | 1936 | </member> |
2092 | <member name="T:HttpServer.HttpParam"> | 1937 | <member name="F:HttpServer.HttpForm.EmptyForm"> |
2093 | <summary> | 1938 | <summary>Instance to help mark a non-initialized form</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> | 1939 | </member> |
2181 | <member name="P:HttpServer.HttpFile.Name"> | 1940 | <member name="M:HttpServer.HttpForm.#ctor"> |
2182 | <summary> | 1941 | <summary>Initializes a form container with the specified name</summary> |
2183 | The name/id of the file | ||
2184 | </summary> | ||
2185 | </member> | 1942 | </member> |
2186 | <member name="P:HttpServer.HttpFile.Filename"> | 1943 | <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)"> |
2187 | <summary> | 1944 | <summary> |
2188 | The full file path | 1945 | Makes a deep copy of the input |
2189 | </summary> | 1946 | </summary> |
1947 | <param name="input">The input to copy</param> | ||
2190 | </member> | 1948 | </member> |
2191 | <member name="P:HttpServer.HttpFile.UploadFilename"> | 1949 | <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)"> |
2192 | <summary> | 1950 | <summary> |
2193 | The name of the uploaded file | 1951 | Adds a file to the collection of posted files |
2194 | </summary> | 1952 | </summary> |
1953 | <param name="file">The file to add</param> | ||
1954 | <exception cref="T:System.ArgumentException">If the file is already added</exception> | ||
1955 | <exception cref="T:System.ArgumentNullException">If file is null</exception> | ||
1956 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | ||
2195 | </member> | 1957 | </member> |
2196 | <member name="P:HttpServer.HttpFile.ContentType"> | 1958 | <member name="M:HttpServer.HttpForm.ContainsFile(System.String)"> |
2197 | <summary> | 1959 | <summary> |
2198 | The type of file | 1960 | Checks if the form contains a specified file |
2199 | </summary> | 1961 | </summary> |
1962 | <param name="name">Field name of the file parameter</param> | ||
1963 | <returns>True if the file exists</returns> | ||
1964 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | ||
2200 | </member> | 1965 | </member> |
2201 | <member name="T:HttpServer.Helpers.ObjectForm"> | 1966 | <member name="M:HttpServer.HttpForm.GetFile(System.String)"> |
2202 | <summary> | 1967 | <summary> |
2203 | The object form class takes an object and creates form items for it. | 1968 | Retrieves a file held by by the form |
2204 | </summary> | 1969 | </summary> |
1970 | <param name="name">The identifier of the file</param> | ||
1971 | <returns>The requested file or null if the file was not found</returns> | ||
1972 | <exception cref="T:System.ArgumentNullException">If name is null or empty</exception> | ||
1973 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | ||
2205 | </member> | 1974 | </member> |
2206 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> | 1975 | <member name="M:HttpServer.HttpForm.Clear"> |
2207 | <summary> | 1976 | <summary>Disposes all held HttpFile's and resets values</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> | 1977 | </member> |
2215 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> | 1978 | <member name="P:HttpServer.HttpForm.Files"> |
2216 | <summary> | 1979 | <summary> |
2217 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 1980 | Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/> |
2218 | </summary> | 1981 | </summary> |
2219 | <param name="name">form name *and* id.</param> | 1982 | <returns>0 if no files are added</returns> |
2220 | <param name="action">action to do when form is posted.</param> | ||
2221 | <param name="obj">object to get values from</param> | ||
2222 | </member> | 1983 | </member> |
2223 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> | 1984 | <member name="T:HttpServer.Check"> |
2224 | <summary> | 1985 | <summary> |
2225 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 1986 | Small design by contract implementation. |
2226 | </summary> | 1987 | </summary> |
2227 | <param name="action">form action.</param> | ||
2228 | <param name="obj">object to get values from.</param> | ||
2229 | </member> | 1988 | </member> |
2230 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> | 1989 | <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)"> |
2231 | <summary> | 1990 | <summary> |
2232 | write out the FORM-tag. | 1991 | Check whether a parameter is empty. |
2233 | </summary> | 1992 | </summary> |
2234 | <returns>generated html code</returns> | 1993 | <param name="value">Parameter value</param> |
1994 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | ||
1995 | <exception cref="T:System.ArgumentException">value is empty.</exception> | ||
2235 | </member> | 1996 | </member> |
2236 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> | 1997 | <member name="M:HttpServer.Check.Require(System.Object,System.String)"> |
2237 | <summary> | 1998 | <summary> |
2238 | Writeout the form tag | 1999 | Checks whether a parameter is null. |
2239 | </summary> | 2000 | </summary> |
2240 | <param name="isAjax">form should be posted through ajax.</param> | 2001 | <param name="value">Parameter value</param> |
2241 | <returns>generated html code</returns> | 2002 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
2003 | <exception cref="T:System.ArgumentNullException">value is null.</exception> | ||
2242 | </member> | 2004 | </member> |
2243 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> | 2005 | <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)"> |
2244 | <summary> | 2006 | <summary> |
2245 | Generates a text box. | 2007 | Checks whether a parameter is null. |
2246 | </summary> | 2008 | </summary> |
2247 | <param name="propertyName"></param> | 2009 | <param name="minValue"></param> |
2248 | <param name="options"></param> | 2010 | <param name="value">Parameter value</param> |
2249 | <returns>generated html code</returns> | 2011 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
2012 | <exception cref="T:System.ArgumentException">value is null.</exception> | ||
2250 | </member> | 2013 | </member> |
2251 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> | 2014 | <member name="T:HttpServer.Authentication.BasicAuthentication"> |
2252 | <summary> | 2015 | <summary> |
2253 | password box | 2016 | The "basic" authentication scheme is based on the model that the |
2017 | client must authenticate itself with a user-ID and a password for | ||
2018 | each realm. The realm value should be considered an opaque string | ||
2019 | which can only be compared for equality with other realms on that | ||
2020 | server. The server will service the request only if it can validate | ||
2021 | the user-ID and password for the protection space of the Request-URI. | ||
2022 | There are no optional authentication parameters. | ||
2254 | </summary> | 2023 | </summary> |
2255 | <param name="propertyName"></param> | ||
2256 | <param name="options"></param> | ||
2257 | <returns>generated html code</returns> | ||
2258 | </member> | 2024 | </member> |
2259 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> | 2025 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
2260 | <summary> | 2026 | <summary> |
2261 | Hiddens the specified property name. | 2027 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
2262 | </summary> | 2028 | </summary> |
2263 | <param name="propertyName">Name of the property.</param> | 2029 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
2264 | <param name="options">The options.</param> | 2030 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
2265 | <returns>generated html code</returns> | ||
2266 | </member> | 2031 | </member> |
2267 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> | 2032 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
2268 | <summary> | 2033 | <summary> |
2269 | Labels the specified property name. | 2034 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
2270 | </summary> | 2035 | </summary> |
2271 | <param name="propertyName">property in object.</param> | 2036 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
2272 | <param name="label">caption</param> | ||
2273 | <returns>generated html code</returns> | ||
2274 | </member> | 2037 | </member> |
2275 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> | 2038 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> |
2276 | <summary> | 2039 | <summary> |
2277 | Generate a checkbox | 2040 | Create a response that can be sent in the WWW-Authenticate header. |
2278 | </summary> | 2041 | </summary> |
2279 | <param name="propertyName">property in object</param> | 2042 | <param name="realm">Realm that the user should authenticate in</param> |
2280 | <param name="value">checkbox value</param> | 2043 | <param name="options">Not used in basic auth</param> |
2281 | <param name="options">additional html attributes.</param> | 2044 | <returns>A correct auth request.</returns> |
2282 | <returns>generated html code</returns> | ||
2283 | </member> | 2045 | </member> |
2284 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> | 2046 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
2285 | <summary> | 2047 | <summary> |
2286 | Write a html select tag | 2048 | An authentication response have been received from the web browser. |
2049 | Check if it's correct | ||
2287 | </summary> | 2050 | </summary> |
2288 | <param name="propertyName">object property.</param> | 2051 | <param name="authenticationHeader">Contents from the Authorization header</param> |
2289 | <param name="idColumn">id column</param> | 2052 | <param name="realm">Realm that should be authenticated</param> |
2290 | <param name="titleColumn">The title column.</param> | 2053 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> |
2291 | <param name="options">The options.</param> | 2054 | <param name="options">Not used in basic auth</param> |
2292 | <returns></returns> | 2055 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> |
2056 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | ||
2057 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | ||
2293 | </member> | 2058 | </member> |
2294 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> | 2059 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> |
2295 | <summary> | 2060 | <summary> |
2296 | Selects the specified property name. | 2061 | name used in http request. |
2297 | </summary> | 2062 | </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> | 2063 | </member> |
2305 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> | 2064 | <member name="T:HttpServer.Rules.IRule"> |
2306 | <summary> | 2065 | <summary> |
2307 | Write a submit tag. | 2066 | Rules are used to perform operations before a request is being handled. |
2067 | Rules can be used to create routing etc. | ||
2308 | </summary> | 2068 | </summary> |
2309 | <param name="value">button caption</param> | ||
2310 | <returns>html submit tag</returns> | ||
2311 | </member> | 2069 | </member> |
2312 | <member name="M:HttpServer.Helpers.ObjectForm.End"> | 2070 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
2313 | <summary> | 2071 | <summary> |
2314 | html end form tag | 2072 | Process the incoming request. |
2315 | </summary> | 2073 | </summary> |
2316 | <returns>html</returns> | 2074 | <param name="request">incoming HTTP request</param> |
2075 | <param name="response">outgoing HTTP response</param> | ||
2076 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
2077 | <remarks> | ||
2078 | returning true means that no modules will get the request. Returning true is typically being done | ||
2079 | for redirects. | ||
2080 | </remarks> | ||
2081 | <exception cref="T:System.ArgumentNullException">If request or response is null.</exception> | ||
2317 | </member> | 2082 | </member> |
2318 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> | 2083 | <member name="T:HttpServer.Helpers.GetIdTitle"> |
2319 | <summary> | 2084 | <summary> |
2320 | This provider is used to let us implement any type of form decoding we want without | 2085 | 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. |
2321 | having to rewrite anything else in the server. | ||
2322 | </summary> | 2086 | </summary> |
2323 | </member> | 2087 | <param name="obj">current object (for instance a User).</param> |
2324 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> | 2088 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> |
2325 | <summary> | 2089 | <param name="title">Text shown in the select list.</param> |
2090 | <example> | ||
2091 | // Class that is going to be used in a SELECT-tag. | ||
2092 | public class User | ||
2093 | { | ||
2094 | private readonly string _realName; | ||
2095 | private readonly int _id; | ||
2096 | public User(int id, string realName) | ||
2097 | { | ||
2098 | _id = id; | ||
2099 | _realName = realName; | ||
2100 | } | ||
2101 | public string RealName | ||
2102 | { | ||
2103 | get { return _realName; } | ||
2104 | } | ||
2326 | 2105 | ||
2327 | </summary> | 2106 | public int Id |
2328 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> | 2107 | { |
2329 | <param name="stream">Stream containg form data.</param> | 2108 | get { return _id; } |
2330 | <param name="encoding">Encoding used when decoding the stream</param> | 2109 | } |
2331 | <returns>HttpInput.EmptyLanguageNode if no parser was found. Must always return something (HttpInput.Empty instead of null)</returns> | 2110 | } |
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 | 2111 | ||
2391 | </summary> | 2112 | // Using an inline delegate to generate the select list |
2392 | <param name="parent">parent node</param> | 2113 | public void UserInlineDelegate() |
2393 | <param name="text">plain text</param> | 2114 | { |
2394 | </member> | 2115 | List<User> items = new List<User>(); |
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@)"> | 2116 | items.Add(new User(1, "adam")); |
2396 | <summary> | 2117 | items.Add(new User(2, "bertial")); |
2397 | Parse node contents add return a fresh node. | 2118 | items.Add(new User(3, "david")); |
2398 | </summary> | 2119 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) |
2399 | <param name="prototypes">List containing all node types</param> | 2120 | { |
2400 | <param name="parent">Node that this is a subnode to. Can be null</param> | 2121 | User user = (User)o; |
2401 | <param name="line">Line to parse</param> | 2122 | id = user.Id; |
2402 | <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param> | 2123 | value = user.RealName; |
2403 | <returns>A node corresponding to the bla bla; null if parsing failed.</returns> | 2124 | }, 2, true); |
2404 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception> | 2125 | } |
2405 | </member> | 2126 | |
2406 | <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.CanHandle(System.String,System.Boolean)"> | 2127 | // Using an method as delegate to generate the select list. |
2407 | <summary> | 2128 | public void UseExternalDelegate() |
2408 | determines if this node can handle the line (by checking the first word); | 2129 | { |
2409 | </summary> | 2130 | List<User> items = new List<User>(); |
2410 | <param name="word">Controller char (word)</param> | 2131 | items.Add(new User(1, "adam")); |
2411 | <returns>true if text belongs to this node type</returns> | 2132 | items.Add(new User(2, "bertial")); |
2412 | <param name="firstNode">true if this is the first node on the line.</param> | 2133 | items.Add(new User(3, "david")); |
2413 | </member> | 2134 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); |
2414 | <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.ToHtml"> | 2135 | } |
2415 | <summary> | 2136 | |
2416 | Generate HTML for this node. | 2137 | // delegate returning id and title |
2417 | </summary> | 2138 | public static void UserOptions(object o, out object id, out object title) |
2418 | <returns></returns> | 2139 | { |
2419 | </member> | 2140 | User user = (User)o; |
2420 | <member name="M:HttpServer.Rendering.Haml.Nodes.TextNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 2141 | id = user.Id; |
2421 | <summary> | 2142 | value = user.RealName; |
2422 | Convert the node to c# code | 2143 | } /// </example> |
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> | 2144 | </member> |
2429 | <member name="P:HttpServer.Rendering.Haml.Nodes.TextNode.Text"> | 2145 | <member name="T:HttpServer.RequestCookies"> |
2430 | <summary> | 2146 | <summary> |
2431 | The text. | 2147 | This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). |
2148 | The framework might switch class in the future and we dont want to have to replace all instances | ||
2432 | </summary> | 2149 | </summary> |
2433 | </member> | 2150 | </member> |
2434 | <member name="P:HttpServer.Rendering.Haml.Nodes.TextNode.IsTextNode"> | 2151 | <member name="M:HttpServer.RequestCookies.#ctor(System.String)"> |
2435 | <summary> | 2152 | <summary> |
2436 | Is this a text node (containing plain text)? | 2153 | Let's copy all the cookies. |
2437 | </summary> | 2154 | </summary> |
2155 | <param name="cookies">value from cookie header.</param> | ||
2438 | </member> | 2156 | </member> |
2439 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> | 2157 | <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)"> |
2440 | <summary> | 2158 | <summary> |
2441 | Serves files that are stored in embedded resources. | 2159 | Adds a cookie in the collection. |
2442 | </summary> | 2160 | </summary> |
2161 | <param name="cookie">cookie to add</param> | ||
2162 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | ||
2443 | </member> | 2163 | </member> |
2444 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> | 2164 | <member name="M:HttpServer.RequestCookies.GetEnumerator"> |
2445 | <summary> | 2165 | <summary> |
2446 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. | 2166 | Gets a collection enumerator on the cookie list. |
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> | 2167 | </summary> |
2168 | <returns>collection enumerator</returns> | ||
2450 | </member> | 2169 | </member> |
2451 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> | 2170 | <member name="M:HttpServer.RequestCookies.Clear"> |
2452 | <summary> | 2171 | <summary> |
2453 | Mimtypes that this class can handle per default | 2172 | Remove all cookies. |
2454 | </summary> | 2173 | </summary> |
2455 | </member> | 2174 | </member> |
2456 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> | 2175 | <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator"> |
2457 | <summary> | 2176 | <summary> |
2458 | Loads resources from a namespace in the given assembly to an uri | 2177 | Returns an enumerator that iterates through the collection. |
2459 | </summary> | 2178 | </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 | 2179 | ||
2466 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css | 2180 | <returns> |
2467 | </usage> | 2181 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
2468 | </member> | 2182 | </returns> |
2469 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> | 2183 | <filterpriority>1</filterpriority> |
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> | 2184 | </member> |
2506 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> | 2185 | <member name="M:HttpServer.RequestCookies.Remove(System.String)"> |
2507 | <summary> | 2186 | <summary> |
2508 | Interface for form content decoders. | 2187 | Remove a cookie from the collection. |
2509 | </summary> | 2188 | </summary> |
2189 | <param name="cookieName">Name of cookie.</param> | ||
2510 | </member> | 2190 | </member> |
2511 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 2191 | <member name="P:HttpServer.RequestCookies.Count"> |
2512 | <summary> | 2192 | <summary> |
2513 | 2193 | Gets the count of cookies in the collection. | |
2514 | </summary> | 2194 | </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> | 2195 | </member> |
2521 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> | 2196 | <member name="P:HttpServer.RequestCookies.Item(System.String)"> |
2522 | <summary> | 2197 | <summary> |
2523 | Checks if the decoder can handle the mime type | 2198 | Gets the cookie of a given identifier (null if not existing). |
2524 | </summary> | 2199 | </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> | 2200 | </member> |
2528 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 2201 | <member name="T:HttpServer.Exceptions.BadRequestException"> |
2529 | <summary> | 2202 | <summary> |
2203 | The request could not be understood by the server due to malformed syntax. | ||
2204 | The client SHOULD NOT repeat the request without modifications. | ||
2530 | 2205 | ||
2531 | </summary> | 2206 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php |
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> | 2207 | </summary> |
2559 | </member> | 2208 | </member> |
2560 | <member name="M:HttpServer.Controllers.ControllerNameAttribute.#ctor(System.String)"> | 2209 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> |
2561 | <summary> | 2210 | <summary> |
2562 | Maps a controller to a url without using the controller name. | 2211 | Create a new bad request exception. |
2563 | </summary> | 2212 | </summary> |
2564 | <remarks> | 2213 | <param name="errMsg">reason to why the request was bad.</param> |
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> | 2214 | </member> |
2572 | <member name="P:HttpServer.Controllers.ControllerNameAttribute.Name"> | 2215 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> |
2573 | <summary> | 2216 | <summary> |
2574 | The name that the controller should use | 2217 | Create a new bad request exception. |
2575 | </summary> | 2218 | </summary> |
2219 | <param name="errMsg">reason to why the request was bad.</param> | ||
2220 | <param name="inner">inner exception</param> | ||
2576 | </member> | 2221 | </member> |
2577 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> | 2222 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> |
2578 | <summary> | 2223 | <summary> |
@@ -2641,666 +2286,194 @@ | |||
2641 | </summary> | 2286 | </summary> |
2642 | <value>Default time is 20 minutes.</value> | 2287 | <value>Default time is 20 minutes.</value> |
2643 | </member> | 2288 | </member> |
2644 | <member name="T:HttpServer.HttpListener"> | 2289 | <member name="T:HttpServer.IHttpClientContext"> |
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 = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; | ||
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 "<hello>World<hello>"; | ||
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> | 2290 | <summary> |
2935 | Override this method to be able to process result | 2291 | Contains a connection to a browser/client. |
2936 | returned by controller method. | ||
2937 | </summary> | 2292 | </summary> |
2938 | </member> | 2293 | </member> |
2939 | <member name="M:HttpServer.Controllers.RequestController.OnUnhandledException(System.Exception)"> | 2294 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
2940 | <summary> | 2295 | <summary> |
2941 | Override this method if you want to be able to | 2296 | Disconnect from client |
2942 | handle unhanded exceptions | ||
2943 | </summary> | 2297 | </summary> |
2944 | <param name="err">thrown exception</param> | 2298 | <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</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> | 2299 | </member> |
2949 | <member name="M:HttpServer.Controllers.RequestController.MapMethods"> | 2300 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> |
2950 | <summary> | 2301 | <summary> |
2951 | This method goes through all methods in the controller and | 2302 | Send a response. |
2952 | add's them to a dictionary. They are later used to invoke | ||
2953 | the correct method depending on the url | ||
2954 | </summary> | 2303 | </summary> |
2304 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | ||
2305 | <param name="statusCode">HTTP status code</param> | ||
2306 | <param name="reason">reason for the status code.</param> | ||
2307 | <param name="body">HTML body contents, can be null or empty.</param> | ||
2308 | <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param> | ||
2309 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
2955 | </member> | 2310 | </member> |
2956 | <member name="M:HttpServer.Controllers.RequestController.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 2311 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
2957 | <summary> | 2312 | <summary> |
2958 | Method that process the url | 2313 | Send a response. |
2959 | </summary> | 2314 | </summary> |
2960 | <param name="request">Uses Uri and QueryString to determine method.</param> | 2315 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
2961 | <param name="response">Relays response object to invoked method.</param> | 2316 | <param name="statusCode">HTTP status code</param> |
2962 | <param name="session">Relays session object to invoked method. </param> | 2317 | <param name="reason">reason for the status code.</param> |
2963 | </member> | 2318 | </member> |
2964 | <member name="M:HttpServer.Controllers.RequestController.SetupRequest(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 2319 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> |
2965 | <summary> | 2320 | <summary> |
2966 | Will assign all variables that are unique for each session | 2321 | Send a response. |
2967 | </summary> | 2322 | </summary> |
2968 | <param name="request"></param> | 2323 | <exception cref="T:System.ArgumentNullException"></exception> |
2969 | <param name="response"></param> | ||
2970 | <param name="session"></param> | ||
2971 | </member> | 2324 | </member> |
2972 | <member name="M:HttpServer.Controllers.RequestController.Clone"> | 2325 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> |
2973 | <summary> | 2326 | <summary> |
2974 | Make a clone of this controller | 2327 | send a whole buffer |
2975 | </summary> | 2328 | </summary> |
2976 | <returns>a new controller with the same base information as this one.</returns> | 2329 | <param name="buffer">buffer to send</param> |
2330 | <exception cref="T:System.ArgumentNullException"></exception> | ||
2977 | </member> | 2331 | </member> |
2978 | <member name="P:HttpServer.Controllers.RequestController.AuthenticationTag"> | 2332 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
2979 | <summary> | 2333 | <summary> |
2980 | object that was attached during http authentication process. | 2334 | Send data using the stream |
2981 | </summary> | 2335 | </summary> |
2982 | <remarks> | 2336 | <param name="buffer">Contains data to send</param> |
2983 | You can also assign this tag yourself if you are using regular | 2337 | <param name="offset">Start position in buffer</param> |
2984 | http page login. | 2338 | <param name="size">number of bytes to send</param> |
2985 | </remarks> | 2339 | <exception cref="T:System.ArgumentNullException"></exception> |
2986 | <seealso cref="T:HttpServer.Authentication.AuthModule"/> | 2340 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
2987 | </member> | 2341 | </member> |
2988 | <member name="P:HttpServer.Controllers.RequestController.ControllerName"> | 2342 | <member name="P:HttpServer.IHttpClientContext.Secured"> |
2989 | <summary> | 2343 | <summary> |
2990 | Name of this controller (class name without the "Controller" part) | 2344 | Using SSL or other encryption method. |
2991 | </summary> | 2345 | </summary> |
2992 | </member> | 2346 | </member> |
2993 | <member name="P:HttpServer.Controllers.RequestController.DefaultMethod"> | 2347 | <member name="P:HttpServer.IHttpClientContext.IsSecured"> |
2994 | <summary> | 2348 | <summary> |
2995 | Specifies the method to use if no action have been specified. | 2349 | Using SSL or other encryption method. |
2996 | </summary> | 2350 | </summary> |
2997 | <exception cref="T:System.ArgumentException">If specified method do not exist.</exception> | ||
2998 | </member> | 2351 | </member> |
2999 | <member name="P:HttpServer.Controllers.RequestController.Id"> | 2352 | <member name="E:HttpServer.IHttpClientContext.Disconnected"> |
3000 | <summary> | 2353 | <summary> |
3001 | Id is the third part of the uri path. | 2354 | The context have been disconnected. |
3002 | </summary> | 2355 | </summary> |
3003 | <remarks> | 2356 | <remarks> |
3004 | <para>Is extracted as in: /controllername/methodname/id/ | 2357 | Event can be used to clean up a context, or to reuse it. |
3005 | </para> | ||
3006 | <para>string.Empty if not specified.</para> | ||
3007 | </remarks> | 2358 | </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> | 2359 | </member> |
3026 | <member name="P:HttpServer.Controllers.RequestController.Response"> | 2360 | <member name="E:HttpServer.IHttpClientContext.RequestReceived"> |
3027 | <summary> | 2361 | <summary> |
3028 | Response information (that is going to be sent back to the browser/client) | 2362 | A request have been received in the context. |
3029 | </summary> | 2363 | </summary> |
3030 | </member> | 2364 | </member> |
3031 | <member name="P:HttpServer.Controllers.RequestController.Session"> | 2365 | <member name="T:HttpServer.DisconnectedEventArgs"> |
3032 | <summary> | 2366 | <summary> |
3033 | Session information, is stored between requests as long as the session cookie is valid. | 2367 | A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected. |
3034 | </summary> | 2368 | </summary> |
3035 | </member> | 2369 | </member> |
3036 | <member name="T:HttpServer.Controllers.AuthRequiredAttribute"> | 2370 | <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)"> |
3037 | <summary> | 2371 | <summary> |
3038 | Marks methods to let framework know that the method is protected | 2372 | Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class. |
3039 | </summary> | 2373 | </summary> |
3040 | <seealso cref="T:HttpServer.Controllers.AuthValidatorAttribute"/> | 2374 | <param name="error">Reason to disconnection.</param> |
3041 | <seealso cref="T:HttpServer.Controllers.RequestController"/> | ||
3042 | </member> | 2375 | </member> |
3043 | <member name="M:HttpServer.Controllers.AuthRequiredAttribute.#ctor"> | 2376 | <member name="P:HttpServer.DisconnectedEventArgs.Error"> |
3044 | <summary> | 2377 | <summary> |
3045 | Initializes a new instance of the <see cref="T:HttpServer.Controllers.AuthRequiredAttribute"/> class. | 2378 | Gets reason to why client disconnected. |
3046 | </summary> | 2379 | </summary> |
3047 | </member> | 2380 | </member> |
3048 | <member name="M:HttpServer.Controllers.AuthRequiredAttribute.#ctor(System.Int32)"> | 2381 | <member name="T:HttpServer.RequestEventArgs"> |
3049 | <summary> | 2382 | <summary> |
3050 | 2383 | ||
3051 | </summary> | 2384 | </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> | 2385 | </member> |
3194 | <member name="P:HttpServer.Sessions.MemorySession.Changed"> | 2386 | <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)"> |
3195 | <summary> | 2387 | <summary> |
3196 | Flag to indicate that the session have been changed | 2388 | Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class. |
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> | 2389 | </summary> |
2390 | <param name="request">The request.</param> | ||
3209 | </member> | 2391 | </member> |
3210 | <member name="M:HttpServer.Rendering.Haml.Rules.NewLineRule.IsMultiLine(HttpServer.Rendering.Haml.LineInfo,System.Boolean)"> | 2392 | <member name="P:HttpServer.RequestEventArgs.Request"> |
3211 | <summary> | 2393 | <summary> |
3212 | Determines if this node spans over multiple lines. | 2394 | Gets received request. |
3213 | </summary> | 2395 | </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> | 2396 | </member> |
3218 | <member name="T:HttpServer.Rendering.Haml.Nodes.TagNode"> | 2397 | <member name="T:HttpServer.ResponseCookie"> |
3219 | <summary> | 2398 | <summary> |
3220 | Represents a HTML tag. | 2399 | cookie being sent back to the browser. |
3221 | </summary> | 2400 | </summary> |
2401 | <seealso cref="T:HttpServer.ResponseCookie"/> | ||
3222 | </member> | 2402 | </member> |
3223 | <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.#ctor(HttpServer.Rendering.Haml.Nodes.Node)"> | 2403 | <member name="T:HttpServer.RequestCookie"> |
3224 | <summary> | 2404 | <summary> |
3225 | Create a new HTML tag node. | 2405 | cookie sent by the client/browser |
3226 | </summary> | 2406 | </summary> |
3227 | <param name="parent">parent node</param> | 2407 | <seealso cref="T:HttpServer.ResponseCookie"/> |
3228 | </member> | 2408 | </member> |
3229 | <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.CanHandle(System.String,System.Boolean)"> | 2409 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> |
3230 | <summary> | 2410 | <summary> |
3231 | determines if this node can handle the line (by checking the first word); | 2411 | Constructor. |
3232 | </summary> | 2412 | </summary> |
3233 | <param name="word">Controller char (word)</param> | 2413 | <param name="id">cookie identifier</param> |
3234 | <returns>true if text belongs to this node type</returns> | 2414 | <param name="content">cookie content</param> |
3235 | <param name="firstNode">first node on line.</param> | 2415 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> |
2416 | <exception cref="T:System.ArgumentException">id is empty</exception> | ||
3236 | </member> | 2417 | </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@)"> | 2418 | <member name="M:HttpServer.RequestCookie.ToString"> |
3238 | <summary> | 2419 | <summary> |
3239 | Parse node contents add return a fresh node. | 2420 | Gets the cookie HTML representation. |
3240 | </summary> | 2421 | </summary> |
3241 | <param name="parent">Node that this is a subnode to. Can be null</param> | 2422 | <returns>cookie string</returns> |
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> | 2423 | </member> |
3248 | <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 2424 | <member name="P:HttpServer.RequestCookie.Name"> |
3249 | <summary> | 2425 | <summary> |
3250 | Convert the node to c# code | 2426 | Gets the cookie identifier. |
3251 | </summary> | 2427 | </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> | 2428 | </member> |
3257 | <member name="M:HttpServer.Rendering.Haml.Nodes.TagNode.ToHtml"> | 2429 | <member name="P:HttpServer.RequestCookie.Value"> |
3258 | <summary> | 2430 | <summary> |
3259 | Convert node to HTML (with ASP-tags) | 2431 | Cookie value. Set to null to remove cookie. |
3260 | </summary> | 2432 | </summary> |
3261 | <returns>HTML string</returns> | ||
3262 | </member> | 2433 | </member> |
3263 | <member name="P:HttpServer.Rendering.Haml.Nodes.TagNode.IsTextNode"> | 2434 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> |
3264 | <summary> | 2435 | <summary> |
3265 | This is a plain text node | 2436 | Constructor. |
3266 | </summary> | 2437 | </summary> |
2438 | <param name="id">cookie identifier</param> | ||
2439 | <param name="content">cookie content</param> | ||
2440 | <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param> | ||
2441 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | ||
2442 | <exception cref="T:System.ArgumentException">id is empty</exception> | ||
3267 | </member> | 2443 | </member> |
3268 | <member name="P:HttpServer.Rendering.Haml.Nodes.TagNode.Name"> | 2444 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> |
3269 | <summary> | 2445 | <summary> |
3270 | tag name | 2446 | Create a new cookie |
3271 | </summary> | 2447 | </summary> |
2448 | <param name="name">name identifying the cookie</param> | ||
2449 | <param name="value">cookie value</param> | ||
2450 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> | ||
2451 | <param name="path">Path to where the cookie is valid</param> | ||
2452 | <param name="domain">Domain that the cookie is valid for.</param> | ||
3272 | </member> | 2453 | </member> |
3273 | <member name="T:HttpServer.Rendering.TemplateException"> | 2454 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> |
3274 | <summary> | 2455 | <summary> |
3275 | Thrown when a template cannot be compiled. | 2456 | Create a new cookie |
3276 | </summary> | 2457 | </summary> |
2458 | <param name="cookie">Name and value will be used</param> | ||
2459 | <param name="expires">when the cookie expires.</param> | ||
3277 | </member> | 2460 | </member> |
3278 | <member name="M:HttpServer.Rendering.TemplateException.#ctor(System.String,Fadd.CompilerException)"> | 2461 | <member name="M:HttpServer.ResponseCookie.ToString"> |
3279 | <summary> | 2462 | <summary> |
3280 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.TemplateException"/> class. | 2463 | Gets the cookie HTML representation. |
3281 | </summary> | 2464 | </summary> |
3282 | <param name="templateName">Template that failed compilation.</param> | 2465 | <returns>cookie string</returns> |
3283 | <param name="err">Exception thrown by the compiler.</param> | ||
3284 | </member> | 2466 | </member> |
3285 | <member name="M:HttpServer.Rendering.TemplateException.ToString"> | 2467 | <member name="P:HttpServer.ResponseCookie.Expires"> |
3286 | <summary> | 2468 | <summary> |
3287 | Creates and returns a string representation of the current exception. | 2469 | When the cookie expires. |
2470 | DateTime.MinValue means that the cookie expires when the session do so. | ||
3288 | </summary> | 2471 | </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> | 2472 | </member> |
3296 | <member name="P:HttpServer.Rendering.TemplateException.Message"> | 2473 | <member name="P:HttpServer.ResponseCookie.Path"> |
3297 | <summary> | 2474 | <summary> |
3298 | Gets a message that describes the current exception. | 2475 | Cookie is only valid under this path. |
3299 | </summary> | 2476 | </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> | 2477 | </member> |
3305 | <member name="T:HttpServer.Method"> | 2478 | <member name="T:HttpServer.Method"> |
3306 | <summary> | 2479 | <summary> |
@@ -3359,8 +2532,8 @@ | |||
3359 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 2532 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. |
3360 | </summary> | 2533 | </summary> |
3361 | <remarks> | 2534 | <remarks> |
3362 | The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | 2535 | The meta information 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 | 2536 | information sent in response to a GET request. This method can be used for obtaining meta information about |
3364 | the entity implied by the request without transferring the entity-body itself. | 2537 | the entity implied by the request without transferring the entity-body itself. |
3365 | 2538 | ||
3366 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | 2539 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. |
@@ -3498,8 +2671,8 @@ | |||
3498 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 2671 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. |
3499 | </summary> | 2672 | </summary> |
3500 | <remarks> | 2673 | <remarks> |
3501 | The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | 2674 | The meta information 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 | 2675 | information sent in response to a GET request. This method can be used for obtaining meta information about |
3503 | the entity implied by the request without transferring the entity-body itself. | 2676 | the entity implied by the request without transferring the entity-body itself. |
3504 | 2677 | ||
3505 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | 2678 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. |
@@ -3580,1150 +2753,921 @@ | |||
3580 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | 2753 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. |
3581 | </summary> | 2754 | </summary> |
3582 | </member> | 2755 | </member> |
3583 | <member name="T:HttpServer.IHttpRequest"> | 2756 | <member name="T:HttpServer.HttpHelper"> |
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> | 2757 | <summary> |
3623 | Clear everything in the request | 2758 | Generic helper functions for HTTP |
3624 | </summary> | 2759 | </summary> |
3625 | </member> | 2760 | </member> |
3626 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> | 2761 | <member name="F:HttpServer.HttpHelper.HTTP10"> |
3627 | <summary> | 2762 | <summary> |
3628 | Have all body content bytes been received? | 2763 | Version string for HTTP v1.0 |
3629 | </summary> | 2764 | </summary> |
3630 | </member> | 2765 | </member> |
3631 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> | 2766 | <member name="F:HttpServer.HttpHelper.HTTP11"> |
3632 | <summary> | 2767 | <summary> |
3633 | Kind of types accepted by the client. | 2768 | Version string for HTTP v1.1 |
3634 | </summary> | 2769 | </summary> |
3635 | </member> | 2770 | </member> |
3636 | <member name="P:HttpServer.IHttpRequest.Body"> | 2771 | <member name="F:HttpServer.HttpHelper.EmptyUri"> |
3637 | <summary> | 2772 | <summary> |
3638 | Submitted body contents | 2773 | An empty URI |
3639 | </summary> | 2774 | </summary> |
3640 | </member> | 2775 | </member> |
3641 | <member name="P:HttpServer.IHttpRequest.Connection"> | 2776 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> |
3642 | <summary> | 2777 | <summary> |
3643 | Kind of connection used for the session. | 2778 | Parses a query string. |
3644 | </summary> | 2779 | </summary> |
2780 | <param name="queryString">Query string (URI encoded)</param> | ||
2781 | <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns> | ||
2782 | <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception> | ||
2783 | <exception cref="T:System.FormatException">If string cannot be parsed.</exception> | ||
3645 | </member> | 2784 | </member> |
3646 | <member name="P:HttpServer.IHttpRequest.ContentLength"> | 2785 | <member name="T:HttpServer.Helpers.ObjectForm"> |
3647 | <summary> | 2786 | <summary> |
3648 | Number of bytes in the body | 2787 | The object form class takes an object and creates form items for it. |
3649 | </summary> | 2788 | </summary> |
3650 | </member> | 2789 | </member> |
3651 | <member name="P:HttpServer.IHttpRequest.Headers"> | 2790 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> |
3652 | <summary> | 2791 | <summary> |
3653 | Headers sent by the client. All names are in lower case. | 2792 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3654 | </summary> | 2793 | </summary> |
2794 | <param name="method"></param> | ||
2795 | <param name="name">form name *and* id.</param> | ||
2796 | <param name="action">action to do when form is posted.</param> | ||
2797 | <param name="obj"></param> | ||
3655 | </member> | 2798 | </member> |
3656 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> | 2799 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> |
3657 | <summary> | 2800 | <summary> |
3658 | Version of http. | 2801 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3659 | Probably HttpHelper.HTTP10 or HttpHelper.HTTP11 | ||
3660 | </summary> | 2802 | </summary> |
3661 | <seealso cref="T:HttpServer.HttpHelper"/> | 2803 | <param name="name">form name *and* id.</param> |
2804 | <param name="action">action to do when form is posted.</param> | ||
2805 | <param name="obj">object to get values from</param> | ||
3662 | </member> | 2806 | </member> |
3663 | <member name="P:HttpServer.IHttpRequest.Method"> | 2807 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> |
3664 | <summary> | 2808 | <summary> |
3665 | Requested method, always upper case. | 2809 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
3666 | </summary> | 2810 | </summary> |
3667 | <see cref="P:HttpServer.IHttpRequest.Method"/> | 2811 | <param name="action">form action.</param> |
2812 | <param name="obj">object to get values from.</param> | ||
3668 | </member> | 2813 | </member> |
3669 | <member name="P:HttpServer.IHttpRequest.QueryString"> | 2814 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> |
3670 | <summary> | 2815 | <summary> |
3671 | Variables sent in the query string | 2816 | write out the FORM-tag. |
3672 | </summary> | 2817 | </summary> |
2818 | <returns>generated html code</returns> | ||
3673 | </member> | 2819 | </member> |
3674 | <member name="P:HttpServer.IHttpRequest.Uri"> | 2820 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> |
3675 | <summary> | 2821 | <summary> |
3676 | Requested URI (url) | 2822 | Writeout the form tag |
3677 | </summary> | 2823 | </summary> |
2824 | <param name="isAjax">form should be posted through ajax.</param> | ||
2825 | <returns>generated html code</returns> | ||
3678 | </member> | 2826 | </member> |
3679 | <member name="P:HttpServer.IHttpRequest.UriParts"> | 2827 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> |
3680 | <summary> | 2828 | <summary> |
3681 | Uri absolute path splitted into parts. | 2829 | Generates a text box. |
3682 | </summary> | 2830 | </summary> |
3683 | <example> | 2831 | <param name="propertyName"></param> |
3684 | // uri is: http://gauffin.com/code/tiny/ | 2832 | <param name="options"></param> |
3685 | Console.WriteLine(request.UriParts[0]); // result: code | 2833 | <returns>generated html code</returns> |
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> | 2834 | </member> |
3694 | <member name="P:HttpServer.IHttpRequest.Param"> | 2835 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> |
3695 | <summary> | 2836 | <summary> |
3696 | Check's both QueryString and Form after the parameter. | 2837 | password box |
3697 | </summary> | 2838 | </summary> |
2839 | <param name="propertyName"></param> | ||
2840 | <param name="options"></param> | ||
2841 | <returns>generated html code</returns> | ||
3698 | </member> | 2842 | </member> |
3699 | <member name="P:HttpServer.IHttpRequest.Form"> | 2843 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> |
3700 | <summary> | 2844 | <summary> |
3701 | Form parameters. | 2845 | Hiddens the specified property name. |
3702 | </summary> | 2846 | </summary> |
2847 | <param name="propertyName">Name of the property.</param> | ||
2848 | <param name="options">The options.</param> | ||
2849 | <returns>generated html code</returns> | ||
3703 | </member> | 2850 | </member> |
3704 | <member name="P:HttpServer.IHttpRequest.IsAjax"> | 2851 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> |
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> | 2852 | <summary> |
3712 | Parses a HTTP request directly from a stream | 2853 | Labels the specified property name. |
3713 | </summary> | 2854 | </summary> |
2855 | <param name="propertyName">property in object.</param> | ||
2856 | <param name="label">caption</param> | ||
2857 | <returns>generated html code</returns> | ||
3714 | </member> | 2858 | </member> |
3715 | <member name="M:HttpServer.HttpRequestParser.#ctor(HttpServer.HttpRequestParser.RequestCompletedHandler,HttpServer.ILogWriter)"> | 2859 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> |
3716 | <summary> | 2860 | <summary> |
3717 | Create a new request parser | 2861 | Generate a checkbox |
3718 | </summary> | 2862 | </summary> |
3719 | <param name="requestCompleted">delegate called when a complete request have been generated</param> | 2863 | <param name="propertyName">property in object</param> |
3720 | <param name="logWriter">delegate receiving log entries.</param> | 2864 | <param name="value">checkbox value</param> |
2865 | <param name="options">additional html attributes.</param> | ||
2866 | <returns>generated html code</returns> | ||
3721 | </member> | 2867 | </member> |
3722 | <member name="M:HttpServer.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 2868 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> |
3723 | <summary> | 2869 | <summary> |
3724 | Add a number of bytes to the body | 2870 | Write a html select tag |
3725 | </summary> | 2871 | </summary> |
3726 | <param name="buffer"></param> | 2872 | <param name="propertyName">object property.</param> |
3727 | <param name="offset"></param> | 2873 | <param name="idColumn">id column</param> |
3728 | <param name="count"></param> | 2874 | <param name="titleColumn">The title column.</param> |
2875 | <param name="options">The options.</param> | ||
3729 | <returns></returns> | 2876 | <returns></returns> |
3730 | </member> | 2877 | </member> |
3731 | <member name="M:HttpServer.HttpRequestParser.Clear"> | 2878 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> |
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> | 2879 | <summary> |
3779 | Should parse the request line | 2880 | Selects the specified property name. |
3780 | </summary> | 2881 | </summary> |
2882 | <param name="propertyName">Name of the property.</param> | ||
2883 | <param name="items">The items.</param> | ||
2884 | <param name="idColumn">The id column.</param> | ||
2885 | <param name="titleColumn">The title column.</param> | ||
2886 | <param name="options">The options.</param> | ||
2887 | <returns></returns> | ||
3781 | </member> | 2888 | </member> |
3782 | <member name="F:HttpServer.HttpRequestParser.State.HeaderName"> | 2889 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> |
3783 | <summary> | 2890 | <summary> |
3784 | Searching for a complete header name | 2891 | Write a submit tag. |
3785 | </summary> | 2892 | </summary> |
2893 | <param name="value">button caption</param> | ||
2894 | <returns>html submit tag</returns> | ||
3786 | </member> | 2895 | </member> |
3787 | <member name="F:HttpServer.HttpRequestParser.State.AfterName"> | 2896 | <member name="M:HttpServer.Helpers.ObjectForm.End"> |
3788 | <summary> | 2897 | <summary> |
3789 | Searching for colon after header name (ignoring white spaces) | 2898 | html end form tag |
3790 | </summary> | 2899 | </summary> |
2900 | <returns>html</returns> | ||
3791 | </member> | 2901 | </member> |
3792 | <member name="F:HttpServer.HttpRequestParser.State.Between"> | 2902 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> |
3793 | <summary> | 2903 | <summary> |
3794 | Searching for start of header value (ignoring white spaces) | 2904 | Can handle application/x-www-form-urlencoded |
3795 | </summary> | 2905 | </summary> |
3796 | </member> | 2906 | </member> |
3797 | <member name="F:HttpServer.HttpRequestParser.State.HeaderValue"> | 2907 | <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
3798 | <summary> | 2908 | <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> | 2909 | </summary> |
2910 | <param name="stream">Stream containing the content</param> | ||
2911 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | ||
2912 | <param name="encoding">Stream encoding</param> | ||
2913 | <returns> | ||
2914 | A HTTP form, or null if content could not be parsed. | ||
2915 | </returns> | ||
2916 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | ||
3801 | </member> | 2917 | </member> |
3802 | <member name="F:HttpServer.HttpRequestParser.State.Body"> | 2918 | <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)"> |
3803 | <summary> | 2919 | <summary> |
3804 | Adding bytes to body | 2920 | Checks if the decoder can handle the mime type |
3805 | </summary> | 2921 | </summary> |
2922 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | ||
2923 | <returns>True if the decoder can parse the specified content type</returns> | ||
3806 | </member> | 2924 | </member> |
3807 | <member name="T:HttpServer.HttpRequest"> | 2925 | <member name="T:HttpServer.Exceptions.NotFoundException"> |
3808 | <summary> | 2926 | <summary> |
3809 | Contains serverside http request information. | 2927 | The requested resource was not found in the web server. |
3810 | </summary> | 2928 | </summary> |
3811 | </member> | 2929 | </member> |
3812 | <member name="F:HttpServer.HttpRequest.UriSplitters"> | 2930 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)"> |
3813 | <summary> | 2931 | <summary> |
3814 | Chars used to split an url path into multiple parts. | 2932 | Create a new exception |
3815 | </summary> | 2933 | </summary> |
2934 | <param name="message">message describing the error</param> | ||
2935 | <param name="inner">inner exception</param> | ||
3816 | </member> | 2936 | </member> |
3817 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> | 2937 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)"> |
3818 | <summary> | 2938 | <summary> |
3819 | Assign a form. | 2939 | Create a new exception |
3820 | </summary> | 2940 | </summary> |
3821 | <param name="form"></param> | 2941 | <param name="message">message describing the error</param> |
3822 | </member> | 2942 | </member> |
3823 | <member name="M:HttpServer.HttpRequest.Clone"> | 2943 | <member name="T:HttpServer.ClientAcceptedEventArgs"> |
3824 | <summary> | 2944 | <summary> |
3825 | Creates a new object that is a copy of the current instance. | 2945 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> |
3826 | </summary> | 2946 | </summary> |
3827 | 2947 | <remarks> | |
3828 | <returns> | 2948 | Can be used to revoke incoming connections |
3829 | A new object that is a copy of this instance. | 2949 | </remarks> |
3830 | </returns> | ||
3831 | <filterpriority>2</filterpriority> | ||
3832 | </member> | 2950 | </member> |
3833 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> | 2951 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> |
3834 | <summary> | 2952 | <summary> |
3835 | Decode body into a form. | 2953 | Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class. |
3836 | </summary> | 2954 | </summary> |
3837 | <param name="providers">A list with form decoders.</param> | 2955 | <param name="socket">The socket.</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> | 2956 | </member> |
3841 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> | 2957 | <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke"> |
3842 | <summary> | 2958 | <summary> |
3843 | Cookies | 2959 | Client may not be handled. |
3844 | </summary> | 2960 | </summary> |
3845 | <param name="cookies">the cookies</param> | ||
3846 | </member> | 2961 | </member> |
3847 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> | 2962 | <member name="P:HttpServer.ClientAcceptedEventArgs.Socket"> |
3848 | <summary> | 2963 | <summary> |
3849 | Called during parsing of a IHttpRequest. | 2964 | Accepted socket. |
3850 | </summary> | 2965 | </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> | 2966 | </member> |
3855 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 2967 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> |
3856 | <summary> | 2968 | <summary> |
3857 | Add bytes to the body | 2969 | Client should be revoked. |
3858 | </summary> | 2970 | </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> | 2971 | </member> |
3866 | <member name="M:HttpServer.HttpRequest.Clear"> | 2972 | <member name="T:HttpServer.RequestQueue"> |
3867 | <summary> | 2973 | <summary> |
3868 | Clear everything in the request | 2974 | Used to queue incoming requests. |
3869 | </summary> | 2975 | </summary> |
3870 | </member> | 2976 | </member> |
3871 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> | 2977 | <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)"> |
3872 | <summary> | 2978 | <summary> |
3873 | Have all body content bytes been received? | 2979 | Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class. |
3874 | </summary> | 2980 | </summary> |
2981 | <param name="handler">Called when a request should be processed.</param> | ||
3875 | </member> | 2982 | </member> |
3876 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> | 2983 | <member name="M:HttpServer.RequestQueue.QueueThread"> |
3877 | <summary> | 2984 | <summary> |
3878 | Kind of types accepted by the client. | 2985 | Used to process queued requests. |
3879 | </summary> | 2986 | </summary> |
3880 | </member> | 2987 | </member> |
3881 | <member name="P:HttpServer.HttpRequest.Body"> | 2988 | <member name="P:HttpServer.RequestQueue.MaxRequestCount"> |
3882 | <summary> | 2989 | <summary> |
3883 | Submitted body contents | 2990 | Gets or sets maximum number of allowed simultaneous requests. |
3884 | </summary> | 2991 | </summary> |
3885 | </member> | 2992 | </member> |
3886 | <member name="P:HttpServer.HttpRequest.Connection"> | 2993 | <member name="P:HttpServer.RequestQueue.MaxQueueSize"> |
3887 | <summary> | 2994 | <summary> |
3888 | Kind of connection used for the session. | 2995 | Gets or sets maximum number of requests queuing to be handled. |
3889 | </summary> | 2996 | </summary> |
3890 | </member> | 2997 | </member> |
3891 | <member name="P:HttpServer.HttpRequest.ContentLength"> | 2998 | <member name="P:HttpServer.RequestQueue.CurrentRequestCount"> |
3892 | <summary> | 2999 | <summary> |
3893 | Number of bytes in the body | 3000 | Specifies how many requests the HTTP server is currently processing. |
3894 | </summary> | 3001 | </summary> |
3895 | </member> | 3002 | </member> |
3896 | <member name="P:HttpServer.HttpRequest.Headers"> | 3003 | <member name="T:HttpServer.RequestQueue.QueueItem"> |
3897 | <summary> | 3004 | <summary> |
3898 | Headers sent by the client. All names are in lower case. | 3005 | Used two queue incoming requests to avoid |
3006 | thread starvation. | ||
3899 | </summary> | 3007 | </summary> |
3900 | </member> | 3008 | </member> |
3901 | <member name="P:HttpServer.HttpRequest.HttpVersion"> | 3009 | <member name="T:HttpServer.ProcessRequestHandler"> |
3902 | <summary> | 3010 | <summary> |
3903 | Version of http. | 3011 | Method used to process a queued request |
3904 | Probably HttpHelper.HTTP10 or HttpHelper.HTTP11 | ||
3905 | </summary> | 3012 | </summary> |
3906 | <seealso cref="T:HttpServer.HttpHelper"/> | 3013 | <param name="context">Context that the request was received from.</param> |
3014 | <param name="request">Request to process.</param> | ||
3907 | </member> | 3015 | </member> |
3908 | <member name="P:HttpServer.HttpRequest.Method"> | 3016 | <member name="T:HttpServer.Parser.RequestLineEventArgs"> |
3909 | <summary> | 3017 | <summary> |
3910 | Requested method, always upper case. | 3018 | Used when the request line have been successfully parsed. |
3911 | </summary> | 3019 | </summary> |
3912 | <see cref="P:HttpServer.HttpRequest.Method"/> | ||
3913 | </member> | 3020 | </member> |
3914 | <member name="P:HttpServer.HttpRequest.QueryString"> | 3021 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)"> |
3915 | <summary> | 3022 | <summary> |
3916 | Variables sent in the query string | 3023 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
3917 | </summary> | 3024 | </summary> |
3025 | <param name="httpMethod">The HTTP method.</param> | ||
3026 | <param name="uriPath">The URI path.</param> | ||
3027 | <param name="httpVersion">The HTTP version.</param> | ||
3918 | </member> | 3028 | </member> |
3919 | <member name="P:HttpServer.HttpRequest.Uri"> | 3029 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor"> |
3920 | <summary> | 3030 | <summary> |
3921 | Requested URI (url) | 3031 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
3922 | </summary> | 3032 | </summary> |
3923 | <seealso cref="P:HttpServer.HttpRequest.UriPath"/> | ||
3924 | </member> | 3033 | </member> |
3925 | <member name="P:HttpServer.HttpRequest.UriParts"> | 3034 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod"> |
3926 | <summary> | 3035 | <summary> |
3927 | Uri absolute path splitted into parts. | 3036 | Gets or sets http method. |
3928 | </summary> | 3037 | </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> | 3038 | <remarks> |
3935 | If you're using controllers than the first part is controller name, | 3039 | Should be one of the methods declared in <see cref="T:HttpServer.Method"/>. |
3936 | the second part is method name and the third part is Id property. | ||
3937 | </remarks> | 3040 | </remarks> |
3938 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> | ||
3939 | </member> | 3041 | </member> |
3940 | <member name="P:HttpServer.HttpRequest.UriPath"> | 3042 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion"> |
3941 | <summary> | 3043 | <summary> |
3942 | Path and query (will be merged with the host header) and put in Uri | 3044 | Gets or sets the version of the HTTP protocol that the client want to use. |
3943 | </summary> | 3045 | </summary> |
3944 | <see cref="P:HttpServer.HttpRequest.Uri"/> | ||
3945 | </member> | 3046 | </member> |
3946 | <member name="P:HttpServer.HttpRequest.Param"> | 3047 | <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath"> |
3947 | <summary> | 3048 | <summary> |
3948 | Check's both QueryString and Form after the parameter. | 3049 | Gets or sets requested URI path. |
3949 | </summary> | 3050 | </summary> |
3950 | </member> | 3051 | </member> |
3951 | <member name="P:HttpServer.HttpRequest.Form"> | 3052 | <member name="T:HttpServer.IComponentProvider"> |
3952 | <summary> | 3053 | <summary> |
3953 | Form parameters. | 3054 | Inversion of control interface. |
3954 | </summary> | 3055 | </summary> |
3955 | </member> | 3056 | </member> |
3956 | <member name="P:HttpServer.HttpRequest.IsAjax"> | 3057 | <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)"> |
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> | 3058 | <summary> |
3964 | Current request is sent over secure protocol | 3059 | Add a component instance |
3965 | </summary> | 3060 | </summary> |
3061 | <typeparam name="T">Interface type</typeparam> | ||
3062 | <param name="instance">Instance to add</param> | ||
3966 | </member> | 3063 | </member> |
3967 | <member name="T:HttpServer.HttpModules.WebSiteModule"> | 3064 | <member name="M:HttpServer.IComponentProvider.Get``1"> |
3968 | <summary> | 3065 | <summary> |
3969 | The website module let's you handle multiple websites in the same server. | 3066 | Get a component. |
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> | 3067 | </summary> |
3068 | <typeparam name="T">Interface type</typeparam> | ||
3069 | <returns>Component if registered, otherwise null.</returns> | ||
3070 | <remarks> | ||
3071 | Component will get created if needed. | ||
3072 | </remarks> | ||
3995 | </member> | 3073 | </member> |
3996 | <member name="T:HttpServer.Helpers.FormHelper"> | 3074 | <member name="M:HttpServer.IComponentProvider.Contains(System.Type)"> |
3997 | <summary> | 3075 | <summary> |
3998 | Helpers making it easier to work with forms. | 3076 | Checks if the specified component interface have been added. |
3999 | </summary> | 3077 | </summary> |
4000 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> | 3078 | <param name="interfaceType"></param> |
3079 | <returns>true if found; otherwise false.</returns> | ||
4001 | </member> | 3080 | </member> |
4002 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> | 3081 | <member name="M:HttpServer.IComponentProvider.Add``2"> |
4003 | <summary> | 3082 | <summary> |
4004 | Used to let the website use different javascript libraries. | 3083 | Add a component. |
4005 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
4006 | </summary> | 3084 | </summary> |
3085 | <typeparam name="InterfaceType">Type being requested.</typeparam> | ||
3086 | <typeparam name="InstanceType">Type being created.</typeparam> | ||
4007 | </member> | 3087 | </member> |
4008 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> | 3088 | <member name="T:HttpServer.HttpResponse"> |
4009 | <summary> | 3089 | <summary> |
4010 | Create a <form> tag. | 3090 | Response that is sent back to the web browser / client. |
4011 | </summary> | 3091 | </summary> |
4012 | <param name="name">name of form</param> | 3092 | <remarks> |
4013 | <param name="action">action to invoke on submit</param> | 3093 | <para> |
4014 | <param name="isAjax">form should be posted as ajax</param> | 3094 | A response can be sent if different ways. The easiest one is |
4015 | <returns>html code</returns> | 3095 | to just fill the Body stream with content, everything else |
3096 | will then be taken care of by the framework. The default content-type | ||
3097 | is text/html, you should change it if you send anything else. | ||
3098 | </para><para> | ||
3099 | The second and slightly more complex way is to send the response | ||
3100 | as parts. Start with sending the header using the SendHeaders method and | ||
3101 | then you can send the body using SendBody method, but do not forget | ||
3102 | to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so. | ||
3103 | </para> | ||
3104 | </remarks> | ||
4016 | <example> | 3105 | <example> |
4017 | <code> | 3106 | <code> |
4018 | // without options | 3107 | // Example using response body. |
4019 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | 3108 | class MyModule : HttpModule |
3109 | { | ||
3110 | public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) | ||
3111 | { | ||
3112 | StreamWriter writer = new StreamWriter(response.Body); | ||
3113 | writer.WriteLine("Hello dear World!"); | ||
3114 | writer.Flush(); | ||
4020 | 3115 | ||
4021 | // with options | 3116 | // return true to tell webserver that we've handled the url |
4022 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); | 3117 | return true; |
3118 | } | ||
3119 | } | ||
4023 | </code> | 3120 | </code> |
4024 | </example> | 3121 | </example> |
4025 | <param name="options">html attributes or javscript options.</param> | 3122 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. |
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> | 3123 | </member> |
4040 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 3124 | <member name="T:HttpServer.IHttpResponse"> |
4041 | <summary> | 3125 | <summary> |
4042 | Creates a select list with the values in a collection. | 3126 | Response that is sent back to the web browser / client. |
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<User> items = new List<User>(); | ||
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 | 3127 | ||
4090 | // Using an method as delegate to generate the select list. | 3128 | A response can be sent if different ways. The easiest one is |
4091 | public void UseExternalDelegate() | 3129 | to just fill the Body stream with content, everything else |
4092 | { | 3130 | will then be taken care of by the framework. The default content-type |
4093 | List<User> items = new List<User>(); | 3131 | is text/html, you should change it if you send anything else. |
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 | 3132 | ||
4100 | // delegate returning id and title | 3133 | The second and slighty more complex way is to send the response |
4101 | public static void UserOptions(object o, out object id, out object title) | 3134 | as parts. Start with sending the header using the SendHeaders method and |
3135 | then you can send the body using SendBody method, but do not forget | ||
3136 | to set ContentType and ContentLength before doing so. | ||
3137 | </summary> | ||
3138 | <example> | ||
3139 | public void MyHandler(IHttpRequest request, IHttpResponse response) | ||
4102 | { | 3140 | { |
4103 | User user = (User)o; | 3141 | |
4104 | id = user.Id; | ||
4105 | value = user.RealName; | ||
4106 | } | 3142 | } |
4107 | </code> | ||
4108 | </example> | 3143 | </example> |
4109 | </member> | 3144 | </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[])"> | 3145 | <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,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> | 3146 | <summary> |
4164 | Creates a checkbox. | 3147 | Add another header to the document. |
4165 | </summary> | 3148 | </summary> |
4166 | <param name="name">element name</param> | 3149 | <param name="name">Name of the header, case sensitive, use lower cases.</param> |
4167 | <param name="id">element id</param> | 3150 | <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> |
4168 | <param name="isChecked">determines if the check box is selected or not. This is done diffrently depending on the | 3151 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
4169 | type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if | 3152 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> |
4170 | the box is checked or not. </param> | 3153 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> |
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> | 3154 | </member> |
4175 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> | 3155 | <member name="M:HttpServer.IHttpResponse.Send"> |
4176 | <summary> | 3156 | <summary> |
4177 | Creates a RadioButton. | 3157 | Send headers and body to the browser. |
4178 | </summary> | 3158 | </summary> |
4179 | <param name="name">element name</param> | 3159 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> |
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> | 3160 | </member> |
4187 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> | 3161 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> |
4188 | <summary> | 3162 | <summary> |
4189 | Creates a RadioButton. | 3163 | Make sure that you have specified ContentLength and sent the headers first. |
4190 | </summary> | 3164 | </summary> |
4191 | <param name="name">element name</param> | 3165 | <param name="buffer"></param> |
4192 | <param name="id">element id</param> | 3166 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
4193 | <param name="value">element value</param> | 3167 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
4194 | <param name="isSelected">determines if the radio button is selected or not. This is done diffrently depending on the | 3168 | <param name="offset">offest of first byte to send</param> |
4195 | type of variable. A bool simply trigges checked or not, all other types are compared with "value" to determine if | 3169 | <param name="count">number of bytes to send.</param> |
4196 | the box is checked or not. </param> | 3170 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> |
4197 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 3171 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
4198 | <returns>a generated radio button</returns> | 3172 | <remarks>This method can be used if you want to send body contents without caching them first. This |
3173 | is recommended for larger files to keep the memory usage low.</remarks> | ||
4199 | </member> | 3174 | </member> |
4200 | <member name="M:HttpServer.Helpers.FormHelper.End"> | 3175 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"> |
4201 | <summary> | 3176 | <summary> |
4202 | form close tag | 3177 | Make sure that you have specified ContentLength and sent the headers first. |
4203 | </summary> | 3178 | </summary> |
4204 | <returns></returns> | 3179 | <param name="buffer"></param> |
3180 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | ||
3181 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> | ||
3182 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> | ||
3183 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> | ||
3184 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
3185 | is recommended for larger files to keep the memory usage low.</remarks> | ||
4205 | </member> | 3186 | </member> |
4206 | <member name="T:HttpServer.Exceptions.BadRequestException"> | 3187 | <member name="M:HttpServer.IHttpResponse.SendHeaders"> |
4207 | <summary> | 3188 | <summary> |
4208 | The request could not be understood by the server due to malformed syntax. | 3189 | Send headers to the client. |
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> | 3190 | </summary> |
3191 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
3192 | <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/> | ||
3193 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> | ||
3194 | <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/> | ||
4213 | </member> | 3195 | </member> |
4214 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> | 3196 | <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)"> |
4215 | <summary> | 3197 | <summary> |
4216 | Create a new bad request exception. | 3198 | Redirect client to somewhere else using the 302 status code. |
4217 | </summary> | 3199 | </summary> |
4218 | <param name="errMsg">reason to why the request was bad.</param> | 3200 | <param name="uri">Destination of the redirect</param> |
3201 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
3202 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | ||
3203 | action.</remarks> | ||
4219 | </member> | 3204 | </member> |
4220 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> | 3205 | <member name="M:HttpServer.IHttpResponse.Redirect(System.String)"> |
4221 | <summary> | 3206 | <summary> |
4222 | Create a new bad request exception. | 3207 | redirect to somewhere |
4223 | </summary> | 3208 | </summary> |
4224 | <param name="errMsg">reason to why the request was bad.</param> | 3209 | <param name="url">where the redirect should go</param> |
4225 | <param name="inner">inner exception</param> | 3210 | <remarks> |
3211 | No body are allowed when doing redirects. | ||
3212 | </remarks> | ||
4226 | </member> | 3213 | </member> |
4227 | <member name="T:HttpServer.Authentication.DigestAuthentication"> | 3214 | <member name="P:HttpServer.IHttpResponse.Body"> |
4228 | <summary> | 3215 | <summary> |
4229 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is | 3216 | The body stream is used to cache the body contents |
4230 | encrypted with a "key" from the server. | 3217 | before sending everything to the client. It's the simplest |
3218 | way to serve documents. | ||
4231 | </summary> | 3219 | </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> | 3220 | </member> |
4236 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthRequiredDelegate)"> | 3221 | <member name="P:HttpServer.IHttpResponse.ProtocolVersion"> |
4237 | <summary> | 3222 | <summary> |
4238 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | 3223 | Defines the version of the HTTP Response for applications where it's required |
3224 | for this to be forced. | ||
4239 | </summary> | 3225 | </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> | 3226 | </member> |
4243 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 3227 | <member name="P:HttpServer.IHttpResponse.Chunked"> |
4244 | <summary> | 3228 | <summary> |
4245 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | 3229 | The chunked encoding modifies the body of a message in order to |
3230 | transfer it as a series of chunks, each with its own size indicator, | ||
3231 | followed by an OPTIONAL trailer containing entity-header fields. This | ||
3232 | allows dynamically produced content to be transferred along with the | ||
3233 | information necessary for the recipient to verify that it has | ||
3234 | received the full message. | ||
4246 | </summary> | 3235 | </summary> |
4247 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | ||
4248 | </member> | 3236 | </member> |
4249 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> | 3237 | <member name="P:HttpServer.IHttpResponse.Connection"> |
4250 | <summary> | 3238 | <summary> |
4251 | Used by test classes to be able to use hardcoded values | 3239 | Kind of connection |
4252 | </summary> | 3240 | </summary> |
4253 | </member> | 3241 | </member> |
4254 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | 3242 | <member name="P:HttpServer.IHttpResponse.Encoding"> |
4255 | <summary> | 3243 | <summary> |
4256 | An authentication response have been received from the web browser. | 3244 | Encoding to use when sending stuff to the client. |
4257 | Check if it's correct | ||
4258 | </summary> | 3245 | </summary> |
4259 | <param name="authenticationHeader">Contents from the Authorization header</param> | 3246 | <remarks>Default is UTF8</remarks> |
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> | 3247 | </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)"> | 3248 | <member name="P:HttpServer.IHttpResponse.KeepAlive"> |
4270 | <summary> | 3249 | <summary> |
4271 | Encrypts parameters into a Digest string | 3250 | Number of seconds to keep connection alive |
4272 | </summary> | 3251 | </summary> |
4273 | <param name="realm">Realm that the user want's to log into.</param> | 3252 | <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks> |
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> | 3253 | </member> |
4284 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> | 3254 | <member name="P:HttpServer.IHttpResponse.Status"> |
4285 | <summary> | 3255 | <summary> |
4286 | Create a response that can be sent in the WWW-Authenticate header. | 3256 | Status code that is sent to the client. |
4287 | </summary> | 3257 | </summary> |
4288 | <param name="realm">Realm that the user should authenticate in</param> | 3258 | <remarks>Default is HttpStatusCode.Ok</remarks> |
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> | 3259 | </member> |
4293 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> | 3260 | <member name="P:HttpServer.IHttpResponse.Reason"> |
4294 | <summary> | 3261 | <summary> |
4295 | Decodes authorization header value | 3262 | Information about why a specific status code was used. |
4296 | </summary> | 3263 | </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> | 3264 | </member> |
4305 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> | 3265 | <member name="P:HttpServer.IHttpResponse.ContentLength"> |
4306 | <summary> | 3266 | <summary> |
4307 | Gets the current nonce. | 3267 | Size of the body. MUST be specified before sending the header, |
3268 | unless property Chunked is set to true. | ||
4308 | </summary> | 3269 | </summary> |
4309 | <returns></returns> | ||
4310 | </member> | 3270 | </member> |
4311 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> | 3271 | <member name="P:HttpServer.IHttpResponse.ContentType"> |
4312 | <summary> | 3272 | <summary> |
4313 | Gets the Md5 hash bin hex2. | 3273 | Kind of content in the body |
4314 | </summary> | 3274 | </summary> |
4315 | <param name="toBeHashed">To be hashed.</param> | 3275 | <remarks>Default is text/html</remarks> |
4316 | <returns></returns> | ||
4317 | </member> | 3276 | </member> |
4318 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> | 3277 | <member name="P:HttpServer.IHttpResponse.HeadersSent"> |
4319 | <summary> | 3278 | <summary> |
4320 | determines if the nonce is valid or has expired. | 3279 | Headers have been sent to the client- |
4321 | </summary> | 3280 | </summary> |
4322 | <param name="nonce">nonce value (check wikipedia for info)</param> | 3281 | <remarks>You can not send any additional headers if they have already been sent.</remarks> |
4323 | <returns>true if the nonce has not expired.</returns> | ||
4324 | </member> | 3282 | </member> |
4325 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> | 3283 | <member name="P:HttpServer.IHttpResponse.Sent"> |
4326 | <summary> | 3284 | <summary> |
4327 | name used in http request. | 3285 | The whole response have been sent. |
4328 | </summary> | 3286 | </summary> |
4329 | </member> | 3287 | </member> |
4330 | <member name="T:HttpServer.Sessions.MemorySessionStore"> | 3288 | <member name="P:HttpServer.IHttpResponse.Cookies"> |
4331 | <summary> | 3289 | <summary> |
4332 | Session store using memory for each session. | 3290 | Cookies that should be created/changed. |
4333 | </summary> | 3291 | </summary> |
4334 | </member> | 3292 | </member> |
4335 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> | 3293 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
4336 | <summary> | 3294 | <summary> |
4337 | Initializes the class setting the expirationtimer to clean the session every minute | 3295 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
4338 | </summary> | 3296 | </summary> |
3297 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | ||
3298 | <param name="request">Contains information of what the client want to receive.</param> | ||
3299 | <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception> | ||
4339 | </member> | 3300 | </member> |
4340 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> | 3301 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)"> |
4341 | <summary> | 3302 | <summary> |
4342 | Delegate for the cleanup timer | 3303 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
4343 | </summary> | 3304 | </summary> |
3305 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | ||
3306 | <param name="httpVersion">Version of HTTP protocol that the client uses.</param> | ||
3307 | <param name="connectionType">Type of HTTP connection used.</param> | ||
4344 | </member> | 3308 | </member> |
4345 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> | 3309 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> |
4346 | <summary> | 3310 | <summary> |
4347 | Creates a new http session | 3311 | Add another header to the document. |
4348 | </summary> | 3312 | </summary> |
4349 | <returns></returns> | 3313 | <param name="name">Name of the header, case sensitive, use lower cases.</param> |
3314 | <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> | ||
3315 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
3316 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | ||
3317 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | ||
4350 | </member> | 3318 | </member> |
4351 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> | 3319 | <member name="M:HttpServer.HttpResponse.Send"> |
4352 | <summary> | 3320 | <summary> |
4353 | Creates a new http session with a specific id | 3321 | Send headers and body to the browser. |
4354 | </summary> | 3322 | </summary> |
4355 | <param name="id">Id used to identify the new cookie..</param> | 3323 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> |
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> | 3324 | </member> |
4361 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> | 3325 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> |
4362 | <summary> | 3326 | <summary> |
4363 | Load an existing session. | 3327 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. |
4364 | </summary> | 3328 | </summary> |
4365 | <param name="sessionId"></param> | 3329 | <param name="buffer"></param> |
4366 | <returns></returns> | 3330 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
3331 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
3332 | <param name="offset">offset of first byte to send</param> | ||
3333 | <param name="count">number of bytes to send.</param> | ||
3334 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
3335 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
3336 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
3337 | is recommended for larger files to keep the memory usage low.</remarks> | ||
4367 | </member> | 3338 | </member> |
4368 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> | 3339 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> |
4369 | <summary> | 3340 | <summary> |
4370 | Save an updated session to the store. | 3341 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. |
4371 | </summary> | 3342 | </summary> |
4372 | <param name="session"></param> | 3343 | <param name="buffer"></param> |
3344 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | ||
3345 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
3346 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
3347 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | ||
3348 | <remarks>This method can be used if you want to send body contents without caching them first. This | ||
3349 | is recommended for larger files to keep the memory usage low.</remarks> | ||
4373 | </member> | 3350 | </member> |
4374 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> | 3351 | <member name="M:HttpServer.HttpResponse.SendHeaders"> |
4375 | <summary> | 3352 | <summary> |
4376 | We use the flyweight pattern which reuses small objects | 3353 | Send headers to the client. |
4377 | instead of creating new each time. | ||
4378 | </summary> | 3354 | </summary> |
4379 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> | 3355 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
3356 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> | ||
3357 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | ||
3358 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> | ||
4380 | </member> | 3359 | </member> |
4381 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> | 3360 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> |
4382 | <summary> | 3361 | <summary> |
4383 | Remove expired sessions | 3362 | Redirect client to somewhere else using the 302 status code. |
4384 | </summary> | 3363 | </summary> |
3364 | <param name="uri">Destination of the redirect</param> | ||
3365 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | ||
3366 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | ||
3367 | action.</remarks> | ||
4385 | </member> | 3368 | </member> |
4386 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)"> | 3369 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> |
4387 | <summary> | 3370 | <summary> |
4388 | Remove a session | 3371 | redirect to somewhere |
4389 | </summary> | 3372 | </summary> |
4390 | <param name="sessionId">id of the session.</param> | 3373 | <param name="url">where the redirect should go</param> |
3374 | <remarks> | ||
3375 | No body are allowed when doing redirects. | ||
3376 | </remarks> | ||
4391 | </member> | 3377 | </member> |
4392 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> | 3378 | <member name="P:HttpServer.HttpResponse.Body"> |
4393 | <summary> | 3379 | <summary> |
4394 | Load a session from the store | 3380 | The body stream is used to cache the body contents |
3381 | before sending everything to the client. It's the simplest | ||
3382 | way to serve documents. | ||
4395 | </summary> | 3383 | </summary> |
4396 | <param name="sessionId"></param> | ||
4397 | <returns>null if session is not found.</returns> | ||
4398 | </member> | 3384 | </member> |
4399 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> | 3385 | <member name="P:HttpServer.HttpResponse.Chunked"> |
4400 | <summary> | 3386 | <summary> |
4401 | Number of minutes before a session expires. | 3387 | The chunked encoding modifies the body of a message in order to |
4402 | Default is 20 minutes. | 3388 | transfer it as a series of chunks, each with its own size indicator, |
3389 | followed by an OPTIONAL trailer containing entity-header fields. This | ||
3390 | allows dynamically produced content to be transferred along with the | ||
3391 | information necessary for the recipient to verify that it has | ||
3392 | received the full message. | ||
4403 | </summary> | 3393 | </summary> |
4404 | </member> | 3394 | </member> |
4405 | <member name="T:HttpServer.Rendering.ITemplateInfo"> | 3395 | <member name="P:HttpServer.HttpResponse.ProtocolVersion"> |
4406 | <summary> | 3396 | <summary> |
4407 | Keeps information about templates, so we know when to regenerate it. | 3397 | Defines the version of the HTTP Response for applications where it's required |
3398 | for this to be forced. | ||
4408 | </summary> | 3399 | </summary> |
4409 | </member> | 3400 | </member> |
4410 | <member name="P:HttpServer.Rendering.ITemplateInfo.CompiledWhen"> | 3401 | <member name="P:HttpServer.HttpResponse.Connection"> |
4411 | <summary> | 3402 | <summary> |
4412 | When the template was compiled. | 3403 | Kind of connection |
4413 | </summary> | 3404 | </summary> |
4414 | <remarks>Use this date to determine if the template is old and needs to be recompiled.</remarks> | ||
4415 | </member> | 3405 | </member> |
4416 | <member name="P:HttpServer.Rendering.ITemplateInfo.Filename"> | 3406 | <member name="P:HttpServer.HttpResponse.Encoding"> |
4417 | <summary> | 3407 | <summary> |
4418 | Template file name. | 3408 | Encoding to use when sending stuff to the client. |
4419 | </summary> | 3409 | </summary> |
3410 | <remarks>Default is UTF8</remarks> | ||
4420 | </member> | 3411 | </member> |
4421 | <member name="P:HttpServer.Rendering.ITemplateInfo.Template"> | 3412 | <member name="P:HttpServer.HttpResponse.KeepAlive"> |
4422 | <summary> | 3413 | <summary> |
4423 | The actual template. | 3414 | Number of seconds to keep connection alive |
4424 | </summary> | 3415 | </summary> |
3416 | <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks> | ||
4425 | </member> | 3417 | </member> |
4426 | <member name="T:HttpServer.Helpers.FormValidator"> | 3418 | <member name="P:HttpServer.HttpResponse.Status"> |
4427 | <summary> | 3419 | <summary> |
4428 | Validator is used to validate all input items in a form. | 3420 | Status code that is sent to the client. |
4429 | </summary> | 3421 | </summary> |
3422 | <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks> | ||
4430 | </member> | 3423 | </member> |
4431 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(System.Collections.Specialized.NameValueCollection)"> | 3424 | <member name="P:HttpServer.HttpResponse.Reason"> |
4432 | <summary> | 3425 | <summary> |
4433 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class. | 3426 | Information about why a specific status code was used. |
4434 | </summary> | 3427 | </summary> |
4435 | <param name="errors">collection to be filled with errors</param> | ||
4436 | </member> | 3428 | </member> |
4437 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(System.Collections.Specialized.NameValueCollection,Fadd.Globalization.LanguageNode)"> | 3429 | <member name="P:HttpServer.HttpResponse.ContentLength"> |
4438 | <summary> | 3430 | <summary> |
4439 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class. | 3431 | Size of the body. MUST be specified before sending the header, |
3432 | unless property Chunked is set to true. | ||
4440 | </summary> | 3433 | </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> | 3434 | </member> |
4444 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(Fadd.Globalization.LanguageNode)"> | 3435 | <member name="P:HttpServer.HttpResponse.ContentType"> |
4445 | <summary> | 3436 | <summary> |
4446 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.FormValidator"/> class. | 3437 | Kind of content in the body |
4447 | </summary> | 3438 | </summary> |
4448 | <param name="modelLanguage">Translation used to translate the "name" parameters in all validation methods.</param> | 3439 | <remarks>Default type is "text/html"</remarks> |
4449 | </member> | 3440 | </member> |
4450 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput)"> | 3441 | <member name="P:HttpServer.HttpResponse.HeadersSent"> |
4451 | <summary> | 3442 | <summary> |
4452 | 3443 | Headers have been sent to the client- | |
4453 | </summary> | 3444 | </summary> |
4454 | <param name="form">form that validation should be made on.</param> | 3445 | <remarks>You can not send any additional headers if they have already been sent.</remarks> |
4455 | </member> | 3446 | </member> |
4456 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput,System.Collections.Specialized.NameValueCollection)"> | 3447 | <member name="P:HttpServer.HttpResponse.Sent"> |
4457 | <summary> | 3448 | <summary> |
4458 | 3449 | The whole response have been sent. | |
4459 | </summary> | 3450 | </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> | 3451 | </member> |
4463 | <member name="M:HttpServer.Helpers.FormValidator.#ctor(HttpServer.IHttpInput,System.Collections.Specialized.NameValueCollection,Fadd.Globalization.LanguageNode)"> | 3452 | <member name="P:HttpServer.HttpResponse.Cookies"> |
4464 | <summary> | 3453 | <summary> |
4465 | 3454 | Cookies that should be created/changed. | |
4466 | </summary> | 3455 | </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> | 3456 | </member> |
4471 | <member name="M:HttpServer.Helpers.FormValidator.SetForm(HttpServer.IHttpInput)"> | 3457 | <member name="T:HttpServer.HttpRequest"> |
4472 | <summary> | 3458 | <summary> |
4473 | Switch to a new http input. | 3459 | Contains server side HTTP request information. |
4474 | </summary> | 3460 | </summary> |
4475 | <param name="form">form to use validation for now</param> | ||
4476 | </member> | 3461 | </member> |
4477 | <member name="M:HttpServer.Helpers.FormValidator.SetForm(HttpServer.IHttpInput,Fadd.Globalization.LanguageNode)"> | 3462 | <member name="F:HttpServer.HttpRequest.UriSplitters"> |
4478 | <summary> | 3463 | <summary> |
4479 | Switch to a new http input. | 3464 | Chars used to split an URL path into multiple parts. |
4480 | </summary> | 3465 | </summary> |
4481 | <param name="form">form to use validation for now</param> | ||
4482 | <param name="modelLanguage">language for the validation</param> | ||
4483 | </member> | 3466 | </member> |
4484 | <member name="M:HttpServer.Helpers.FormValidator.Digits(System.String,System.Boolean)"> | 3467 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> |
4485 | <summary> | 3468 | <summary> |
4486 | Check if a value is digits only | 3469 | Assign a form. |
4487 | </summary> | 3470 | </summary> |
4488 | <param name="name">Field name.</param> | 3471 | <param name="form"></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> | 3472 | </member> |
4492 | <member name="M:HttpServer.Helpers.FormValidator.Digits(System.String,System.Boolean,System.String)"> | 3473 | <member name="M:HttpServer.HttpRequest.Clone"> |
4493 | <summary> | 3474 | <summary> |
4494 | Check if a value is digits only | 3475 | Creates a new object that is a copy of the current instance. |
4495 | </summary> | 3476 | </summary> |
4496 | <param name="name">Field name.</param> | 3477 | |
4497 | <param name="extraAllowedCharacters">extra characters that is allowed.</param> | 3478 | <returns> |
4498 | <param name="required">true if field is required (may not be empty)</param> | 3479 | A new object that is a copy of this instance. |
4499 | <returns>string if validated, otherwise string.Empty</returns> | 3480 | </returns> |
3481 | <filterpriority>2</filterpriority> | ||
4500 | </member> | 3482 | </member> |
4501 | <member name="M:HttpServer.Helpers.FormValidator.Integer(System.String)"> | 3483 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
4502 | <summary> | 3484 | <summary> |
4503 | Check whether the specified form item is an integer. | 3485 | Decode body into a form. |
4504 | </summary> | 3486 | </summary> |
4505 | <param name="name">Form parameter to validate</param> | 3487 | <param name="providers">A list with form decoders.</param> |
4506 | <returns>value if parameter is an int; 0 if not.</returns> | 3488 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> |
3489 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | ||
4507 | </member> | 3490 | </member> |
4508 | <member name="M:HttpServer.Helpers.FormValidator.Integer(System.String,System.Boolean)"> | 3491 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> |
4509 | <summary> | 3492 | <summary> |
4510 | Check whether the specified form item is an integer. | 3493 | Cookies |
4511 | </summary> | 3494 | </summary> |
4512 | <param name="name">Form parameter to validate</param> | 3495 | <param name="cookies">the cookies</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> | 3496 | </member> |
4516 | <member name="M:HttpServer.Helpers.FormValidator.Double(System.String,System.Boolean)"> | 3497 | <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
4517 | <summary> | 3498 | <summary> |
4518 | Check whether the specified value is a double. | 3499 | Create a response object. |
4519 | </summary> | 3500 | </summary> |
4520 | <param name="name">Name of the parameter</param> | 3501 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> |
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> | 3502 | </member> |
4524 | <member name="M:HttpServer.Helpers.FormValidator.Currency(System.String,System.Boolean)"> | 3503 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> |
4525 | <summary> | 3504 | <summary> |
4526 | Check whether the specified value is a currency amount. | 3505 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
4527 | </summary> | 3506 | </summary> |
4528 | <param name="name">Name of the parameter</param> | 3507 | <param name="name">Name of the header, should not be URL encoded</param> |
4529 | <param name="required">Paramater is required (adds an error if it's not specified)</param> | 3508 | <param name="value">Value of the header, should not be URL encoded</param> |
4530 | <returns>value if parameter is a currency amount; 0 if not.</returns> | 3509 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> |
4531 | </member> | 3510 | </member> |
4532 | <member name="M:HttpServer.Helpers.FormValidator.Hex(System.String,System.Boolean)"> | 3511 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
4533 | <summary> | 3512 | <summary> |
4534 | Validates a string to hex | 3513 | Add bytes to the body |
4535 | </summary> | 3514 | </summary> |
4536 | <param name="name">The name of the field to validate</param> | 3515 | <param name="bytes">buffer to read bytes from</param> |
4537 | <param name="required">If the field must be set</param> | 3516 | <param name="offset">where to start read</param> |
4538 | <returns>The value if validated otherwise string.Empty</returns> | 3517 | <param name="length">number of bytes to read</param> |
3518 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | ||
3519 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> | ||
3520 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | ||
3521 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | ||
4539 | </member> | 3522 | </member> |
4540 | <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String,System.Boolean)"> | 3523 | <member name="M:HttpServer.HttpRequest.Clear"> |
4541 | <summary> | 3524 | <summary> |
4542 | Validate that a string only contains letters or digits. | 3525 | Clear everything in the request |
4543 | </summary> | 3526 | </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> | 3527 | </member> |
4548 | <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String)"> | 3528 | <member name="P:HttpServer.HttpRequest.Secure"> |
4549 | <summary> | 3529 | <summary> |
4550 | Validate that a string only contains letters or digits. | 3530 | Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure. |
4551 | </summary> | 3531 | </summary> |
4552 | <param name="name">Form parameter name.</param> | ||
4553 | <returns>vaue if found; otherwise string.Empty</returns> | ||
4554 | </member> | 3532 | </member> |
4555 | <member name="M:HttpServer.Helpers.FormValidator.LettersOrDigits(System.String,System.Boolean,System.String)"> | 3533 | <member name="P:HttpServer.HttpRequest.UriPath"> |
4556 | <summary> | 3534 | <summary> |
4557 | Validate that a string only contains letters, digits or the specified characters | 3535 | Path and query (will be merged with the host header) and put in Uri |
4558 | </summary> | 3536 | </summary> |
4559 | <param name="name">Form parameter name.</param> | 3537 | <see cref="P:HttpServer.HttpRequest.Uri"/> |
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> | 3538 | </member> |
4564 | <member name="M:HttpServer.Helpers.FormValidator.Letters(System.String,System.Boolean)"> | 3539 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> |
4565 | <summary> | 3540 | <summary> |
4566 | Validate that a string consists of only letters (including special letters) | 3541 | Gets whether the body is complete. |
4567 | </summary> | 3542 | </summary> |
4568 | <param name="name"></param> | ||
4569 | <param name="required">If a value must be passed</param> | ||
4570 | <returns></returns> | ||
4571 | </member> | 3543 | </member> |
4572 | <member name="M:HttpServer.Helpers.FormValidator.Letters(System.String,System.Boolean,System.String)"> | 3544 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> |
4573 | <summary> | 3545 | <summary> |
4574 | Validate that a string consists of only letters (a-z and A-Z) | 3546 | Gets kind of types accepted by the client. |
4575 | </summary> | 3547 | </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> | 3548 | </member> |
4581 | <member name="M:HttpServer.Helpers.FormValidator.AlphaNumeric(System.String)"> | 3549 | <member name="P:HttpServer.HttpRequest.Body"> |
4582 | <summary> | 3550 | <summary> |
4583 | Check whether the specified value is an integer. | 3551 | Gets or sets body stream. |
4584 | </summary> | 3552 | </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> | 3553 | </member> |
4588 | <member name="M:HttpServer.Helpers.FormValidator.AlphaNumeric(System.String,System.Boolean)"> | 3554 | <member name="P:HttpServer.HttpRequest.Connection"> |
4589 | <summary> | 3555 | <summary> |
4590 | Check whether the specified value is an integer. | 3556 | Gets or sets kind of connection used for the session. |
4591 | </summary> | 3557 | </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> | 3558 | </member> |
4596 | <member name="M:HttpServer.Helpers.FormValidator.Password(System.String,System.Boolean)"> | 3559 | <member name="P:HttpServer.HttpRequest.ContentLength"> |
4597 | <summary> | 3560 | <summary> |
4598 | Validate that a string only contains letters or digits or any of the <see cref="F:Fadd.Validator.PasswordChars"/>. | 3561 | Gets or sets number of bytes in the body. |
4599 | </summary> | 3562 | </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> | 3563 | </member> |
4604 | <member name="M:HttpServer.Helpers.FormValidator.Password(System.String)"> | 3564 | <member name="P:HttpServer.HttpRequest.Headers"> |
4605 | <summary> | 3565 | <summary> |
4606 | Validate that a string only contains letters or digits or any of the <see cref="F:Fadd.Validator.PasswordChars"/>. | 3566 | Gets headers sent by the client. |
4607 | </summary> | 3567 | </summary> |
4608 | <param name="name">Form parameter name.</param> | ||
4609 | <returns>vaue if found; otherwise string.Empty</returns> | ||
4610 | </member> | 3568 | </member> |
4611 | <member name="M:HttpServer.Helpers.FormValidator.Required(System.String)"> | 3569 | <member name="P:HttpServer.HttpRequest.HttpVersion"> |
4612 | <summary> | 3570 | <summary> |
4613 | Check's weather a parameter is null or not. | 3571 | Gets or sets version of HTTP protocol that's used. |
4614 | </summary> | 3572 | </summary> |
4615 | <param name="name">Parameter in form</param> | 3573 | <remarks> |
4616 | <returns>true if value is not null; otherwise false.</returns> | 3574 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. |
3575 | </remarks> | ||
3576 | <seealso cref="T:HttpServer.HttpHelper"/> | ||
4617 | </member> | 3577 | </member> |
4618 | <member name="M:HttpServer.Helpers.FormValidator.String(System.String,System.Boolean)"> | 3578 | <member name="P:HttpServer.HttpRequest.Method"> |
4619 | <summary> | 3579 | <summary> |
4620 | Validate a string value | 3580 | Gets or sets requested method. |
4621 | </summary> | 3581 | </summary> |
4622 | <param name="name">Name of form parameter to validate.</param> | 3582 | <value></value> |
4623 | <param name="required">Value is required.</param> | 3583 | <remarks> |
4624 | <returns>value if valid; otherwise string.Empty.</returns> | 3584 | Will always be in upper case. |
3585 | </remarks> | ||
3586 | <see cref="!:HttpServer.Method"/> | ||
4625 | </member> | 3587 | </member> |
4626 | <member name="M:HttpServer.Helpers.FormValidator.String(System.String)"> | 3588 | <member name="P:HttpServer.HttpRequest.QueryString"> |
4627 | <summary> | 3589 | <summary> |
4628 | Validate a string parameter in the form | 3590 | Gets variables sent in the query string |
4629 | </summary> | 3591 | </summary> |
4630 | <param name="name">Form parameter name.</param> | ||
4631 | <returns>vaue if found; otherwise string.Empty</returns> | ||
4632 | </member> | 3592 | </member> |
4633 | <member name="M:HttpServer.Helpers.FormValidator.Email(System.String,System.Boolean)"> | 3593 | <member name="P:HttpServer.HttpRequest.Uri"> |
4634 | <summary> | 3594 | <summary> |
4635 | validates email address using a regexp. | 3595 | Gets or sets requested URI. |
4636 | </summary> | 3596 | </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> | 3597 | </member> |
4641 | <member name="M:HttpServer.Helpers.FormValidator.Char(System.String,System.Boolean)"> | 3598 | <member name="P:HttpServer.HttpRequest.UriParts"> |
4642 | <summary> | 3599 | <summary> |
4643 | Check whether the specified value is an character. | 3600 | Uri absolute path splitted into parts. |
4644 | </summary> | 3601 | </summary> |
4645 | <param name="name">Name of the parameter</param> | 3602 | <example> |
4646 | <param name="required">Paramater is required (adds an error if it's not specified)</param> | 3603 | // uri is: http://gauffin.com/code/tiny/ |
4647 | <returns>value if parameter is an int; char.MinValue if not.</returns> | 3604 | Console.WriteLine(request.UriParts[0]); // result: code |
3605 | Console.WriteLine(request.UriParts[1]); // result: tiny | ||
3606 | </example> | ||
3607 | <remarks> | ||
3608 | If you're using controllers than the first part is controller name, | ||
3609 | the second part is method name and the third part is Id property. | ||
3610 | </remarks> | ||
3611 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> | ||
4648 | </member> | 3612 | </member> |
4649 | <member name="M:HttpServer.Helpers.FormValidator.Char(System.String)"> | 3613 | <member name="P:HttpServer.HttpRequest.Param"> |
4650 | <summary> | 3614 | <summary> |
4651 | Check whether the specified value is an character. | 3615 | Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>. |
4652 | </summary> | 3616 | </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> | 3617 | </member> |
4656 | <member name="M:HttpServer.Helpers.FormValidator.Boolean(System.String,System.Boolean)"> | 3618 | <member name="P:HttpServer.HttpRequest.Form"> |
4657 | <summary> | 3619 | <summary> |
4658 | Checks whether a field is true (can also be in native language). | 3620 | Gets form parameters. |
4659 | </summary> | 3621 | </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> | 3622 | </member> |
4665 | <member name="M:HttpServer.Helpers.FormValidator.Boolean(System.String)"> | 3623 | <member name="P:HttpServer.HttpRequest.IsAjax"> |
4666 | <summary> | 3624 | <summary> |
4667 | Checks whether a field is true (can also be in native language). | 3625 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
4668 | </summary> | 3626 | </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> | 3627 | </member> |
4673 | <member name="T:HttpServer.Rendering.ResourceManager"> | 3628 | <member name="P:HttpServer.HttpRequest.Cookies"> |
4674 | <summary> | 3629 | <summary> |
4675 | Class to handle loading of resource files | 3630 | Gets cookies that was sent with the request. |
4676 | </summary> | 3631 | </summary> |
4677 | </member> | 3632 | </member> |
4678 | <member name="F:HttpServer.Rendering.ResourceManager._loadedResources"> | 3633 | <member name="T:HttpServer.Helpers.ResourceManager"> |
4679 | <summary><![CDATA[ | 3634 | <summary>Class to handle loading of resource files</summary> |
4680 | Maps uri's to resources, Dictionary<uri, resource> | ||
4681 | ]]></summary> | ||
4682 | </member> | 3635 | </member> |
4683 | <member name="M:HttpServer.Rendering.ResourceManager.ParseName(System.String@,System.String@)"> | 3636 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor"> |
4684 | <summary> | 3637 | <summary> |
4685 | Parses a filename and sets it to the extensionless name in lowercase. The extension is cut out without the dot. | 3638 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
4686 | </summary> | 3639 | </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> | 3640 | </member> |
4699 | <member name="M:HttpServer.Rendering.ResourceManager.AddResource(System.String,HttpServer.Rendering.ResourceInfo)"> | 3641 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)"> |
4700 | <summary> | 3642 | <summary> |
4701 | Add a resource to a specified uri without extension, ie user/test | 3643 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
4702 | </summary> | 3644 | </summary> |
4703 | <param name="uri">The uri to add the resource to</param> | 3645 | <param name="writer">logger.</param> |
4704 | <param name="info">The <see cref="T:HttpServer.Rendering.ResourceInfo"/> instance describing the resource</param> | ||
4705 | </member> | 3646 | </member> |
4706 | <member name="M:HttpServer.Rendering.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> | 3647 | <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> |
4707 | <summary> | 3648 | <summary> |
4708 | Loads resources from a namespace in the given assembly to an uri | 3649 | Loads resources from a namespace in the given assembly to an URI |
4709 | </summary> | 3650 | </summary> |
4710 | <param name="toUri">The uri to map the resources to</param> | 3651 | <param name="toUri">The URI to map the resources to</param> |
4711 | <param name="fromAssembly">The assembly in which the resources reside</param> | 3652 | <param name="fromAssembly">The assembly in which the resources reside</param> |
4712 | <param name="fromNamespace">The namespace from which to load the resources</param> | 3653 | <param name="fromNamespace">The namespace from which to load the resources</param> |
4713 | <usage> | 3654 | <usage> |
3655 | <code> | ||
4714 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | 3656 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); |
4715 | 3657 | </code> | |
4716 | will make ie the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ | 3658 | Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ |
4717 | </usage> | 3659 | </usage> |
3660 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | ||
3661 | <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception> | ||
4718 | </member> | 3662 | </member> |
4719 | <member name="M:HttpServer.Rendering.ResourceManager.GetResourceStream(System.String)"> | 3663 | <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)"> |
4720 | <summary> | 3664 | <summary> |
4721 | Retrieves a stream for the specified resource path if loaded otherwise null | 3665 | Retrieves a stream for the specified resource path if loaded otherwise null |
4722 | </summary> | 3666 | </summary> |
4723 | <param name="path">Path to the resource to retrieve a stream for</param> | 3667 | <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> | 3668 | <returns>A stream or null if the resource couldn't be found</returns> |
4725 | </member> | 3669 | </member> |
4726 | <member name="M:HttpServer.Rendering.ResourceManager.GetFiles(System.String)"> | 3670 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)"> |
4727 | <summary> | 3671 | <summary> |
4728 | Fetch all files from the resource that matches the specified arguments. | 3672 | Fetch all files from the resource that matches the specified arguments. |
4729 | </summary> | 3673 | </summary> |
@@ -4731,8 +3675,9 @@ | |||
4731 | <returns> | 3675 | <returns> |
4732 | a list of files if found; or an empty array if no files are found. | 3676 | a list of files if found; or an empty array if no files are found. |
4733 | </returns> | 3677 | </returns> |
3678 | <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception> | ||
4734 | </member> | 3679 | </member> |
4735 | <member name="M:HttpServer.Rendering.ResourceManager.GetFiles(System.String,System.String)"> | 3680 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)"> |
4736 | <summary> | 3681 | <summary> |
4737 | Fetch all files from the resource that matches the specified arguments. | 3682 | Fetch all files from the resource that matches the specified arguments. |
4738 | </summary> | 3683 | </summary> |
@@ -4742,836 +3687,103 @@ | |||
4742 | a list of files if found; or an empty array if no files are found. | 3687 | a list of files if found; or an empty array if no files are found. |
4743 | </returns> | 3688 | </returns> |
4744 | </member> | 3689 | </member> |
4745 | <member name="M:HttpServer.Rendering.ResourceManager.ContainsResource(System.String)"> | 3690 | <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)"> |
4746 | <summary> | 3691 | <summary> |
4747 | Returns whether or not the loader has an instance of the file requested | 3692 | Returns whether or not the loader has an instance of the file requested |
4748 | </summary> | 3693 | </summary> |
4749 | <param name="filename">The name of the template/file</param> | 3694 | <param name="filename">The name of the template/file</param> |
4750 | <returns>True if the loader can provide the file</returns> | 3695 | <returns>True if the loader can provide the file</returns> |
4751 | </member> | 3696 | </member> |
4752 | <member name="T:HttpServer.ExceptionHandler"> | 3697 | <member name="T:HttpServer.Helpers.JSHelper"> |
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> | 3698 | <summary> |
4855 | Delegate used to find a realm/domain. | 3699 | Will contain helper functions for javascript. |
4856 | </summary> | 3700 | </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> | 3701 | </member> |
4865 | <member name="T:HttpServer.HttpServer"> | 3702 | <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])"> |
4866 | <summary> | 3703 | <summary> |
4867 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. | 3704 | Requests a url through ajax |
4868 | </summary> | 3705 | </summary> |
3706 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | ||
3707 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> | ||
3708 | <returns>a link tag</returns> | ||
3709 | <remarks>onclick attribute is used by this method.</remarks> | ||
4869 | <example> | 3710 | <example> |
4870 | <code> | 3711 | <code> |
4871 | // this small example will add two web site modules, thus handling | 3712 | // plain text |
4872 | // two different sites. In reality you should add Controller modules or something | 3713 | JSHelper.AjaxRequest("'/user/show/1'"); |
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 | 3714 | ||
5128 | (description is taken from | 3715 | // ajax request using this.href |
5129 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) | 3716 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; |
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> | 3717 | </code> |
5219 | </example> | 3718 | </example> |
5220 | </member> | 3719 | </member> |
5221 | <member name="M:HttpServer.Rendering.TemplateManager.AddType(System.Type)"> | 3720 | <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])"> |
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> | 3721 | <summary> |
5281 | Generate HTML from a template. | 3722 | Ajax requests that updates an element with |
3723 | the fetched content | ||
5282 | </summary> | 3724 | </summary> |
5283 | <param name="filename">Path and filename</param> | 3725 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</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> | 3726 | <param name="targetId">element to update</param> |
5285 | <exception cref="T:System.InvalidOperationException"></exception> | 3727 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> |
5286 | <exception cref="T:Fadd.CompilerException"></exception> | 3728 | <returns>A link tag.</returns> |
5287 | <exception cref="T:System.ArgumentException"></exception> | ||
5288 | <example> | 3729 | <example> |
5289 | <code> | 3730 | <code> |
5290 | string html = cache.Generate("views\\users\\view.haml", new TemplateArguments("user", dbUser, "isAdmin", dbUser.IsAdmin), null); | 3731 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); |
5291 | </code> | 3732 | </code> |
5292 | </example> | 3733 | </example> |
5293 | </member> | 3734 | </member> |
5294 | <member name="T:HttpServer.Rendering.TemplateManager.TemplateInfoImp"> | 3735 | <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"> |
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> | 3736 | <summary> |
5386 | A prefix that is prepended to all requested files. | 3737 | Opens contents in a dialog window. |
5387 | </summary> | 3738 | </summary> |
5388 | <example> | 3739 | <param name="url">url to contents of dialog</param> |
5389 | <code> | 3740 | <param name="title">link title</param> |
5390 | <![CDATA[ | 3741 | <param name="options">name, value, name, value, all parameter names should end with colon.</param> |
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> | 3742 | </member> |
5399 | <member name="T:HttpServer.Helpers.XmlHelper"> | 3743 | <member name="M:HttpServer.Helpers.JSHelper.CloseDialog"> |
5400 | <summary> | 3744 | <summary> |
5401 | Helpers to make XML handling easier | 3745 | Close a javascript dialog window/div. |
5402 | </summary> | 3746 | </summary> |
3747 | <returns>javascript for closing a dialog.</returns> | ||
3748 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> | ||
5403 | </member> | 3749 | </member> |
5404 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> | 3750 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> |
5405 | <summary> | 3751 | <summary> |
5406 | Serializes object to XML. | 3752 | This provider is used to let us implement any type of form decoding we want without |
3753 | having to rewrite anything else in the server. | ||
5407 | </summary> | 3754 | </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> | 3755 | </member> |
5414 | <member name="T:HttpServer.IHttpResponse"> | 3756 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> |
5415 | <summary> | 3757 | <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 | 3758 | ||
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> | 3759 | </summary> |
3760 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> | ||
3761 | <param name="stream">Stream containing form data.</param> | ||
3762 | <param name="encoding">Encoding used when decoding the stream</param> | ||
3763 | <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns> | ||
3764 | <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception> | ||
3765 | <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception> | ||
5554 | </member> | 3766 | </member> |
5555 | <member name="P:HttpServer.IHttpResponse.ContentType"> | 3767 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)"> |
5556 | <summary> | 3768 | <summary> |
5557 | Kind of content in the body | 3769 | Add a decoder. |
5558 | </summary> | 3770 | </summary> |
5559 | <remarks>Default is text/html</remarks> | 3771 | <param name="decoder"></param> |
3772 | <exception cref="T:System.ArgumentNullException"></exception> | ||
5560 | </member> | 3773 | </member> |
5561 | <member name="P:HttpServer.IHttpResponse.HeadersSent"> | 3774 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count"> |
5562 | <summary> | 3775 | <summary> |
5563 | Headers have been sent to the client- | 3776 | Number of added decoders. |
5564 | </summary> | 3777 | </summary> |
5565 | <remarks>You can not send any additional headers if they have already been sent.</remarks> | ||
5566 | </member> | 3778 | </member> |
5567 | <member name="P:HttpServer.IHttpResponse.Sent"> | 3779 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders"> |
5568 | <summary> | 3780 | <summary> |
5569 | The whole response have been sent. | 3781 | Use with care. |
5570 | </summary> | 3782 | </summary> |
5571 | </member> | 3783 | </member> |
5572 | <member name="P:HttpServer.IHttpResponse.Cookies"> | 3784 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder"> |
5573 | <summary> | 3785 | <summary> |
5574 | Cookies that should be created/changed. | 3786 | Decoder used for unknown content types. |
5575 | </summary> | 3787 | </summary> |
5576 | </member> | 3788 | </member> |
5577 | <member name="T:HttpServer.ConnectionType"> | 3789 | <member name="T:HttpServer.ConnectionType"> |
@@ -5591,8 +3803,8 @@ | |||
5591 | </member> | 3803 | </member> |
5592 | <member name="T:HttpServer.HttpInputItem"> | 3804 | <member name="T:HttpServer.HttpInputItem"> |
5593 | <summary> | 3805 | <summary> |
5594 | represents a http input item. Each item can have multiple sub items, a sub item | 3806 | 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 | 3807 | is made in a HTML form by using square brackets |
5596 | </summary> | 3808 | </summary> |
5597 | <example> | 3809 | <example> |
5598 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: | 3810 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: |
@@ -5603,7 +3815,7 @@ | |||
5603 | </remarks> | 3815 | </remarks> |
5604 | </member> | 3816 | </member> |
5605 | <member name="F:HttpServer.HttpInputItem.Empty"> | 3817 | <member name="F:HttpServer.HttpInputItem.Empty"> |
5606 | <summary> Representation of a non-initialized HttpInputItem </summary> | 3818 | <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary> |
5607 | </member> | 3819 | </member> |
5608 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> | 3820 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> |
5609 | <summary> | 3821 | <summary> |
@@ -5621,14 +3833,15 @@ | |||
5621 | <summary> | 3833 | <summary> |
5622 | Add another value to this item | 3834 | Add another value to this item |
5623 | </summary> | 3835 | </summary> |
5624 | <param name="value"></param> | 3836 | <param name="value">Value to add.</param> |
3837 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
5625 | </member> | 3838 | </member> |
5626 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> | 3839 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> |
5627 | <summary> | 3840 | <summary> |
5628 | checks if a subitem exists (and has a value). | 3841 | checks if a sub-item exists (and has a value). |
5629 | </summary> | 3842 | </summary> |
5630 | <param name="name">name in lower case</param> | 3843 | <param name="name">name in lower case</param> |
5631 | <returns>true if the subitem exists and has a value; otherwise false.</returns> | 3844 | <returns>true if the sub-item exists and has a value; otherwise false.</returns> |
5632 | </member> | 3845 | </member> |
5633 | <member name="M:HttpServer.HttpInputItem.ToString"> | 3846 | <member name="M:HttpServer.HttpInputItem.ToString"> |
5634 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> | 3847 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> |
@@ -5642,10 +3855,12 @@ | |||
5642 | </member> | 3855 | </member> |
5643 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> | 3856 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> |
5644 | <summary> | 3857 | <summary> |
5645 | Add a sub item | 3858 | Add a sub item. |
5646 | </summary> | 3859 | </summary> |
5647 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> | 3860 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> |
5648 | <param name="value"></param> | 3861 | <param name="value">Value to add.</param> |
3862 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | ||
3863 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | ||
5649 | </member> | 3864 | </member> |
5650 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | 3865 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
5651 | <summary> | 3866 | <summary> |
@@ -5684,7 +3899,7 @@ | |||
5684 | Get a sub item | 3899 | Get a sub item |
5685 | </summary> | 3900 | </summary> |
5686 | <param name="name">name in lower case.</param> | 3901 | <param name="name">name in lower case.</param> |
5687 | <returns>HttpInputItem.Empty if no item was found.</returns> | 3902 | <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns> |
5688 | </member> | 3903 | </member> |
5689 | <member name="P:HttpServer.HttpInputItem.Name"> | 3904 | <member name="P:HttpServer.HttpInputItem.Name"> |
5690 | <summary> | 3905 | <summary> |
@@ -5704,7 +3919,6 @@ | |||
5704 | <member name="P:HttpServer.HttpInputItem.Values"> | 3919 | <member name="P:HttpServer.HttpInputItem.Values"> |
5705 | <summary> | 3920 | <summary> |
5706 | Returns the list with values. | 3921 | Returns the list with values. |
5707 | todo: Return a readonly collection | ||
5708 | </summary> | 3922 | </summary> |
5709 | </member> | 3923 | </member> |
5710 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> | 3924 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> |
@@ -5714,514 +3928,509 @@ | |||
5714 | <param name="name">name in lower case</param> | 3928 | <param name="name">name in lower case</param> |
5715 | <returns></returns> | 3929 | <returns></returns> |
5716 | </member> | 3930 | </member> |
5717 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> | 3931 | <member name="T:HttpServer.Sessions.MemorySessionStore"> |
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> | 3932 | <summary> |
5742 | Used to simply testing of controls. | 3933 | Session store using memory for each session. |
5743 | </summary> | 3934 | </summary> |
5744 | </member> | 3935 | </member> |
5745 | <member name="F:HttpServer.Controllers.ControllerTester.HostName"> | 3936 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> |
5746 | <summary> | 3937 | <summary> |
5747 | Fake host name, default is "http://localhost" | 3938 | Initializes the class setting the expirationtimer to clean the session every minute |
5748 | </summary> | 3939 | </summary> |
5749 | </member> | 3940 | </member> |
5750 | <member name="F:HttpServer.Controllers.ControllerTester.DefaultSession"> | 3941 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> |
5751 | <summary> | 3942 | <summary> |
5752 | Session used if null have been specified as argument to one of the class methods. | 3943 | Delegate for the cleanup timer |
5753 | </summary> | 3944 | </summary> |
5754 | </member> | 3945 | </member> |
5755 | <member name="M:HttpServer.Controllers.ControllerTester.Get(HttpServer.Controllers.RequestController,System.String,HttpServer.IHttpResponse@,HttpServer.Sessions.IHttpSession)"> | 3946 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> |
5756 | <summary> | 3947 | <summary> |
5757 | Send a GET request to a controller. | 3948 | Creates a new http session |
5758 | </summary> | 3949 | </summary> |
5759 | <param name="controller">Controller receiving the post request.</param> | 3950 | <returns></returns> |
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> | 3951 | </member> |
5810 | <member name="T:HttpServer.ClientAcceptedEventArgs"> | 3952 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> |
5811 | <summary> | 3953 | <summary> |
5812 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> | 3954 | Creates a new http session with a specific id |
5813 | </summary> | 3955 | </summary> |
3956 | <param name="id">Id used to identify the new cookie..</param> | ||
3957 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | ||
5814 | <remarks> | 3958 | <remarks> |
5815 | Can be used to revoke incoming connections | 3959 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. |
5816 | </remarks> | 3960 | </remarks> |
5817 | </member> | 3961 | </member> |
5818 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> | 3962 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> |
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> | 3963 | <summary> |
5831 | Accepted socket. | 3964 | Load an existing session. |
5832 | </summary> | 3965 | </summary> |
3966 | <param name="sessionId"></param> | ||
3967 | <returns></returns> | ||
5833 | </member> | 3968 | </member> |
5834 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> | 3969 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> |
5835 | <summary> | 3970 | <summary> |
5836 | Client should be revoked. | 3971 | Save an updated session to the store. |
5837 | </summary> | 3972 | </summary> |
3973 | <param name="session"></param> | ||
5838 | </member> | 3974 | </member> |
5839 | <member name="T:HttpServer.ResponseCookie"> | 3975 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> |
5840 | <summary> | 3976 | <summary> |
5841 | cookie being sent back to the browser. | 3977 | We use the flyweight pattern which reuses small objects |
3978 | instead of creating new each time. | ||
5842 | </summary> | 3979 | </summary> |
5843 | <seealso cref="T:HttpServer.ResponseCookie"/> | 3980 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> |
5844 | </member> | 3981 | </member> |
5845 | <member name="T:HttpServer.RequestCookie"> | 3982 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> |
5846 | <summary> | 3983 | <summary> |
5847 | cookie sent by the client/browser | 3984 | Remove expired sessions |
5848 | </summary> | 3985 | </summary> |
5849 | <seealso cref="T:HttpServer.ResponseCookie"/> | ||
5850 | </member> | 3986 | </member> |
5851 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> | 3987 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(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> | 3988 | <summary> |
5862 | Gets the cookie HTML representation. | 3989 | Remove a session |
5863 | </summary> | 3990 | </summary> |
5864 | <returns>cookie string</returns> | 3991 | <param name="sessionId">id of the session.</param> |
5865 | </member> | 3992 | </member> |
5866 | <member name="P:HttpServer.RequestCookie.Name"> | 3993 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> |
5867 | <summary> | 3994 | <summary> |
5868 | Gets the cookie identifier. | 3995 | Load a session from the store |
5869 | </summary> | 3996 | </summary> |
3997 | <param name="sessionId"></param> | ||
3998 | <returns>null if session is not found.</returns> | ||
5870 | </member> | 3999 | </member> |
5871 | <member name="P:HttpServer.RequestCookie.Value"> | 4000 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> |
5872 | <summary> | 4001 | <summary> |
5873 | Cookie value. Set to null to remove cookie. | 4002 | Number of minutes before a session expires. |
4003 | Default is 20 minutes. | ||
5874 | </summary> | 4004 | </summary> |
5875 | </member> | 4005 | </member> |
5876 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> | 4006 | <member name="T:HttpServer.Rules.RedirectRule"> |
5877 | <summary> | 4007 | <summary> |
5878 | Constructor. | 4008 | redirects from one URL to another. |
5879 | </summary> | 4009 | </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> | 4010 | </member> |
5886 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> | 4011 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> |
5887 | <summary> | 4012 | <summary> |
5888 | Create a new cookie | 4013 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
5889 | </summary> | 4014 | </summary> |
5890 | <param name="name">name identifying the cookie</param> | 4015 | <param name="fromUrl">Absolute path (no server name)</param> |
5891 | <param name="value">cookie value</param> | 4016 | <param name="toUrl">Absolute path (no server name)</param> |
5892 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> | 4017 | <example> |
5893 | <param name="path">Path to where the cookie is valid</param> | 4018 | server.Add(new RedirectRule("/", "/user/index")); |
5894 | <param name="domain">Domain that the cookie is valid for.</param> | 4019 | </example> |
5895 | </member> | 4020 | </member> |
5896 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> | 4021 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> |
5897 | <summary> | 4022 | <summary> |
5898 | Create a new cookie | 4023 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
5899 | </summary> | 4024 | </summary> |
5900 | <param name="cookie">Name and value will be used</param> | 4025 | <param name="fromUrl">Absolute path (no server name)</param> |
5901 | <param name="expires">when the cookie expires.</param> | 4026 | <param name="toUrl">Absolute path (no server name)</param> |
4027 | <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param> | ||
4028 | <example> | ||
4029 | server.Add(new RedirectRule("/", "/user/index")); | ||
4030 | </example> | ||
5902 | </member> | 4031 | </member> |
5903 | <member name="M:HttpServer.ResponseCookie.ToString"> | 4032 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
5904 | <summary> | 4033 | <summary> |
5905 | Gets the cookie HTML representation. | 4034 | Process the incoming request. |
5906 | </summary> | 4035 | </summary> |
5907 | <returns>cookie string</returns> | 4036 | <param name="request">incoming HTTP request</param> |
4037 | <param name="response">outgoing HTTP response</param> | ||
4038 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
4039 | <remarks> | ||
4040 | returning true means that no modules will get the request. Returning true is typically being done | ||
4041 | for redirects. | ||
4042 | </remarks> | ||
5908 | </member> | 4043 | </member> |
5909 | <member name="P:HttpServer.ResponseCookie.Expires"> | 4044 | <member name="P:HttpServer.Rules.RedirectRule.FromUrl"> |
5910 | <summary> | 4045 | <summary> |
5911 | When the cookie expires. | 4046 | Gets string to match request URI with. |
5912 | DateTime.MinValue means that the cookie expires when the session do so. | ||
5913 | </summary> | 4047 | </summary> |
4048 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> | ||
5914 | </member> | 4049 | </member> |
5915 | <member name="P:HttpServer.ResponseCookie.Path"> | 4050 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> |
5916 | <summary> | 4051 | <summary> |
5917 | Cookie is only valid under this path. | 4052 | Gets where to redirect. |
5918 | </summary> | 4053 | </summary> |
5919 | </member> | 4054 | </member> |
5920 | <member name="T:HttpServer.Rendering.ITinyTemplate"> | 4055 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> |
5921 | <summary> | 4056 | <summary> |
5922 | Interface for dynamically generated templates. | 4057 | Gets whether server should redirect client. |
5923 | </summary> | 4058 | </summary> |
5924 | <seealso cref="T:HttpServer.Rendering.TemplateManager"/> | 4059 | <remarks> |
4060 | <c>false</c> means that the rule will replace | ||
4061 | the current request URI with the new one from this class. | ||
4062 | <c>true</c> means that a redirect response is sent to the client. | ||
4063 | </remarks> | ||
5925 | </member> | 4064 | </member> |
5926 | <member name="M:HttpServer.Rendering.ITinyTemplate.Invoke(HttpServer.Rendering.TemplateArguments,HttpServer.Rendering.TemplateManager)"> | 4065 | <member name="T:HttpServer.Parser.BodyEventArgs"> |
5927 | <summary> | 4066 | <summary> |
5928 | Run the template to generate HTML code. | 4067 | Arguments used when more body bytes have come. |
5929 | </summary> | 4068 | </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> | 4069 | </member> |
5934 | <member name="T:HttpServer.Rendering.CodeGeneratorException"> | 4070 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)"> |
5935 | <summary> | 4071 | <summary> |
5936 | Contains information on where in the template the error occurred, and what the error was. | 4072 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
5937 | </summary> | 4073 | </summary> |
4074 | <param name="buffer">buffer that contains the received bytes.</param> | ||
4075 | <param name="offset">offset in buffer where to start processing.</param> | ||
4076 | <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param> | ||
5938 | </member> | 4077 | </member> |
5939 | <member name="M:HttpServer.Rendering.CodeGeneratorException.#ctor(System.Int32,System.String)"> | 4078 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor"> |
5940 | <summary> | 4079 | <summary> |
5941 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.CodeGeneratorException"/> class. | 4080 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
5942 | </summary> | 4081 | </summary> |
5943 | <param name="lineNumber">Line that the error appeared on.</param> | ||
5944 | <param name="error">error description.</param> | ||
5945 | </member> | 4082 | </member> |
5946 | <member name="M:HttpServer.Rendering.CodeGeneratorException.#ctor(System.Int32,System.String,System.String)"> | 4083 | <member name="P:HttpServer.Parser.BodyEventArgs.Buffer"> |
5947 | <summary> | 4084 | <summary> |
5948 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.CodeGeneratorException"/> class. | 4085 | Gets or sets buffer that contains the received bytes. |
5949 | </summary> | 4086 | </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> | 4087 | </member> |
5954 | <member name="P:HttpServer.Rendering.CodeGeneratorException.Line"> | 4088 | <member name="P:HttpServer.Parser.BodyEventArgs.Count"> |
5955 | <summary> | 4089 | <summary> |
5956 | Returns the actual line where the error originated | 4090 | Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed. |
5957 | </summary> | 4091 | </summary> |
5958 | </member> | 4092 | </member> |
5959 | <member name="P:HttpServer.Rendering.CodeGeneratorException.LineNumber"> | 4093 | <member name="P:HttpServer.Parser.BodyEventArgs.Offset"> |
5960 | <summary> | 4094 | <summary> |
5961 | Line number in template | 4095 | Gets or sets offset in buffer where to start processing. |
5962 | </summary> | 4096 | </summary> |
5963 | </member> | 4097 | </member> |
5964 | <member name="T:HttpServer.Rendering.Haml.Nodes.SilentCodeNode"> | 4098 | <member name="T:HttpServer.HttpModules.WebSiteModule"> |
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> | 4099 | <summary> |
5987 | determines if this node can handle the line (by checking the first word); | 4100 | The website module let's you handle multiple websites in the same server. |
4101 | It uses the "Host" header to check which site you want. | ||
5988 | </summary> | 4102 | </summary> |
5989 | <param name="word">Controller char (word)</param> | 4103 | <remarks>It's recommended that you do not |
5990 | <returns>true if text belongs to this node type</returns> | 4104 | add any other modules to HttpServer if you are using the website module. Instead, |
5991 | <param name="firstNode">first node on line</param> | 4105 | add all wanted modules to each website.</remarks> |
5992 | </member> | 4106 | </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@)"> | 4107 | <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)"> |
5994 | <summary> | 4108 | <summary> |
5995 | Parse node contents add return a fresh node. | 4109 | |
5996 | </summary> | 4110 | </summary> |
5997 | <param name="prototypes">List containing all node types</param> | 4111 | <param name="host">domain name that should be handled.</param> |
5998 | <param name="parent">Node that this is a subnode to. Can be null</param> | 4112 | <param name="name"></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> | 4113 | </member> |
6004 | <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 4114 | <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
6005 | <summary> | 4115 | <summary> |
6006 | Convert the node to c# code | 4116 | Method that process the url |
6007 | </summary> | 4117 | </summary> |
6008 | <param name="inString">True if we are inside the internal stringbuilder</param> | 4118 | <param name="request">Information sent by the browser about the request</param> |
6009 | <param name="smallEnough">true if all subnodes fit on one line</param> | 4119 | <param name="response">Information that is being sent back to the client.</param> |
6010 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 4120 | <param name="session">Session used to </param> |
6011 | <returns>c# code</returns> | ||
6012 | </member> | 4121 | </member> |
6013 | <member name="M:HttpServer.Rendering.Haml.Nodes.SilentCodeNode.ToHtml"> | 4122 | <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName"> |
6014 | <summary> | 4123 | <summary> |
6015 | Convert node to HTML (with ASP-tags) | 4124 | Name of site. |
6016 | </summary> | 4125 | </summary> |
6017 | <returns>HTML string</returns> | ||
6018 | </member> | 4126 | </member> |
6019 | <member name="T:HttpServer.Rendering.TemplateCompiler"> | 4127 | <member name="T:HttpServer.Helpers.FormHelper"> |
6020 | <summary> | 4128 | <summary> |
6021 | The compiler is responsible of creating a render object which can be | 4129 | Helpers making it easier to work with forms. |
6022 | cached and used over and over again. | ||
6023 | </summary> | 4130 | </summary> |
6024 | <seealso cref="T:HttpServer.Rendering.TemplateManager"/> | 4131 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> |
6025 | <seealso cref="T:HttpServer.Rendering.ITemplateGenerator"/> | ||
6026 | </member> | 4132 | </member> |
6027 | <member name="F:HttpServer.Rendering.TemplateCompiler.TemplateBase"> | 4133 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> |
6028 | <summary> | 4134 | <summary> |
6029 | Base c# code for a template object. | 4135 | Used to let the website use different JavaScript libraries. |
4136 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | ||
6030 | </summary> | 4137 | </summary> |
6031 | </member> | 4138 | </member> |
6032 | <member name="M:HttpServer.Rendering.TemplateCompiler.#ctor"> | 4139 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> |
6033 | <summary> | 4140 | <summary> |
6034 | Create a new template compiler | 4141 | Create a <form> tag. |
6035 | </summary> | 4142 | </summary> |
4143 | <param name="id">name of form</param> | ||
4144 | <param name="action">action to invoke on submit</param> | ||
4145 | <param name="isAjax">form should be posted as Ajax</param> | ||
4146 | <returns>HTML code</returns> | ||
4147 | <example> | ||
4148 | <code> | ||
4149 | // without options | ||
4150 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | ||
4151 | |||
4152 | // with options | ||
4153 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); | ||
4154 | </code> | ||
4155 | </example> | ||
4156 | <param name="options">HTML attributes or JavaScript options.</param> | ||
4157 | <remarks>Method will ALWAYS be POST.</remarks> | ||
4158 | <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception> | ||
6036 | </member> | 4159 | </member> |
6037 | <member name="M:HttpServer.Rendering.TemplateCompiler.Add(System.Type)"> | 4160 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
6038 | <summary> | 4161 | <summary> |
6039 | Adds the specified type. | 4162 | Creates a select list with the values in a collection. |
6040 | </summary> | 4163 | </summary> |
6041 | <param name="type">The type.</param> | 4164 | <param name="name">Name of the SELECT-tag</param> |
4165 | <param name="collection">collection used to generate options.</param> | ||
4166 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
4167 | <param name="selectedValue">value that should be marked as selected.</param> | ||
4168 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
4169 | <returns>string containing a SELECT-tag.</returns> | ||
4170 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
6042 | </member> | 4171 | </member> |
6043 | <member name="M:HttpServer.Rendering.TemplateCompiler.Compile(HttpServer.Rendering.TemplateArguments,System.String,System.String)"> | 4172 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
6044 | <summary> | 4173 | <summary> |
6045 | Compiles the specified args. | 4174 | Creates a select list with the values in a collection. |
6046 | </summary> | 4175 | </summary> |
6047 | <param name="args">Arguments, should contain "name, value, name, value" etc.</param> | 4176 | <param name="name">Name of the SELECT-tag</param> |
6048 | <param name="template">c# code that will be included in the generated template class</param> | 4177 | <param name="id">Id of the SELECT-tag</param> |
6049 | <param name="templateId">Id of the template class</param> | 4178 | <param name="collection">collection used to generate options.</param> |
6050 | <returns>Tiny template if successful; otherwise null.</returns> | 4179 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
6051 | <exception cref="T:Fadd.CompilerException">If compilation fails</exception> | 4180 | <param name="selectedValue">value that should be marked as selected.</param> |
6052 | <exception cref="T:System.ArgumentException">If args are incorrect</exception> | 4181 | <param name="firstEmpty">First row should contain an empty value.</param> |
6053 | </member> | 4182 | <returns>string containing a SELECT-tag.</returns> |
6054 | <member name="T:HttpServer.HttpResponse"> | 4183 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> |
6055 | <summary> | 4184 | <example> |
6056 | Response that is sent back to the web browser / client. | 4185 | <code> |
4186 | // Class that is going to be used in a SELECT-tag. | ||
4187 | public class User | ||
4188 | { | ||
4189 | private readonly string _realName; | ||
4190 | private readonly int _id; | ||
4191 | public User(int id, string realName) | ||
4192 | { | ||
4193 | _id = id; | ||
4194 | _realName = realName; | ||
4195 | } | ||
4196 | public string RealName | ||
4197 | { | ||
4198 | get { return _realName; } | ||
4199 | } | ||
6057 | 4200 | ||
6058 | A response can be sent if different ways. The easiest one is | 4201 | public int Id |
6059 | to just fill the Body stream with content, everything else | 4202 | { |
6060 | will then be taken care of by the framework. The default content-type | 4203 | get { return _id; } |
6061 | is text/html, you should change it if you send anything else. | 4204 | } |
4205 | } | ||
6062 | 4206 | ||
6063 | The second and slighty more complex way is to send the response | 4207 | // Using an inline delegate to generate the select list |
6064 | as parts. Start with sending the header using the SendHeaders method and | 4208 | public void UserInlineDelegate() |
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 | { | 4209 | { |
6071 | 4210 | List<User> items = new List<User>(); | |
4211 | items.Add(new User(1, "adam")); | ||
4212 | items.Add(new User(2, "bertial")); | ||
4213 | items.Add(new User(3, "david")); | ||
4214 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) | ||
4215 | { | ||
4216 | User user = (User)o; | ||
4217 | id = user.Id; | ||
4218 | value = user.RealName; | ||
4219 | }, 2, true); | ||
6072 | } | 4220 | } |
4221 | |||
4222 | // Using an method as delegate to generate the select list. | ||
4223 | public void UseExternalDelegate() | ||
4224 | { | ||
4225 | List<User> items = new List<User>(); | ||
4226 | items.Add(new User(1, "adam")); | ||
4227 | items.Add(new User(2, "bertial")); | ||
4228 | items.Add(new User(3, "david")); | ||
4229 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); | ||
4230 | } | ||
4231 | |||
4232 | // delegate returning id and title | ||
4233 | public static void UserOptions(object o, out object id, out object title) | ||
4234 | { | ||
4235 | User user = (User)o; | ||
4236 | id = user.Id; | ||
4237 | value = user.RealName; | ||
4238 | } | ||
4239 | </code> | ||
6073 | </example> | 4240 | </example> |
6074 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. | 4241 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> |
6075 | </member> | 4242 | </member> |
6076 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 4243 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])"> |
6077 | <summary> | 4244 | <summary> |
6078 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. | 4245 | Creates a select list with the values in a collection. |
6079 | </summary> | 4246 | </summary> |
6080 | <param name="context">The context.</param> | 4247 | <param name="name">Name of the SELECT-tag</param> |
6081 | <param name="request">The request.</param> | 4248 | <param name="id">Id of the SELECT-tag</param> |
4249 | <param name="collection">collection used to generate options.</param> | ||
4250 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | ||
4251 | <param name="selectedValue">value that should be marked as selected.</param> | ||
4252 | <param name="firstEmpty">First row should contain an empty value.</param> | ||
4253 | <param name="htmlAttributes">name, value collection of extra HTML attributes.</param> | ||
4254 | <returns>string containing a SELECT-tag.</returns> | ||
4255 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | ||
4256 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
4257 | <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception> | ||
6082 | </member> | 4258 | </member> |
6083 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> | 4259 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
6084 | <summary> | 4260 | <summary> |
6085 | Add another header to the document. | 4261 | Generate a list of HTML options |
6086 | </summary> | 4262 | </summary> |
6087 | <param name="name">Name of the header, case sensitive, use lower cases.</param> | 4263 | <param name="collection">collection used to generate options.</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> | 4264 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
6089 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 4265 | <param name="selectedValue">value that should be marked as selected.</param> |
6090 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | 4266 | <param name="firstEmpty">First row should contain an empty value.</param> |
6091 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | 4267 | <returns></returns> |
4268 | <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception> | ||
6092 | </member> | 4269 | </member> |
6093 | <member name="M:HttpServer.HttpResponse.Send"> | 4270 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4271 | <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception> | ||
4272 | </member> | ||
4273 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])"> | ||
6094 | <summary> | 4274 | <summary> |
6095 | Send headers and body to the browser. | 4275 | Creates a check box. |
6096 | </summary> | 4276 | </summary> |
6097 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> | 4277 | <param name="name">element name</param> |
4278 | <param name="value">element value</param> | ||
4279 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | ||
4280 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4281 | the box is checked or not. </param> | ||
4282 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4283 | <returns>a generated radio button</returns> | ||
6098 | </member> | 4284 | </member> |
6099 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> | 4285 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])"> |
6100 | <summary> | 4286 | <summary> |
6101 | Make sure that you have specified ContentLength and sent the headers first. | 4287 | Creates a check box. |
6102 | </summary> | 4288 | </summary> |
6103 | <param name="buffer"></param> | 4289 | <param name="name">element name</param> |
6104 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 4290 | <param name="id">element id</param> |
6105 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 4291 | <param name="value">element value</param> |
6106 | <param name="offset">offest of first byte to send</param> | 4292 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the |
6107 | <param name="count">number of bytes to send.</param> | 4293 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
6108 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 4294 | the box is checked or not. </param> |
6109 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | 4295 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
6110 | <remarks>This method can be used if you want to send body contents without caching them first. This | 4296 | <returns>a generated radio button</returns> |
6111 | is recommended for larger files to keep the memory usage low.</remarks> | 4297 | <remarks> |
4298 | value in your business object. (check box will be selected if it matches the element value) | ||
4299 | </remarks> | ||
6112 | </member> | 4300 | </member> |
6113 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> | 4301 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])"> |
6114 | <summary> | 4302 | <summary> |
6115 | Make sure that you have specified ContentLength and sent the headers first. | 4303 | Creates a check box. |
6116 | </summary> | 4304 | </summary> |
6117 | <param name="buffer"></param> | 4305 | <param name="name">element name</param> |
6118 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 4306 | <param name="id">element id</param> |
6119 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 4307 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the |
6120 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 4308 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
6121 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | 4309 | the box is checked or not. </param> |
6122 | <remarks>This method can be used if you want to send body contents without caching them first. This | 4310 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
6123 | is recommended for larger files to keep the memory usage low.</remarks> | 4311 | <returns>a generated radio button</returns> |
4312 | <remarks>will set value to "1".</remarks> | ||
6124 | </member> | 4313 | </member> |
6125 | <member name="M:HttpServer.HttpResponse.SendHeaders"> | 4314 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> |
6126 | <summary> | 4315 | <summary> |
6127 | Send headers to the client. | 4316 | Creates a RadioButton. |
6128 | </summary> | 4317 | </summary> |
6129 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 4318 | <param name="name">element name</param> |
6130 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> | 4319 | <param name="value">element value</param> |
6131 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 4320 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the |
6132 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> | 4321 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
4322 | the box is checked or not. </param> | ||
4323 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4324 | <returns>a generated radio button</returns> | ||
6133 | </member> | 4325 | </member> |
6134 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> | 4326 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> |
6135 | <summary> | 4327 | <summary> |
6136 | Redirect client to somewhere else using the 302 status code. | 4328 | Creates a RadioButton. |
6137 | </summary> | 4329 | </summary> |
6138 | <param name="uri">Destination of the redirect</param> | 4330 | <param name="name">element name</param> |
6139 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 4331 | <param name="id">element id</param> |
6140 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | 4332 | <param name="value">element value</param> |
6141 | action.</remarks> | 4333 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the |
4334 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | ||
4335 | the box is checked or not. </param> | ||
4336 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | ||
4337 | <returns>a generated radio button</returns> | ||
6142 | </member> | 4338 | </member> |
6143 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> | 4339 | <member name="M:HttpServer.Helpers.FormHelper.End"> |
6144 | <summary> | 4340 | <summary> |
6145 | redirect to somewhere | 4341 | form close tag |
6146 | </summary> | 4342 | </summary> |
6147 | <param name="url">where the redirect should go</param> | 4343 | <returns></returns> |
6148 | <remarks> | ||
6149 | No body are allowed when doing redirects. | ||
6150 | </remarks> | ||
6151 | </member> | 4344 | </member> |
6152 | <member name="P:HttpServer.HttpResponse.Body"> | 4345 | <member name="T:HttpServer.Exceptions.ForbiddenException"> |
6153 | <summary> | 4346 | <summary> |
6154 | The body stream is used to cache the body contents | 4347 | The server understood the request, but is refusing to fulfill it. |
6155 | before sending everything to the client. It's the simplest | 4348 | Authorization will not help and the request SHOULD NOT be repeated. |
6156 | way to serve documents. | 4349 | If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, |
4350 | it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information | ||
4351 | available to the client, the status code 404 (Not Found) can be used instead. | ||
4352 | |||
4353 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | ||
6157 | </summary> | 4354 | </summary> |
6158 | </member> | 4355 | </member> |
6159 | <member name="P:HttpServer.HttpResponse.Chunked"> | 4356 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> |
6160 | <summary> | 4357 | <summary> |
6161 | The chunked encoding modifies the body of a message in order to | 4358 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. |
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> | 4359 | </summary> |
4360 | <param name="errorMsg">error message</param> | ||
6168 | </member> | 4361 | </member> |
6169 | <member name="P:HttpServer.HttpResponse.Connection"> | 4362 | <member name="T:HttpServer.ContentType"> |
6170 | <summary> | 4363 | <summary> |
6171 | Kind of connection | 4364 | Lists content type mime types. |
6172 | </summary> | 4365 | </summary> |
6173 | </member> | 4366 | </member> |
6174 | <member name="P:HttpServer.HttpResponse.Encoding"> | 4367 | <member name="F:HttpServer.ContentType.Text"> |
6175 | <summary> | 4368 | <summary> |
6176 | Encoding to use when sending stuff to the client. | 4369 | text/plain |
6177 | </summary> | 4370 | </summary> |
6178 | <remarks>Default is UTF8</remarks> | ||
6179 | </member> | 4371 | </member> |
6180 | <member name="P:HttpServer.HttpResponse.KeepAlive"> | 4372 | <member name="F:HttpServer.ContentType.Html"> |
6181 | <summary> | 4373 | <summary> |
6182 | Number of seconds to keep connection alive | 4374 | text/haml |
6183 | </summary> | 4375 | </summary> |
6184 | <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks> | ||
6185 | </member> | 4376 | </member> |
6186 | <member name="P:HttpServer.HttpResponse.Status"> | 4377 | <member name="F:HttpServer.ContentType.Javascript"> |
6187 | <summary> | 4378 | <summary> |
6188 | Status code that is sent to the client. | 4379 | content type for javascript documents = application/javascript |
6189 | </summary> | 4380 | </summary> |
6190 | <remarks>Default is HttpStatusCode.Ok</remarks> | 4381 | <remarks> |
4382 | <para> | ||
4383 | RFC 4329 states that text/javascript have been superseeded by | ||
4384 | application/javascript. You might still want to check browser versions | ||
4385 | since older ones do not support application/javascript. | ||
4386 | </para> | ||
4387 | <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para> | ||
4388 | </remarks> | ||
6191 | </member> | 4389 | </member> |
6192 | <member name="P:HttpServer.HttpResponse.Reason"> | 4390 | <member name="F:HttpServer.ContentType.Xml"> |
6193 | <summary> | 4391 | <summary> |
6194 | Information about why a specific status code was used. | 4392 | text/xml |
6195 | </summary> | 4393 | </summary> |
6196 | </member> | 4394 | </member> |
6197 | <member name="P:HttpServer.HttpResponse.ContentLength"> | 4395 | <member name="T:HttpServer.ContentTypes"> |
6198 | <summary> | 4396 | <summary> |
6199 | Size of the body. MUST be specified before sending the header, | 4397 | A list of content types |
6200 | unless property Chunked is set to true. | ||
6201 | </summary> | 4398 | </summary> |
6202 | </member> | 4399 | </member> |
6203 | <member name="P:HttpServer.HttpResponse.ContentType"> | 4400 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> |
6204 | <summary> | 4401 | <summary> |
6205 | Kind of content in the body | 4402 | |
6206 | </summary> | 4403 | </summary> |
6207 | <remarks>Default is text/html</remarks> | 4404 | <param name="types">Semicolon separated content types.</param> |
6208 | </member> | 4405 | </member> |
6209 | <member name="P:HttpServer.HttpResponse.HeadersSent"> | 4406 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> |
6210 | <summary> | 4407 | <summary> |
6211 | Headers have been sent to the client- | 4408 | Returns an enumerator that iterates through a collection. |
6212 | </summary> | 4409 | </summary> |
6213 | <remarks>You can not send any additional headers if they have already been sent.</remarks> | 4410 | <returns> |
4411 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. | ||
4412 | </returns> | ||
6214 | </member> | 4413 | </member> |
6215 | <member name="P:HttpServer.HttpResponse.Sent"> | 4414 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> |
6216 | <summary> | 4415 | <summary> |
6217 | The whole response have been sent. | 4416 | Searches for the specified type |
6218 | </summary> | 4417 | </summary> |
4418 | <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param> | ||
4419 | <returns>true if type was found.</returns> | ||
6219 | </member> | 4420 | </member> |
6220 | <member name="P:HttpServer.HttpResponse.Cookies"> | 4421 | <member name="P:HttpServer.ContentTypes.First"> |
6221 | <summary> | 4422 | <summary> |
6222 | Cookies that should be created/changed. | 4423 | Get this first content type. |
6223 | </summary> | 4424 | </summary> |
6224 | </member> | 4425 | </member> |
4426 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> | ||
4427 | <summary> | ||
4428 | Fetch a content type | ||
4429 | </summary> | ||
4430 | <param name="type">Part of type ("xml" would return "application/xml")</param> | ||
4431 | <returns></returns> | ||
4432 | <remarks>All content types are in lower case.</remarks> | ||
4433 | </member> | ||
6225 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> | 4434 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> |
6226 | <summary> | 4435 | <summary> |
6227 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites | 4436 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites |
@@ -6257,644 +4466,731 @@ | |||
6257 | <param name="response">Information that is being sent back to the client.</param> | 4466 | <param name="response">Information that is being sent back to the client.</param> |
6258 | <param name="session">Session used to </param> | 4467 | <param name="session">Session used to </param> |
6259 | </member> | 4468 | </member> |
6260 | <member name="T:HttpServer.HttpForm"> | 4469 | <member name="T:HttpServer.HttpClientContext"> |
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> | 4470 | <summary> |
6271 | Makes a deep copy of the input | 4471 | Contains a connection to a browser/client. |
6272 | </summary> | 4472 | </summary> |
6273 | <param name="input">The input to copy</param> | 4473 | <remarks> |
4474 | Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event. | ||
4475 | </remarks> | ||
4476 | TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? | ||
6274 | </member> | 4477 | </member> |
6275 | <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)"> | 4478 | <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)"> |
6276 | <summary> | 4479 | <summary> |
6277 | Adds a file to the collection of posted files | 4480 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class. |
6278 | </summary> | 4481 | </summary> |
6279 | <param name="file">The file to add</param> | 4482 | <param name="secured">true if the connection is secured (SSL/TLS)</param> |
6280 | <exception cref="T:System.ArgumentException">If the file is already added</exception> | 4483 | <param name="remoteEndPoint">client that connected.</param> |
6281 | <exception cref="T:System.ArgumentNullException">If file is null</exception> | 4484 | <param name="stream">Stream used for communication</param> |
6282 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | 4485 | <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param> |
4486 | <param name="bufferSize">Size of buffer to use when reading data. Must be at least 1024 bytes.</param> | ||
4487 | <exception cref="T:System.Net.Sockets.SocketException">If <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> fails</exception> | ||
4488 | <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception> | ||
6283 | </member> | 4489 | </member> |
6284 | <member name="M:HttpServer.HttpForm.ContainsFile(System.String)"> | 4490 | <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)"> |
6285 | <summary> | 4491 | <summary> |
6286 | Checks if the form contains a specified file | 4492 | Process incoming body bytes. |
6287 | </summary> | 4493 | </summary> |
6288 | <param name="name">Field name of the file parameter</param> | 4494 | <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param> |
6289 | <returns>True if the file exists</returns> | 4495 | <param name="e">Bytes</param> |
6290 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | ||
6291 | </member> | 4496 | </member> |
6292 | <member name="M:HttpServer.HttpForm.GetFile(System.String)"> | 4497 | <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)"> |
6293 | <summary> | 4498 | <summary> |
6294 | Retrieves a file held by by the form | 4499 | |
6295 | </summary> | 4500 | </summary> |
6296 | <param name="name">The identifier of the file</param> | 4501 | <param name="sender"></param> |
6297 | <returns>The requested file or null if the file was not found</returns> | 4502 | <param name="e"></param> |
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> | 4503 | </member> |
6301 | <member name="M:HttpServer.HttpForm.Clear"> | 4504 | <member name="M:HttpServer.HttpClientContext.Start"> |
6302 | <summary>Disposes all held HttpFile's and resets values</summary> | ||
6303 | </member> | ||
6304 | <member name="T:HttpServer.Exceptions.InternalServerException"> | ||
6305 | <summary> | 4505 | <summary> |
6306 | The server encountered an unexpected condition which prevented it from fulfilling the request. | 4506 | Start reading content. |
6307 | </summary> | 4507 | </summary> |
4508 | <remarks> | ||
4509 | Make sure to call base.Start() if you override this method. | ||
4510 | </remarks> | ||
6308 | </member> | 4511 | </member> |
6309 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> | 4512 | <member name="M:HttpServer.HttpClientContext.Cleanup"> |
6310 | <summary> | 4513 | <summary> |
6311 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 4514 | Clean up context. |
6312 | </summary> | 4515 | </summary> |
4516 | <remarks> | ||
4517 | Make sure to call base.Cleanup() if you override the method. | ||
4518 | </remarks> | ||
6313 | </member> | 4519 | </member> |
6314 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> | 4520 | <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
6315 | <summary> | 4521 | <summary> |
6316 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 4522 | Disconnect from client |
6317 | </summary> | 4523 | </summary> |
6318 | <param name="message">error message.</param> | 4524 | <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param> |
6319 | </member> | 4525 | </member> |
6320 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> | 4526 | <member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)"> |
4527 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | ||
4528 | </member> | ||
4529 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> | ||
6321 | <summary> | 4530 | <summary> |
6322 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 4531 | Send a response. |
6323 | </summary> | 4532 | </summary> |
6324 | <param name="message">error message.</param> | 4533 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
6325 | <param name="inner">inner exception.</param> | 4534 | <param name="statusCode">HTTP status code</param> |
4535 | <param name="reason">reason for the status code.</param> | ||
4536 | <param name="body">HTML body contents, can be null or empty.</param> | ||
4537 | <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param> | ||
4538 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | ||
6326 | </member> | 4539 | </member> |
6327 | <member name="T:HttpServer.Controllers.RawHandlerAttribute"> | 4540 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
6328 | <summary> | 4541 | <summary> |
6329 | This attribute tells the controller that the method | 4542 | Send a response. |
6330 | uses SendHeader and/or SendBody to handle the request. | ||
6331 | </summary> | 4543 | </summary> |
4544 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | ||
4545 | <param name="statusCode">HTTP status code</param> | ||
4546 | <param name="reason">reason for the status code.</param> | ||
6332 | </member> | 4547 | </member> |
6333 | <member name="T:HttpServer.Rendering.Haml.LineInfo"> | 4548 | <member name="M:HttpServer.HttpClientContext.Respond(System.String)"> |
6334 | <summary> | 4549 | <summary> |
6335 | Contains line text and state information about a line in a HAML template. | 4550 | Send a response. |
6336 | </summary> | 4551 | </summary> |
4552 | <exception cref="T:System.ArgumentNullException"></exception> | ||
6337 | </member> | 4553 | </member> |
6338 | <member name="M:HttpServer.Rendering.Haml.LineInfo.#ctor(System.Int32,System.String)"> | 4554 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])"> |
6339 | <summary> | 4555 | <summary> |
6340 | Initializes a new instance of the <see cref="T:HttpServer.Rendering.Haml.LineInfo"/> class. | 4556 | send a whole buffer |
6341 | </summary> | 4557 | </summary> |
6342 | <param name="lineNumber">The line number.</param> | 4558 | <param name="buffer">buffer to send</param> |
6343 | <param name="unparsedData">The unparsed data (line contents).</param> | 4559 | <exception cref="T:System.ArgumentNullException"></exception> |
6344 | </member> | 4560 | </member> |
6345 | <member name="M:HttpServer.Rendering.Haml.LineInfo.CheckUnfinishedRule(HttpServer.Rendering.Haml.LineInfo)"> | 4561 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
6346 | <summary> | 4562 | <summary> |
6347 | Will check that all rule conditions have been met. | 4563 | Send data using the stream |
6348 | Will also remove the rules if they are done. | ||
6349 | </summary> | 4564 | </summary> |
6350 | <param name="line"></param> | 4565 | <param name="buffer">Contains data to send</param> |
6351 | <returns></returns> | 4566 | <param name="offset">Start position in buffer</param> |
4567 | <param name="size">number of bytes to send</param> | ||
4568 | <exception cref="T:System.ArgumentNullException"></exception> | ||
4569 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
6352 | </member> | 4570 | </member> |
6353 | <member name="M:HttpServer.Rendering.Haml.LineInfo.Append(HttpServer.Rendering.Haml.LineInfo)"> | 4571 | <member name="E:HttpServer.HttpClientContext.Cleaned"> |
6354 | <summary> | 4572 | <summary> |
6355 | Append another line | 4573 | This context have been cleaned, which means that it can be reused. |
6356 | </summary> | 4574 | </summary> |
6357 | <param name="line"></param> | ||
6358 | </member> | 4575 | </member> |
6359 | <member name="M:HttpServer.Rendering.Haml.LineInfo.SetParsedData(System.String)"> | 4576 | <member name="E:HttpServer.HttpClientContext.Started"> |
6360 | <summary> | 4577 | <summary> |
6361 | Parsed line contents (without whitespaces in the beginning) | 4578 | Context have been started (a new client have connected) |
6362 | </summary> | 4579 | </summary> |
6363 | <param name="data">text contents</param> | ||
6364 | </member> | 4580 | </member> |
6365 | <member name="M:HttpServer.Rendering.Haml.LineInfo.Set(System.Int32,System.Int32)"> | 4581 | <member name="P:HttpServer.HttpClientContext.CurrentRequest"> |
6366 | <summary> | 4582 | <summary> |
6367 | Set intendation info to previously added line text. | 4583 | Overload to specify own type. |
6368 | </summary> | 4584 | </summary> |
6369 | <param name="whiteSpaces"></param> | 4585 | <remarks> |
6370 | <param name="intendation"></param> | 4586 | Must be specified before the context is being used. |
4587 | </remarks> | ||
6371 | </member> | 4588 | </member> |
6372 | <member name="M:HttpServer.Rendering.Haml.LineInfo.Set(System.String,System.Int32,System.Int32)"> | 4589 | <member name="P:HttpServer.HttpClientContext.Secured"> |
6373 | <summary> | 4590 | <summary> |
6374 | Assign line text | 4591 | Using SSL or other encryption method. |
6375 | </summary> | 4592 | </summary> |
6376 | <param name="line"></param> | ||
6377 | <param name="whiteSpaces"></param> | ||
6378 | <param name="intendation"></param> | ||
6379 | </member> | 4593 | </member> |
6380 | <member name="M:HttpServer.Rendering.Haml.LineInfo.TrimRight(System.Int32)"> | 4594 | <member name="P:HttpServer.HttpClientContext.IsSecured"> |
6381 | <summary> | 4595 | <summary> |
6382 | 4596 | Using SSL or other encryption method. | |
6383 | </summary> | 4597 | </summary> |
6384 | <param name="count"></param> | ||
6385 | <exception cref="T:System.InvalidOperationException">If extra lines have been added.</exception> | ||
6386 | </member> | 4598 | </member> |
6387 | <member name="P:HttpServer.Rendering.Haml.LineInfo.AppendNextLine"> | 4599 | <member name="P:HttpServer.HttpClientContext.LogWriter"> |
6388 | <summary> | 4600 | <summary> |
6389 | If the next line should be appended to us (multi line) | 4601 | Specify which logger to use. |
6390 | </summary> | 4602 | </summary> |
6391 | </member> | 4603 | </member> |
6392 | <member name="P:HttpServer.Rendering.Haml.LineInfo.Children"> | 4604 | <member name="P:HttpServer.HttpClientContext.Stream"> |
6393 | <summary> | 4605 | <summary> |
6394 | Do NOT add yourself using the Add methods of the linkedList. | 4606 | Gets or sets the network stream. |
6395 | Parent property will add node. | ||
6396 | </summary> | 4607 | </summary> |
6397 | </member> | 4608 | </member> |
6398 | <member name="P:HttpServer.Rendering.Haml.LineInfo.UnparsedData"> | 4609 | <member name="P:HttpServer.HttpClientContext.RemoteAddress"> |
6399 | <summary> | 4610 | <summary> |
6400 | Untouched line text | 4611 | Gets or sets IP address that the client connected from. |
6401 | </summary> | 4612 | </summary> |
6402 | </member> | 4613 | </member> |
6403 | <member name="P:HttpServer.Rendering.Haml.LineInfo.HasChildren"> | 4614 | <member name="P:HttpServer.HttpClientContext.RemotePort"> |
6404 | <summary> | 4615 | <summary> |
6405 | Has one or more children (intented more that this one) | 4616 | Gets or sets port that the client connected from. |
6406 | </summary> | 4617 | </summary> |
6407 | </member> | 4618 | </member> |
6408 | <member name="P:HttpServer.Rendering.Haml.LineInfo.Intendation"> | 4619 | <member name="E:HttpServer.HttpClientContext.Disconnected"> |
6409 | <summary> | 4620 | <summary> |
6410 | Number of intends (two spaces = 1, one tab = 1) | 4621 | The context have been disconnected. |
6411 | </summary> | 4622 | </summary> |
4623 | <remarks> | ||
4624 | Event can be used to clean up a context, or to reuse it. | ||
4625 | </remarks> | ||
6412 | </member> | 4626 | </member> |
6413 | <member name="P:HttpServer.Rendering.Haml.LineInfo.LineNumber"> | 4627 | <member name="E:HttpServer.HttpClientContext.RequestReceived"> |
6414 | <summary> | 4628 | <summary> |
6415 | Line number | 4629 | A request have been received in the context. |
6416 | </summary> | 4630 | </summary> |
6417 | </member> | 4631 | </member> |
6418 | <member name="P:HttpServer.Rendering.Haml.LineInfo.Parent"> | 4632 | <member name="T:HttpServer.Helpers.XmlHelper"> |
6419 | <summary> | 4633 | <summary> |
6420 | Parent node (one level up in intendation) | 4634 | Helpers to make XML handling easier |
6421 | </summary> | 4635 | </summary> |
6422 | </member> | 4636 | </member> |
6423 | <member name="P:HttpServer.Rendering.Haml.LineInfo.Data"> | 4637 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> |
6424 | <summary> | 4638 | <summary> |
6425 | All line data generated on one line | 4639 | Serializes object to XML. |
6426 | </summary> | 4640 | </summary> |
4641 | <param name="value">object to serialize.</param> | ||
4642 | <returns>XML</returns> | ||
4643 | <remarks> | ||
4644 | Removes name spaces and adds indentation | ||
4645 | </remarks> | ||
6427 | </member> | 4646 | </member> |
6428 | <member name="P:HttpServer.Rendering.Haml.LineInfo.UnfinishedRule"> | 4647 | <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)"> |
6429 | <summary> | 4648 | <summary> |
6430 | IRule have not got all needed information yet, | 4649 | Create an object from a XML string |
6431 | keep appending lines to this LineInfo until rule says that it's done. | ||
6432 | </summary> | 4650 | </summary> |
4651 | <typeparam name="T">Type of object</typeparam> | ||
4652 | <param name="xml">XML string</param> | ||
4653 | <returns>object</returns> | ||
6433 | </member> | 4654 | </member> |
6434 | <member name="P:HttpServer.Rendering.Haml.LineInfo.WhiteSpaces"> | 4655 | <member name="T:HttpServer.Rules.RegexRedirectRule"> |
6435 | <summary> | 4656 | <summary> |
6436 | Number of whitespaces before actual entry beings. | 4657 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules |
4658 | a regular expression can be used to identify redirect URLs and their targets. | ||
6437 | </summary> | 4659 | </summary> |
4660 | <example> | ||
4661 | <![CDATA[ | ||
4662 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) | ||
4663 | ]]> | ||
4664 | </example> | ||
6438 | </member> | 4665 | </member> |
6439 | <member name="P:HttpServer.Rendering.Haml.LineInfo.SelfClosed"> | 4666 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> |
6440 | <summary> | 4667 | <summary> |
6441 | True if node is selfclosed (i.e. <br />) | 4668 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
6442 | </summary> | 4669 | </summary> |
4670 | <param name="fromUrlExpression">Expression to match URL</param> | ||
4671 | <param name="toUrlExpression">Expression to generate URL</param> | ||
4672 | <example> | ||
4673 | <![CDATA[ | ||
4674 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}")); | ||
4675 | Result of ie. /employee1 will then be /user/employee1 | ||
4676 | ]]> | ||
4677 | </example> | ||
6443 | </member> | 4678 | </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@)"> | 4679 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> |
6445 | <summary> | 4680 | <summary> |
6446 | Parse node contents add return a fresh node. | 4681 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
6447 | </summary> | 4682 | </summary> |
6448 | <param name="prototypes">List containing all node types</param> | 4683 | <param name="fromUrlExpression">Expression to match URL</param> |
6449 | <param name="parent">Node that this is a subnode to. Can be null</param> | 4684 | <param name="toUrlExpression">Expression to generate URL</param> |
6450 | <param name="line">Line to parse</param> | 4685 | <param name="options">Regular expression options to use, can be null</param> |
6451 | <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param> | 4686 | <example> |
6452 | <returns>A node corresponding to the bla bla; null if parsing failed.</returns> | 4687 | <![CDATA[ |
6453 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception> | 4688 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); |
4689 | Result of ie. /employee1 will then be /user/employee1 | ||
4690 | ]]> | ||
4691 | </example> | ||
6454 | </member> | 4692 | </member> |
6455 | <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.CanHandle(System.String,System.Boolean)"> | 4693 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> |
6456 | <summary> | 4694 | <summary> |
6457 | determines if this node can handle the line (by checking the first word); | 4695 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
6458 | </summary> | 4696 | </summary> |
6459 | <param name="word">Controller char (word)</param> | 4697 | <param name="fromUrlExpression">Expression to match URL</param> |
6460 | <returns>true if text belongs to this node type</returns> | 4698 | <param name="toUrlExpression">Expression to generate URL</param> |
6461 | <param name="firstNode">First node on line, used since some nodes cannot exist on their own on a line.</param> | 4699 | <param name="options">Regular expression options to apply</param> |
4700 | <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param> | ||
4701 | <example> | ||
4702 | <![CDATA[ | ||
4703 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); | ||
4704 | Result of ie. /employee1 will then be /user/employee1 | ||
4705 | ]]> | ||
4706 | </example> | ||
4707 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | ||
4708 | <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/> | ||
6462 | </member> | 4709 | </member> |
6463 | <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.ToHtml"> | 4710 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
6464 | <summary> | 4711 | <summary> |
6465 | Convert node to HTML (with ASP-tags) | 4712 | Process the incoming request. |
6466 | </summary> | 4713 | </summary> |
6467 | <returns>HTML string</returns> | 4714 | <param name="request">incoming HTTP request</param> |
6468 | <exception cref="T:System.NotImplementedException"></exception> | 4715 | <param name="response">outgoing HTTP response</param> |
4716 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | ||
4717 | <remarks> | ||
4718 | returning true means that no modules will get the request. Returning true is typically being done | ||
4719 | for redirects. | ||
4720 | </remarks> | ||
4721 | <exception cref="T:System.ArgumentNullException">If request or response is null</exception> | ||
6469 | </member> | 4722 | </member> |
6470 | <member name="M:HttpServer.Rendering.Haml.Nodes.DocTypeTag.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 4723 | <member name="T:HttpServer.Parser.HttpRequestParser"> |
6471 | <summary> | 4724 | <summary> |
6472 | Convert the node to c# code | 4725 | Parses a HTTP request directly from a stream |
6473 | </summary> | 4726 | </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> | 4727 | </member> |
6479 | <member name="P:HttpServer.Rendering.Haml.Nodes.DocTypeTag.IsTextNode"> | 4728 | <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)"> |
6480 | <summary> | 4729 | <summary> |
6481 | Text nodes should be added as child. | 4730 | Create a new request parser |
6482 | </summary> | 4731 | </summary> |
4732 | <param name="logWriter">delegate receiving log entries.</param> | ||
6483 | </member> | 4733 | </member> |
6484 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> | 4734 | <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
6485 | <summary> | 4735 | <summary> |
6486 | Used to inform http server that | 4736 | Add a number of bytes to the body |
6487 | </summary> | 4737 | </summary> |
4738 | <param name="buffer">buffer containing more body bytes.</param> | ||
4739 | <param name="offset">starting offset in buffer</param> | ||
4740 | <param name="count">number of bytes, from offset, to read.</param> | ||
4741 | <returns>offset to continue from.</returns> | ||
6488 | </member> | 4742 | </member> |
6489 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> | 4743 | <member name="M:HttpServer.Parser.HttpRequestParser.Clear"> |
6490 | <summary> | 4744 | <summary> |
6491 | Eventarguments used when an exception is thrown by a module | 4745 | Remove all state information for the request. |
6492 | </summary> | 4746 | </summary> |
6493 | <param name="e">the exception</param> | ||
6494 | </member> | 4747 | </member> |
6495 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> | 4748 | <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)"> |
6496 | <summary> | 4749 | <summary> |
6497 | Exception thrown in a module | 4750 | Parse request line |
6498 | </summary> | 4751 | </summary> |
4752 | <param name="value"></param> | ||
4753 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception> | ||
4754 | <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks> | ||
6499 | </member> | 4755 | </member> |
6500 | <member name="T:HttpServer.Controllers.ViewController"> | 4756 | <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)"> |
6501 | <summary> | 4757 | <summary> |
6502 | View controllers integrates the templates, by adding | 4758 | We've parsed a new header. |
6503 | Render methods. | ||
6504 | </summary> | 4759 | </summary> |
4760 | <param name="name">Name in lower case</param> | ||
4761 | <param name="value">Value, unmodified.</param> | ||
4762 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception> | ||
6505 | </member> | 4763 | </member> |
6506 | <member name="M:HttpServer.Controllers.ViewController.#ctor(HttpServer.Rendering.TemplateManager)"> | 4764 | <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> |
6507 | <summary> | 4765 | <summary> |
6508 | Create a new <see cref="T:HttpServer.Controllers.ViewController"/>. | 4766 | Parse a message |
6509 | </summary> | 4767 | </summary> |
4768 | <param name="buffer">bytes to parse.</param> | ||
4769 | <param name="offset">where in buffer that parsing should start</param> | ||
4770 | <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param> | ||
4771 | <returns>offset (where to start parsing next).</returns> | ||
4772 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | ||
6510 | </member> | 4773 | </member> |
6511 | <member name="M:HttpServer.Controllers.ViewController.#ctor(HttpServer.Controllers.ViewController)"> | 4774 | <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter"> |
6512 | <summary> | 4775 | <summary> |
6513 | Create a new <see cref="T:HttpServer.Controllers.ViewController"/>. | 4776 | Gets or sets the log writer. |
6514 | </summary> | 4777 | </summary> |
6515 | <param name="controller">prototype to copy information from.</param> | ||
6516 | </member> | 4778 | </member> |
6517 | <member name="M:HttpServer.Controllers.ViewController.Render(System.Object[])"> | 4779 | <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState"> |
6518 | <summary> | 4780 | <summary> |
6519 | Render template for the currently invoked method. | 4781 | Current state in parser. |
6520 | </summary> | 4782 | </summary> |
6521 | <param name="args">arguments/parameters used in template</param> | ||
6522 | <returns>template generated content</returns> | ||
6523 | <remarks>calls RenderActionWithErrors</remarks> | ||
6524 | </member> | 4783 | </member> |
6525 | <member name="M:HttpServer.Controllers.ViewController.RenderAction(System.String,System.Object[])"> | 4784 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted"> |
6526 | <summary> | 4785 | <summary> |
6527 | Render contents into a template. | 4786 | A request have been successfully parsed. |
6528 | </summary> | 4787 | </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> | 4788 | </member> |
6534 | <member name="M:HttpServer.Controllers.ViewController.MergeArguments(System.Object[])"> | 4789 | <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived"> |
6535 | <summary> | 4790 | <summary> |
6536 | Merge arguments array and Arguments property. | 4791 | More body bytes have been received. |
6537 | </summary> | 4792 | </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> | 4793 | </member> |
6542 | <member name="M:HttpServer.Controllers.ViewController.RenderErrors(System.String,System.Object[])"> | 4794 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived"> |
6543 | <summary> | 4795 | <summary> |
6544 | Renders errors from the <see cref="P:HttpServer.Controllers.ViewController.Errors"/> property into the | 4796 | Request line have been received. |
6545 | current method template, or as a JavaScript alert if the request is Ajax. | ||
6546 | </summary> | 4797 | </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> | 4798 | </member> |
6552 | <member name="M:HttpServer.Controllers.ViewController.RenderErrors(System.Collections.Specialized.NameValueCollection,System.String,System.Object[])"> | 4799 | <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived"> |
6553 | <summary> | 4800 | <summary> |
6554 | Renders errors from the <see cref="P:HttpServer.Controllers.ViewController.Errors"/> property into the | 4801 | A header have been received. |
6555 | current method template, or as a JavaScript alert if the request is Ajax. | ||
6556 | </summary> | 4802 | </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> | 4803 | </member> |
6563 | <member name="M:HttpServer.Controllers.ViewController.RenderJavascript(System.String)"> | 4804 | <member name="T:HttpServer.LogPrio"> |
6564 | <summary> | 4805 | <summary> |
6565 | Switches content-type to "text/JavaScript" and returns content. | 4806 | Priority for log entries |
6566 | </summary> | 4807 | </summary> |
6567 | <param name="js">JavaScript to send to the client.</param> | 4808 | <seealso cref="T:HttpServer.ILogWriter"/> |
6568 | <returns>JavaScript</returns> | ||
6569 | </member> | 4809 | </member> |
6570 | <member name="M:HttpServer.Controllers.ViewController.RenderJsErrors(System.Collections.Specialized.NameValueCollection)"> | 4810 | <member name="F:HttpServer.LogPrio.Trace"> |
6571 | <summary> | 4811 | <summary> |
6572 | Creates a JavaScript "alert" filled with all errors. | 4812 | Very detailed logs to be able to follow the flow of the program. |
6573 | </summary> | 4813 | </summary> |
6574 | <param name="errors"></param> | ||
6575 | <returns>a</returns> | ||
6576 | </member> | 4814 | </member> |
6577 | <member name="M:HttpServer.Controllers.ViewController.RenderLayout(System.String,System.String)"> | 4815 | <member name="F:HttpServer.LogPrio.Debug"> |
6578 | <summary> | 4816 | <summary> |
6579 | renders one of the layouts | 4817 | Logs to help debug errors in the application |
6580 | </summary> | 4818 | </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> | 4819 | </member> |
6585 | <member name="M:HttpServer.Controllers.ViewController.RenderTemplate(System.String,System.String,System.Object[])"> | 4820 | <member name="F:HttpServer.LogPrio.Info"> |
6586 | <summary> | 4821 | <summary> |
6587 | Render a template. | 4822 | Information to be able to keep track of state changes etc. |
6588 | </summary> | 4823 | </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> | 4824 | </member> |
6595 | <member name="M:HttpServer.Controllers.ViewController.SetupRequest(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 4825 | <member name="F:HttpServer.LogPrio.Warning"> |
6596 | <summary> | 4826 | <summary> |
6597 | Invoked each time a new request is about to be invoked. | 4827 | Something did not go as we expected, but it's no problem. |
6598 | </summary> | 4828 | </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> | 4829 | </member> |
6604 | <member name="P:HttpServer.Controllers.ViewController.Arguments"> | 4830 | <member name="F:HttpServer.LogPrio.Error"> |
6605 | <summary> | 4831 | <summary> |
6606 | Arguments that are being used in the templates. | 4832 | Something that should not fail failed, but we can still keep |
4833 | on going. | ||
6607 | </summary> | 4834 | </summary> |
6608 | </member> | 4835 | </member> |
6609 | <member name="P:HttpServer.Controllers.ViewController.Errors"> | 4836 | <member name="F:HttpServer.LogPrio.Fatal"> |
6610 | <summary> | 4837 | <summary> |
6611 | A set of errors that occurred during request processing. | 4838 | Something failed, and we cannot handle it properly. |
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> | 4839 | </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> | 4840 | </member> |
6618 | <member name="P:HttpServer.Controllers.ViewController.IncludeLayoutInAjaxRequests"> | 4841 | <member name="T:HttpServer.ILogWriter"> |
6619 | <summary> | 4842 | <summary> |
6620 | True if we always should render contents inside page layouts when request is Ajax. | 4843 | Interface used to write to log files. |
6621 | </summary> | 4844 | </summary> |
6622 | <remarks>default is false.</remarks> | ||
6623 | </member> | 4845 | </member> |
6624 | <member name="P:HttpServer.Controllers.ViewController.Layout"> | 4846 | <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
6625 | <summary> | 4847 | <summary> |
6626 | Which page layout to use (without file extension) | 4848 | Write an entry to the log file. |
6627 | </summary> | 4849 | </summary> |
6628 | <remarks> | 4850 | <param name="source">object that is writing to the log</param> |
6629 | <para> | 4851 | <param name="priority">importance of the log message</param> |
6630 | Page layouts should be places in the Views\Layouts folder. | 4852 | <param name="message">the message</param> |
6631 | </para> | ||
6632 | <para> | ||
6633 | default is "Application" | ||
6634 | </para> | ||
6635 | </remarks> | ||
6636 | </member> | 4853 | </member> |
6637 | <member name="P:HttpServer.Controllers.ViewController.Title"> | 4854 | <member name="T:HttpServer.ConsoleLogWriter"> |
6638 | <summary> | 4855 | <summary> |
6639 | Page title (are added as a parameter to the layout template, use it in <title> HTML tag. | 4856 | This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) |
6640 | </summary> | 4857 | </summary> |
4858 | <seealso cref="T:HttpServer.ILogWriter"/> | ||
6641 | </member> | 4859 | </member> |
6642 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> | 4860 | <member name="F:HttpServer.ConsoleLogWriter.Instance"> |
6643 | <summary> | 4861 | <summary> |
6644 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared | 4862 | The actual instance of this class. |
6645 | </summary> | 4863 | </summary> |
6646 | </member> | 4864 | </member> |
6647 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> | 4865 | <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
6648 | <summary> | 4866 | <summary> |
6649 | Instantiates the arguments for the event | 4867 | Logwriters the specified source. |
6650 | </summary> | 4868 | </summary> |
6651 | <param name="expired">True if the session is cleared due to expiration</param> | 4869 | <param name="source">object that wrote the logentry.</param> |
4870 | <param name="prio">Importance of the log message</param> | ||
4871 | <param name="message">The message.</param> | ||
6652 | </member> | 4872 | </member> |
6653 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> | 4873 | <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)"> |
6654 | <summary> | 4874 | <summary> |
6655 | Returns true if the session is cleared due to expiration | 4875 | Get color for the specified logprio |
6656 | </summary> | 4876 | </summary> |
4877 | <param name="prio">prio for the log entry</param> | ||
4878 | <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns> | ||
6657 | </member> | 4879 | </member> |
6658 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> | 4880 | <member name="T:HttpServer.NullLogWriter"> |
6659 | <summary> | 4881 | <summary> |
6660 | Delegate for when a IHttpSession is cleared | 4882 | Default log writer, writes everything to null (nowhere). |
6661 | </summary> | 4883 | </summary> |
6662 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> | 4884 | <seealso cref="T:HttpServer.ILogWriter"/> |
6663 | <param name="args">Arguments for the clearing</param> | ||
6664 | </member> | 4885 | </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@)"> | 4886 | <member name="F:HttpServer.NullLogWriter.Instance"> |
6666 | <summary> | 4887 | <summary> |
6667 | Parse node contents add return a fresh node. | 4888 | The logging instance. |
6668 | </summary> | 4889 | </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> | 4890 | </member> |
6676 | <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.CanHandle(System.String,System.Boolean)"> | 4891 | <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
6677 | <summary> | 4892 | <summary> |
6678 | determines if this node can handle the line (by checking the first word); | 4893 | Writes everything to null |
6679 | </summary> | 4894 | </summary> |
6680 | <param name="word">Controller char (word)</param> | 4895 | <param name="source">object that wrote the log entry.</param> |
6681 | <returns>true if text belongs to this node type</returns> | 4896 | <param name="prio">Importance of the log message</param> |
6682 | <param name="firstNode">first node on line</param> | 4897 | <param name="message">The message.</param> |
6683 | </member> | 4898 | </member> |
6684 | <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.ToHtml"> | 4899 | <member name="T:HttpServer.HttpParam"> |
6685 | <summary> | 4900 | <summary> |
6686 | Convert node to HTML (with ASP-tags) | 4901 | Returns item either from a form or a query string (checks them in that order) |
6687 | </summary> | 4902 | </summary> |
6688 | <returns>HTML string</returns> | ||
6689 | </member> | 4903 | </member> |
6690 | <member name="M:HttpServer.Rendering.Haml.Nodes.IdNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 4904 | <member name="F:HttpServer.HttpParam.Empty"> |
4905 | <summary> Representation of a non-initialized HttpParam </summary> | ||
4906 | </member> | ||
4907 | <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)"> | ||
4908 | <summary>Initialises the class to hold a value either from a post request or a querystring request</summary> | ||
4909 | </member> | ||
4910 | <member name="M:HttpServer.HttpParam.Add(System.String,System.String)"> | ||
6691 | <summary> | 4911 | <summary> |
6692 | Convert the node to c# code | 4912 | The add method is not availible for HttpParam |
4913 | since HttpParam checks both Request.Form and Request.QueryString | ||
6693 | </summary> | 4914 | </summary> |
6694 | <param name="inString">True if we are inside the internal stringbuilder</param> | 4915 | <param name="name">name identifying the value</param> |
6695 | <param name="smallEnough">true if all subnodes fit on one line</param> | 4916 | <param name="value">value to add</param> |
6696 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 4917 | <exception cref="T:System.NotImplementedException"></exception> |
6697 | <returns>c# code</returns> | ||
6698 | </member> | 4918 | </member> |
6699 | <member name="T:HttpServer.Rendering.Haml.NodeList"> | 4919 | <member name="M:HttpServer.HttpParam.Contains(System.String)"> |
6700 | <summary> | 4920 | <summary> |
6701 | A list of prototype nodes. | 4921 | Checks whether the form or querystring has the specified value |
6702 | </summary> | 4922 | </summary> |
4923 | <param name="name">Name, case sensitive</param> | ||
4924 | <returns>true if found; otherwise false.</returns> | ||
6703 | </member> | 4925 | </member> |
6704 | <member name="M:HttpServer.Rendering.Haml.NodeList.CreateNode(System.String,HttpServer.Rendering.Haml.Nodes.Node)"> | 4926 | <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
6705 | <summary> | 4927 | <summary> |
6706 | Creates the node. | 4928 | Returns an enumerator that iterates through the collection. |
6707 | </summary> | 4929 | </summary> |
6708 | <param name="word">node identifier.</param> | 4930 | |
6709 | <param name="parent">parent node.</param> | 4931 | <returns> |
6710 | <returns>created node if identifier was found; otherwise null.</returns> | 4932 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
4933 | </returns> | ||
4934 | <filterpriority>1</filterpriority> | ||
6711 | </member> | 4935 | </member> |
6712 | <member name="M:HttpServer.Rendering.Haml.NodeList.GetPrototype(System.String,System.Boolean)"> | 4936 | <member name="M:HttpServer.HttpParam.GetEnumerator"> |
6713 | <summary> | 4937 | <summary> |
6714 | 4938 | Returns an enumerator that iterates through a collection. | |
6715 | </summary> | 4939 | </summary> |
6716 | <param name="word"></param> | 4940 | |
6717 | <param name="firstNode">first node on line</param> | 4941 | <returns> |
6718 | <returns></returns> | 4942 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. |
4943 | </returns> | ||
4944 | <filterpriority>2</filterpriority> | ||
6719 | </member> | 4945 | </member> |
6720 | <member name="M:HttpServer.Rendering.Haml.NodeList.Add(HttpServer.Rendering.Haml.Nodes.Node)"> | 4946 | <member name="P:HttpServer.HttpParam.Item(System.String)"> |
6721 | <summary> | 4947 | <summary> |
6722 | Add a prototype | 4948 | Fetch an item from the form or querystring (in that order). |
6723 | </summary> | 4949 | </summary> |
6724 | <param name="node">prototype node</param> | 4950 | <param name="name"></param> |
4951 | <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns> | ||
6725 | </member> | 4952 | </member> |
6726 | <member name="T:HttpServer.HttpModules.FileModule"> | 4953 | <member name="T:HttpServer.HttpFile"> |
6727 | <summary> | 4954 | <summary> |
6728 | The purpose of this module is to serve files. | 4955 | Container class for posted files |
6729 | </summary> | 4956 | </summary> |
6730 | </member> | 4957 | </member> |
6731 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)"> | 4958 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"> |
6732 | <summary> | 4959 | <summary> |
6733 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. | 4960 | Creates a container for a posted file |
6734 | </summary> | 4961 | </summary> |
6735 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | 4962 | <param name="name">The identifier of the post field</param> |
6736 | <param name="basePath">Path on hard drive where we should start looking for files</param> | 4963 | <param name="filename">The file path</param> |
6737 | <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging webbrowser to cache files</param> | 4964 | <param name="contentType">The content type of the file</param> |
4965 | <param name="uploadFilename">The name of the file uploaded</param> | ||
4966 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> | ||
6738 | </member> | 4967 | </member> |
6739 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)"> | 4968 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)"> |
6740 | <summary> | 4969 | <summary> |
6741 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. | 4970 | Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/> |
6742 | </summary> | 4971 | </summary> |
6743 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | 4972 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> |
6744 | <param name="basePath">Path on hard drive where we should start looking for files</param> | ||
6745 | </member> | 4973 | </member> |
6746 | <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes"> | 4974 | <member name="M:HttpServer.HttpFile.Finalize"> |
4975 | <summary>Destructor disposing the file</summary> | ||
4976 | </member> | ||
4977 | <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)"> | ||
6747 | <summary> | 4978 | <summary> |
6748 | Mimtypes that this class can handle per default | 4979 | Deletes the temporary file |
6749 | </summary> | 4980 | </summary> |
4981 | <param name="disposing">True if manual dispose</param> | ||
6750 | </member> | 4982 | </member> |
6751 | <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)"> | 4983 | <member name="M:HttpServer.HttpFile.Dispose"> |
6752 | <summary> | 4984 | <summary> |
6753 | Determines if the request should be handled by this module. | 4985 | Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization |
6754 | Invoked by the HttpServer | ||
6755 | </summary> | 4986 | </summary> |
6756 | <param name="uri"></param> | ||
6757 | <returns>true if this module should handle it.</returns> | ||
6758 | </member> | 4987 | </member> |
6759 | <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})"> | 4988 | <member name="P:HttpServer.HttpFile.Name"> |
6760 | <summary> | 4989 | <summary> |
6761 | check if source contains any of the chars. | 4990 | The name/id of the file |
6762 | </summary> | 4991 | </summary> |
6763 | <param name="source"></param> | ||
6764 | <param name="chars"></param> | ||
6765 | <returns></returns> | ||
6766 | </member> | 4992 | </member> |
6767 | <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 4993 | <member name="P:HttpServer.HttpFile.Filename"> |
6768 | <summary> | 4994 | <summary> |
6769 | Method that process the url | 4995 | The full file path |
6770 | </summary> | 4996 | </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> | 4997 | </member> |
6775 | <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)"> | 4998 | <member name="P:HttpServer.HttpFile.UploadFilename"> |
6776 | <summary> | 4999 | <summary> |
6777 | return a file extension from an absolute uri path (or plain filename) | 5000 | The name of the uploaded file |
6778 | </summary> | 5001 | </summary> |
6779 | <param name="uri"></param> | ||
6780 | <returns></returns> | ||
6781 | </member> | 5002 | </member> |
6782 | <member name="P:HttpServer.HttpModules.FileModule.MimeTypes"> | 5003 | <member name="P:HttpServer.HttpFile.ContentType"> |
6783 | <summary> | 5004 | <summary> |
6784 | List with all mime-type that are allowed. | 5005 | The type of file |
6785 | </summary> | 5006 | </summary> |
6786 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | ||
6787 | </member> | 5007 | </member> |
6788 | <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars"> | 5008 | <member name="T:HttpServer.HttpContextFactory"> |
6789 | <summary> | 5009 | <summary> |
6790 | characters that may not exist in a path. | 5010 | Used to create and reuse contexts. |
6791 | </summary> | 5011 | </summary> |
6792 | <example> | ||
6793 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; | ||
6794 | </example> | ||
6795 | </member> | 5012 | </member> |
6796 | <member name="T:HttpServer.HttpHelper"> | 5013 | <member name="T:HttpServer.IHttpContextFactory"> |
6797 | <summary> | 5014 | <summary> |
6798 | Generic helper functions for Http | 5015 | Used to create <see cref="T:HttpServer.IHttpClientContext"/>es. |
6799 | </summary> | 5016 | </summary> |
6800 | </member> | 5017 | </member> |
6801 | <member name="F:HttpServer.HttpHelper.HTTP10"> | 5018 | <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
6802 | <summary> | 5019 | <summary> |
6803 | Version string for HTTP v1.0 | 5020 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
6804 | </summary> | 5021 | </summary> |
5022 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | ||
5023 | <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | ||
6805 | </member> | 5024 | </member> |
6806 | <member name="F:HttpServer.HttpHelper.HTTP11"> | 5025 | <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
6807 | <summary> | 5026 | <summary> |
6808 | Version string for HTTP v1.1 | 5027 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
6809 | </summary> | 5028 | </summary> |
5029 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | ||
5030 | <param name="certificate">HTTPS certificate to use.</param> | ||
5031 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | ||
5032 | <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | ||
6810 | </member> | 5033 | </member> |
6811 | <member name="F:HttpServer.HttpHelper.EmptyUri"> | 5034 | <member name="E:HttpServer.IHttpContextFactory.RequestReceived"> |
6812 | <summary> | 5035 | <summary> |
6813 | An empty url | 5036 | A request have been received from one of the contexts. |
6814 | </summary> | 5037 | </summary> |
6815 | </member> | 5038 | </member> |
6816 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> | 5039 | <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)"> |
6817 | <summary> | 5040 | <summary> |
6818 | Parses a querystring. | 5041 | Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class. |
6819 | </summary> | 5042 | </summary> |
6820 | <param name="queryString">Querystring (url decoded)</param> | 5043 | <param name="writer">The writer.</param> |
6821 | <returns>A HttpInput object if successful; otherwise HttpInput.Empty</returns> | 5044 | <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param> |
5045 | <param name="factory">Used to create a request parser.</param> | ||
6822 | </member> | 5046 | </member> |
6823 | <member name="T:HttpServer.Exceptions.ForbiddenException"> | 5047 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
6824 | <summary> | 5048 | <summary> |
6825 | The server understood the request, but is refusing to fulfill it. | 5049 | Create a new context. |
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> | 5050 | </summary> |
5051 | <param name="isSecured">true if socket is running HTTPS.</param> | ||
5052 | <param name="endPoint">Client that connected</param> | ||
5053 | <param name="stream">Network/SSL stream.</param> | ||
5054 | <returns>A context.</returns> | ||
6833 | </member> | 5055 | </member> |
6834 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> | 5056 | <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
6835 | <summary> | 5057 | <summary> |
6836 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. | 5058 | Create a new context. |
6837 | </summary> | 5059 | </summary> |
6838 | <param name="errorMsg">error message</param> | 5060 | <param name="isSecured">true if HTTPS is used.</param> |
5061 | <param name="endPoint">Remote client</param> | ||
5062 | <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param> | ||
5063 | <returns>A new context (always).</returns> | ||
6839 | </member> | 5064 | </member> |
6840 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> | 5065 | <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
6841 | <summary> | 5066 | <summary> |
6842 | Delegate used to let authentication modules authenticate the username and password. | 5067 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
6843 | </summary> | 5068 | </summary> |
6844 | <param name="realm">Realm that the user want to authenticate in</param> | 5069 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
6845 | <param name="userName">Username specified by client</param> | 5070 | <param name="certificate">HTTPS certificate to use.</param> |
6846 | <param name="password">Password supplied by the delagete</param> | 5071 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</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> | 5072 | <returns> |
6848 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> | 5073 | A created <see cref="T:HttpServer.IHttpClientContext"/>. |
5074 | </returns> | ||
6849 | </member> | 5075 | </member> |
6850 | <member name="T:HttpServer.Authentication.AuthRequiredDelegate"> | 5076 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
6851 | <summary> | 5077 | <summary> |
6852 | Let's you decide on a system level if authentication is requried. | 5078 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
6853 | You can also decide if authentication is required in each HttpModule. | 5079 | </summary> |
5080 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | ||
5081 | <returns> | ||
5082 | A creates <see cref="T:HttpServer.IHttpClientContext"/>. | ||
5083 | </returns> | ||
5084 | </member> | ||
5085 | <member name="P:HttpServer.HttpContextFactory.UseTraceLogs"> | ||
5086 | <summary> | ||
5087 | True if detailed trace logs should be written. | ||
5088 | </summary> | ||
5089 | </member> | ||
5090 | <member name="E:HttpServer.HttpContextFactory.RequestReceived"> | ||
5091 | <summary> | ||
5092 | A request have been received from one of the contexts. | ||
6854 | </summary> | 5093 | </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> | 5094 | </member> |
6860 | <member name="T:HttpServer.Rendering.Haml.Nodes.ClassNode"> | 5095 | <member name="T:HttpServer.ReusableSocketNetworkStream"> |
6861 | <summary> | 5096 | <summary> |
6862 | Represents a html class node. | 5097 | Custom network stream to mark sockets as reusable when disposing the stream. |
6863 | </summary> | 5098 | </summary> |
6864 | </member> | 5099 | </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@)"> | 5100 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)"> |
6866 | <summary> | 5101 | <summary> |
6867 | Parse node contents add return a fresh node. | 5102 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />. |
6868 | </summary> | 5103 | </summary> |
6869 | <param name="prototypes">List containing all node types</param> | 5104 | <param name="socket"> |
6870 | <param name="parent">Node that this is a subnode to. Can be null</param> | 5105 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
6871 | <param name="line">Line to parse</param> | 5106 | </param> |
6872 | <param name="offset">Where to start the parsing. Should be set to where the next node should start parsing.</param> | 5107 | <exception cref="T:System.ArgumentNullException"> |
6873 | <returns>A node corresponding to the bla bla; null if parsing failed.</returns> | 5108 | The <paramref name="socket" /> parameter is null. |
6874 | <exception cref="T:HttpServer.Rendering.CodeGeneratorException"></exception> | 5109 | </exception> |
5110 | <exception cref="T:System.IO.IOException"> | ||
5111 | The <paramref name="socket" /> parameter is not connected. | ||
5112 | -or- | ||
5113 | The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | ||
5114 | -or- | ||
5115 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
5116 | </exception> | ||
6875 | </member> | 5117 | </member> |
6876 | <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.CanHandle(System.String,System.Boolean)"> | 5118 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)"> |
6877 | <summary> | 5119 | <summary> |
6878 | determines if this node can handle the line (by checking the first word); | 5120 | Initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified <see cref="T:System.Net.Sockets.Socket" /> ownership. |
6879 | </summary> | 5121 | </summary> |
6880 | <param name="word">Controller char (word)</param> | 5122 | <param name="socket"> |
6881 | <returns>true if text belongs to this node type</returns> | 5123 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
6882 | <param name="firstNode">first node on line</param> | 5124 | </param> |
5125 | <param name="ownsSocket"> | ||
5126 | Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false. | ||
5127 | </param> | ||
5128 | <exception cref="T:System.ArgumentNullException"> | ||
5129 | The <paramref name="socket" /> parameter is null. | ||
5130 | </exception> | ||
5131 | <exception cref="T:System.IO.IOException"> | ||
5132 | The <paramref name="socket" /> parameter is not connected. | ||
5133 | -or- | ||
5134 | the value of the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | ||
5135 | -or- | ||
5136 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
5137 | </exception> | ||
6883 | </member> | 5138 | </member> |
6884 | <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.ToHtml"> | 5139 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)"> |
6885 | <summary> | 5140 | <summary> |
6886 | Convert node to HTML (with ASP-tags) | 5141 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights. |
6887 | </summary> | 5142 | </summary> |
6888 | <returns>HTML string</returns> | 5143 | <param name="socket"> |
5144 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
5145 | </param> | ||
5146 | <param name="access"> | ||
5147 | A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specify the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />. | ||
5148 | </param> | ||
5149 | <exception cref="T:System.ArgumentNullException"> | ||
5150 | The <paramref name="socket" /> parameter is null. | ||
5151 | </exception> | ||
5152 | <exception cref="T:System.IO.IOException"> | ||
5153 | The <paramref name="socket" /> parameter is not connected. | ||
5154 | -or- | ||
5155 | the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | ||
5156 | -or- | ||
5157 | the <paramref name="socket" /> parameter is in a nonblocking state. | ||
5158 | </exception> | ||
6889 | </member> | 5159 | </member> |
6890 | <member name="M:HttpServer.Rendering.Haml.Nodes.ClassNode.ToCode(System.Boolean@,System.Boolean,System.Boolean)"> | 5160 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)"> |
6891 | <summary> | 5161 | <summary> |
6892 | Convert the node to c# code | 5162 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights and the specified <see cref="T:System.Net.Sockets.Socket" /> ownership. |
5163 | </summary> | ||
5164 | <param name="socket"> | ||
5165 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | ||
5166 | </param> | ||
5167 | <param name="access"> | ||
5168 | A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specifies the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />. | ||
5169 | </param> | ||
5170 | <param name="ownsSocket"> | ||
5171 | Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false. | ||
5172 | </param> | ||
5173 | <exception cref="T:System.ArgumentNullException"> | ||
5174 | The <paramref name="socket" /> parameter is null. | ||
5175 | </exception> | ||
5176 | <exception cref="T:System.IO.IOException"> | ||
5177 | The <paramref name="socket" /> parameter is not connected. | ||
5178 | -or- | ||
5179 | The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | ||
5180 | -or- | ||
5181 | The <paramref name="socket" /> parameter is in a nonblocking state. | ||
5182 | </exception> | ||
5183 | </member> | ||
5184 | <member name="M:HttpServer.ReusableSocketNetworkStream.Close"> | ||
5185 | <summary> | ||
5186 | Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. | ||
6893 | </summary> | 5187 | </summary> |
6894 | <param name="inString">True if we are inside the internal stringbuilder</param> | 5188 | </member> |
6895 | <param name="smallEnough">true if all subnodes fit on one line</param> | 5189 | <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)"> |
6896 | <param name="smallEnoughIsDefaultValue">smallEnough is a default value, recalc it</param> | 5190 | <summary> |
6897 | <returns>c# code</returns> | 5191 | Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources. |
5192 | </summary> | ||
5193 | <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> | ||
6898 | </member> | 5194 | </member> |
6899 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> | 5195 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> |
6900 | <summary> | 5196 | <summary> |
@@ -6932,88 +5228,224 @@ | |||
6932 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 5228 | <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> | 5229 | <returns>True if the decoder can parse the specified content type</returns> |
6934 | </member> | 5230 | </member> |
6935 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> | 5231 | <member name="T:HttpServer.Sessions.MemorySession"> |
5232 | <summary> | ||
5233 | A session stored in memory. | ||
5234 | </summary> | ||
5235 | </member> | ||
5236 | <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)"> | ||
6936 | <summary> | 5237 | <summary> |
6937 | 5238 | ||
6938 | </summary> | 5239 | </summary> |
6939 | <returns></returns> | 5240 | <param name="id">A unique id used by the sessions store to identify the session</param> |
6940 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | ||
6941 | <exception cref="T:System.ObjectDisposedException"></exception> | ||
6942 | </member> | 5241 | </member> |
6943 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> | 5242 | <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)"> |
6944 | <summary>Represents a field in a multipart form</summary> | 5243 | <summary> |
5244 | Id | ||
5245 | </summary> | ||
5246 | <param name="id"></param> | ||
6945 | </member> | 5247 | </member> |
6946 | <member name="T:HttpServer.ContentType"> | 5248 | <member name="M:HttpServer.Sessions.MemorySession.Clear"> |
6947 | <summary> | 5249 | <summary> |
6948 | Lists content type mime types. | 5250 | Remove everything from the session |
6949 | </summary> | 5251 | </summary> |
6950 | </member> | 5252 | </member> |
6951 | <member name="F:HttpServer.ContentType.Text"> | 5253 | <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)"> |
6952 | <summary> | 5254 | <summary> |
6953 | text/plain | 5255 | Clears the specified expire. |
6954 | </summary> | 5256 | </summary> |
5257 | <param name="expires">True if the session is cleared due to expiration</param> | ||
6955 | </member> | 5258 | </member> |
6956 | <member name="F:HttpServer.ContentType.Html"> | 5259 | <member name="M:HttpServer.Sessions.MemorySession.Dispose"> |
6957 | <summary> | 5260 | <summary> |
6958 | text/haml | 5261 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
5262 | </summary> | ||
5263 | <filterpriority>2</filterpriority> | ||
5264 | </member> | ||
5265 | <member name="P:HttpServer.Sessions.MemorySession.Id"> | ||
5266 | <summary> | ||
5267 | Session id | ||
6959 | </summary> | 5268 | </summary> |
6960 | </member> | 5269 | </member> |
6961 | <member name="F:HttpServer.ContentType.Javascript"> | 5270 | <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)"> |
6962 | <summary> | 5271 | <summary> |
6963 | content type for javascript documents = application/javascript | 5272 | Should |
5273 | </summary> | ||
5274 | <param name="name">Name of the session variable</param> | ||
5275 | <returns>null if it's not set</returns> | ||
5276 | </member> | ||
5277 | <member name="P:HttpServer.Sessions.MemorySession.Accessed"> | ||
5278 | <summary> | ||
5279 | when the session was last accessed. | ||
6964 | </summary> | 5280 | </summary> |
6965 | <remarks> | 5281 | <remarks> |
6966 | <para> | 5282 | Used to determine when the session should be removed. |
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> | 5283 | </remarks> |
6973 | </member> | 5284 | </member> |
6974 | <member name="F:HttpServer.ContentType.Xml"> | 5285 | <member name="P:HttpServer.Sessions.MemorySession.Count"> |
6975 | <summary> | 5286 | <summary> |
6976 | text/xml | 5287 | Number of values in the session |
6977 | </summary> | 5288 | </summary> |
6978 | </member> | 5289 | </member> |
6979 | <member name="T:HttpServer.ContentTypes"> | 5290 | <member name="P:HttpServer.Sessions.MemorySession.Changed"> |
6980 | <summary> | 5291 | <summary> |
6981 | A list of content types | 5292 | Flag to indicate that the session have been changed |
5293 | and should be saved into the session store. | ||
6982 | </summary> | 5294 | </summary> |
6983 | </member> | 5295 | </member> |
6984 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> | 5296 | <member name="E:HttpServer.Sessions.MemorySession.BeforeClear"> |
6985 | <summary> | 5297 | <summary> |
6986 | 5298 | Event triggered upon clearing the session | |
6987 | </summary> | 5299 | </summary> |
6988 | <param name="types">Semicolon separated content types.</param> | ||
6989 | </member> | 5300 | </member> |
6990 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> | 5301 | <member name="T:HttpServer.ResponseCookies"> |
6991 | <summary> | 5302 | <summary> |
6992 | Returns an enumerator that iterates through a collection. | 5303 | Cookies that should be set. |
5304 | </summary> | ||
5305 | </member> | ||
5306 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)"> | ||
5307 | <summary> | ||
5308 | Adds a cookie in the collection. | ||
5309 | </summary> | ||
5310 | <param name="cookie">cookie to add</param> | ||
5311 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | ||
5312 | </member> | ||
5313 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)"> | ||
5314 | <summary> | ||
5315 | Copy a request cookie | ||
6993 | </summary> | 5316 | </summary> |
5317 | <param name="cookie"></param> | ||
5318 | <param name="expires">When the cookie should expire</param> | ||
5319 | </member> | ||
5320 | <member name="M:HttpServer.ResponseCookies.GetEnumerator"> | ||
5321 | <summary> | ||
5322 | Gets a collection enumerator on the cookie list. | ||
5323 | </summary> | ||
5324 | <returns>collection enumerator</returns> | ||
5325 | </member> | ||
5326 | <member name="M:HttpServer.ResponseCookies.Clear"> | ||
5327 | <summary> | ||
5328 | Remove all cookies | ||
5329 | </summary> | ||
5330 | </member> | ||
5331 | <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator"> | ||
5332 | <summary> | ||
5333 | Returns an enumerator that iterates through the collection. | ||
5334 | </summary> | ||
5335 | |||
6994 | <returns> | 5336 | <returns> |
6995 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. | 5337 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
6996 | </returns> | 5338 | </returns> |
5339 | <filterpriority>1</filterpriority> | ||
6997 | </member> | 5340 | </member> |
6998 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> | 5341 | <member name="P:HttpServer.ResponseCookies.Count"> |
6999 | <summary> | 5342 | <summary> |
7000 | Searches for the specified type | 5343 | Gets the count of cookies in the collection. |
7001 | </summary> | 5344 | </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> | 5345 | </member> |
7005 | <member name="P:HttpServer.ContentTypes.First"> | 5346 | <member name="P:HttpServer.ResponseCookies.Item(System.String)"> |
7006 | <summary> | 5347 | <summary> |
7007 | Get this first content type. | 5348 | Gets the cookie of a given identifier (null if not existing). |
7008 | </summary> | 5349 | </summary> |
7009 | </member> | 5350 | </member> |
7010 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> | 5351 | <member name="T:HttpServer.RequestParserFactory"> |
7011 | <summary> | 5352 | <summary> |
7012 | Fetch a content type | 5353 | Creates request parsers when needed. |
7013 | </summary> | 5354 | </summary> |
7014 | <param name="type">Part of type ("xml" would return "application/xml")</param> | 5355 | </member> |
7015 | <returns></returns> | 5356 | <member name="T:HttpServer.IRequestParserFactory"> |
7016 | <remarks>All content types are in lower case.</remarks> | 5357 | <summary> |
5358 | Creates request parsers when needed. | ||
5359 | </summary> | ||
5360 | </member> | ||
5361 | <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | ||
5362 | <summary> | ||
5363 | Create a new request parser. | ||
5364 | </summary> | ||
5365 | <param name="logWriter">Used when logging should be enabled.</param> | ||
5366 | <returns>A new request parser.</returns> | ||
5367 | </member> | ||
5368 | <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | ||
5369 | <summary> | ||
5370 | Create a new request parser. | ||
5371 | </summary> | ||
5372 | <param name="logWriter">Used when logging should be enabled.</param> | ||
5373 | <returns>A new request parser.</returns> | ||
5374 | </member> | ||
5375 | <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)"> | ||
5376 | <summary> | ||
5377 | Add a component instance | ||
5378 | </summary> | ||
5379 | <typeparam name="T">Interface type</typeparam> | ||
5380 | <param name="instance">Instance to add</param> | ||
5381 | </member> | ||
5382 | <member name="M:HttpServer.ComponentProvider.Get``1"> | ||
5383 | <summary> | ||
5384 | Get a component. | ||
5385 | </summary> | ||
5386 | <typeparam name="T">Interface type</typeparam> | ||
5387 | <returns>Component if registered, otherwise null.</returns> | ||
5388 | <remarks> | ||
5389 | Component will get created if needed. | ||
5390 | </remarks> | ||
5391 | </member> | ||
5392 | <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)"> | ||
5393 | <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception> | ||
5394 | </member> | ||
5395 | <member name="M:HttpServer.ComponentProvider.Contains(System.Type)"> | ||
5396 | <summary> | ||
5397 | Checks if the specified component interface have been added. | ||
5398 | </summary> | ||
5399 | <param name="interfaceType"></param> | ||
5400 | <returns>true if found; otherwise false.</returns> | ||
5401 | </member> | ||
5402 | <member name="M:HttpServer.ComponentProvider.Add``2"> | ||
5403 | <summary> | ||
5404 | Add a component. | ||
5405 | </summary> | ||
5406 | <typeparam name="InterfaceType">Type being requested.</typeparam> | ||
5407 | <typeparam name="InstanceType">Type being created.</typeparam> | ||
5408 | <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception> | ||
5409 | </member> | ||
5410 | <member name="T:HttpServer.Exceptions.UnauthorizedException"> | ||
5411 | <summary> | ||
5412 | The request requires user authentication. The response MUST include a | ||
5413 | WWW-Authenticate header field (section 14.47) containing a challenge | ||
5414 | applicable to the requested resource. | ||
5415 | |||
5416 | The client MAY repeat the request with a suitable Authorization header | ||
5417 | field (section 14.8). If the request already included Authorization | ||
5418 | credentials, then the 401 response indicates that authorization has been | ||
5419 | refused for those credentials. If the 401 response contains the same challenge | ||
5420 | as the prior response, and the user agent has already attempted authentication | ||
5421 | at least once, then the user SHOULD be presented the entity that was given in the response, | ||
5422 | since that entity might include relevant diagnostic information. | ||
5423 | |||
5424 | HTTP access authentication is explained in rfc2617: | ||
5425 | http://www.ietf.org/rfc/rfc2617.txt | ||
5426 | |||
5427 | (description is taken from | ||
5428 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) | ||
5429 | </summary> | ||
5430 | </member> | ||
5431 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor"> | ||
5432 | <summary> | ||
5433 | Create a new unauhtorized exception. | ||
5434 | </summary> | ||
5435 | <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/> | ||
5436 | </member> | ||
5437 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)"> | ||
5438 | <summary> | ||
5439 | Create a new unauhtorized exception. | ||
5440 | </summary> | ||
5441 | <param name="message">reason to why the request was unauthorized.</param> | ||
5442 | <param name="inner">inner exception</param> | ||
5443 | </member> | ||
5444 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)"> | ||
5445 | <summary> | ||
5446 | Create a new unauhtorized exception. | ||
5447 | </summary> | ||
5448 | <param name="message">reason to why the request was unauthorized.</param> | ||
7017 | </member> | 5449 | </member> |
7018 | </members> | 5450 | </members> |
7019 | </doc> | 5451 | </doc> |