diff options
author | Melanie | 2011-11-19 22:39:15 +0000 |
---|---|---|
committer | Melanie | 2011-11-19 22:39:15 +0000 |
commit | bdb5ac96d9432eb568ed3e3bb46b012365f884bc (patch) | |
tree | fe2ce2636be7e750b3f235a6c04b9f3a5cf2f8af | |
parent | Merge branch 'master' into bigmerge (diff) | |
parent | Remove the "[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCre... (diff) | |
download | opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.zip opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.gz opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.bz2 opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.xz |
Merge branch 'master' into bigmerge
Conflicts:
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
26 files changed, 5647 insertions, 5565 deletions
diff --git a/OpenSim/Data/IRegionData.cs b/OpenSim/Data/IRegionData.cs index 46dc4fb..546b5e8 100644 --- a/OpenSim/Data/IRegionData.cs +++ b/OpenSim/Data/IRegionData.cs | |||
@@ -37,10 +37,30 @@ namespace OpenSim.Data | |||
37 | public UUID RegionID; | 37 | public UUID RegionID; |
38 | public UUID ScopeID; | 38 | public UUID ScopeID; |
39 | public string RegionName; | 39 | public string RegionName; |
40 | |||
41 | /// <summary> | ||
42 | /// The position in meters of this region. | ||
43 | /// </summary> | ||
40 | public int posX; | 44 | public int posX; |
45 | |||
46 | /// <summary> | ||
47 | /// The position in meters of this region. | ||
48 | /// </summary> | ||
41 | public int posY; | 49 | public int posY; |
50 | |||
42 | public int sizeX; | 51 | public int sizeX; |
43 | public int sizeY; | 52 | public int sizeY; |
53 | |||
54 | /// <summary> | ||
55 | /// Return the x-coordinate of this region. | ||
56 | /// </summary> | ||
57 | public int coordX { get { return posX / (int)Constants.RegionSize; } } | ||
58 | |||
59 | /// <summary> | ||
60 | /// Return the y-coordinate of this region. | ||
61 | /// </summary> | ||
62 | public int coordY { get { return posY / (int)Constants.RegionSize; } } | ||
63 | |||
44 | public Dictionary<string, object> Data; | 64 | public Dictionary<string, object> Data; |
45 | } | 65 | } |
46 | 66 | ||
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 60c1e15..6ce122b 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs | |||
@@ -298,7 +298,7 @@ namespace OpenSim.Framework | |||
298 | catch (Exception e) | 298 | catch (Exception e) |
299 | { | 299 | { |
300 | // don't need to treat this as an error... we're just guessing anyway | 300 | // don't need to treat this as an error... we're just guessing anyway |
301 | m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message); | 301 | // m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message); |
302 | } | 302 | } |
303 | 303 | ||
304 | return result; | 304 | return result; |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/LocalNeighbourServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/LocalNeighbourServiceConnector.cs index f71bf46..40cc536 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/LocalNeighbourServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/LocalNeighbourServiceConnector.cs | |||
@@ -25,11 +25,12 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using log4net; | ||
29 | using Nini.Config; | ||
30 | using System; | 28 | using System; |
31 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
32 | using System.Reflection; | 30 | using System.Reflection; |
31 | using log4net; | ||
32 | using Nini.Config; | ||
33 | using OpenMetaverse; | ||
33 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
34 | using OpenSim.Server.Base; | 35 | using OpenSim.Server.Base; |
35 | using OpenSim.Region.Framework.Interfaces; | 36 | using OpenSim.Region.Framework.Interfaces; |
@@ -119,10 +120,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour | |||
119 | 120 | ||
120 | #region INeighbourService | 121 | #region INeighbourService |
121 | 122 | ||
122 | public GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion) | 123 | public OpenSim.Services.Interfaces.GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion) |
123 | { | 124 | { |
124 | m_log.DebugFormat("[NEIGHBOUR CONNECTOR]: HelloNeighbour from {0}, to {1}.", | 125 | uint x, y; |
125 | thisRegion.RegionName, regionHandle); | 126 | Utils.LongToUInts(regionHandle, out x, out y); |
127 | |||
128 | m_log.DebugFormat("[NEIGHBOUR CONNECTOR]: HelloNeighbour from region {0} to region at {1}-{2}", | ||
129 | thisRegion.RegionName, x / Constants.RegionSize, y / Constants.RegionSize); | ||
130 | |||
126 | foreach (Scene s in m_Scenes) | 131 | foreach (Scene s in m_Scenes) |
127 | { | 132 | { |
128 | if (s.RegionInfo.RegionHandle == regionHandle) | 133 | if (s.RegionInfo.RegionHandle == regionHandle) |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs index 9714c36..faa1def 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | |||
@@ -196,7 +196,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation | |||
196 | } | 196 | } |
197 | } | 197 | } |
198 | 198 | ||
199 | m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCreateChildAgent", destination.RegionName); | ||
200 | reason = "Did not find region " + destination.RegionName; | 199 | reason = "Did not find region " + destination.RegionName; |
201 | return false; | 200 | return false; |
202 | } | 201 | } |
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs index a93ffaa..4805ccb 100644 --- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs +++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs | |||
@@ -86,6 +86,11 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
86 | private volatile bool m_tainted; | 86 | private volatile bool m_tainted; |
87 | private readonly Stack<LandUndoState> m_undo = new Stack<LandUndoState>(5); | 87 | private readonly Stack<LandUndoState> m_undo = new Stack<LandUndoState>(5); |
88 | 88 | ||
89 | /// <summary> | ||
90 | /// Human readable list of terrain file extensions that are supported. | ||
91 | /// </summary> | ||
92 | private string m_supportedFileExtensions = ""; | ||
93 | |||
89 | #region ICommandableModule Members | 94 | #region ICommandableModule Members |
90 | 95 | ||
91 | public ICommander CommandInterface | 96 | public ICommander CommandInterface |
@@ -135,6 +140,15 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
135 | 140 | ||
136 | InstallDefaultEffects(); | 141 | InstallDefaultEffects(); |
137 | LoadPlugins(); | 142 | LoadPlugins(); |
143 | |||
144 | // Generate user-readable extensions list | ||
145 | string supportedFilesSeparator = ""; | ||
146 | |||
147 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) | ||
148 | { | ||
149 | m_supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")"; | ||
150 | supportedFilesSeparator = ", "; | ||
151 | } | ||
138 | } | 152 | } |
139 | 153 | ||
140 | public void RegionLoaded(Scene scene) | 154 | public void RegionLoaded(Scene scene) |
@@ -251,20 +265,19 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
251 | if (filename.EndsWith(loader.Key)) | 265 | if (filename.EndsWith(loader.Key)) |
252 | { | 266 | { |
253 | loader.Value.SaveFile(filename, m_channel); | 267 | loader.Value.SaveFile(filename, m_channel); |
268 | m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename); | ||
254 | return; | 269 | return; |
255 | } | 270 | } |
256 | } | 271 | } |
257 | } | 272 | } |
258 | catch (NotImplementedException) | ||
259 | { | ||
260 | m_log.Error("Unable to save to " + filename + ", saving of this file format has not been implemented."); | ||
261 | throw new TerrainException(String.Format("Unable to save heightmap: saving of this file format not implemented")); | ||
262 | } | ||
263 | catch (IOException ioe) | 273 | catch (IOException ioe) |
264 | { | 274 | { |
265 | m_log.Error(String.Format("[TERRAIN]: Unable to save to {0}, {1}", filename, ioe.Message)); | 275 | m_log.Error(String.Format("[TERRAIN]: Unable to save to {0}, {1}", filename, ioe.Message)); |
266 | throw new TerrainException(String.Format("Unable to save heightmap: {0}", ioe.Message)); | ||
267 | } | 276 | } |
277 | |||
278 | m_log.ErrorFormat( | ||
279 | "[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}", | ||
280 | m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions); | ||
268 | } | 281 | } |
269 | 282 | ||
270 | /// <summary> | 283 | /// <summary> |
@@ -345,6 +358,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
345 | float duration = 0.25f; | 358 | float duration = 0.25f; |
346 | if (action == 0) | 359 | if (action == 0) |
347 | duration = 4.0f; | 360 | duration = 4.0f; |
361 | |||
348 | client_OnModifyTerrain(user, (float)pos.Z, duration, size, action, pos.Y, pos.X, pos.Y, pos.X, agentId); | 362 | client_OnModifyTerrain(user, (float)pos.Z, duration, size, action, pos.Y, pos.X, pos.Y, pos.X, agentId); |
349 | } | 363 | } |
350 | 364 | ||
@@ -534,6 +548,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
534 | m_channel = channel; | 548 | m_channel = channel; |
535 | UpdateRevertMap(); | 549 | UpdateRevertMap(); |
536 | } | 550 | } |
551 | |||
537 | return; | 552 | return; |
538 | } | 553 | } |
539 | } | 554 | } |
@@ -566,10 +581,17 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
566 | fileWidth, fileHeight, | 581 | fileWidth, fileHeight, |
567 | (int)Constants.RegionSize, | 582 | (int)Constants.RegionSize, |
568 | (int)Constants.RegionSize); | 583 | (int)Constants.RegionSize); |
584 | |||
585 | m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename); | ||
569 | } | 586 | } |
587 | |||
570 | return; | 588 | return; |
571 | } | 589 | } |
572 | } | 590 | } |
591 | |||
592 | m_log.ErrorFormat( | ||
593 | "[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}", | ||
594 | m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions); | ||
573 | } | 595 | } |
574 | } | 596 | } |
575 | 597 | ||
@@ -1126,32 +1148,23 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
1126 | 1148 | ||
1127 | private void InstallInterfaces() | 1149 | private void InstallInterfaces() |
1128 | { | 1150 | { |
1129 | // Load / Save | ||
1130 | string supportedFileExtensions = ""; | ||
1131 | string supportedFilesSeparator = ""; | ||
1132 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) | ||
1133 | { | ||
1134 | supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")"; | ||
1135 | supportedFilesSeparator = ", "; | ||
1136 | } | ||
1137 | |||
1138 | Command loadFromFileCommand = | 1151 | Command loadFromFileCommand = |
1139 | new Command("load", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadFile, "Loads a terrain from a specified file."); | 1152 | new Command("load", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadFile, "Loads a terrain from a specified file."); |
1140 | loadFromFileCommand.AddArgument("filename", | 1153 | loadFromFileCommand.AddArgument("filename", |
1141 | "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + | 1154 | "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + |
1142 | supportedFileExtensions, "String"); | 1155 | m_supportedFileExtensions, "String"); |
1143 | 1156 | ||
1144 | Command saveToFileCommand = | 1157 | Command saveToFileCommand = |
1145 | new Command("save", CommandIntentions.COMMAND_NON_HAZARDOUS, InterfaceSaveFile, "Saves the current heightmap to a specified file."); | 1158 | new Command("save", CommandIntentions.COMMAND_NON_HAZARDOUS, InterfaceSaveFile, "Saves the current heightmap to a specified file."); |
1146 | saveToFileCommand.AddArgument("filename", | 1159 | saveToFileCommand.AddArgument("filename", |
1147 | "The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: " + | 1160 | "The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: " + |
1148 | supportedFileExtensions, "String"); | 1161 | m_supportedFileExtensions, "String"); |
1149 | 1162 | ||
1150 | Command loadFromTileCommand = | 1163 | Command loadFromTileCommand = |
1151 | new Command("load-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadTileFile, "Loads a terrain from a section of a larger file."); | 1164 | new Command("load-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadTileFile, "Loads a terrain from a section of a larger file."); |
1152 | loadFromTileCommand.AddArgument("filename", | 1165 | loadFromTileCommand.AddArgument("filename", |
1153 | "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + | 1166 | "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + |
1154 | supportedFileExtensions, "String"); | 1167 | m_supportedFileExtensions, "String"); |
1155 | loadFromTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); | 1168 | loadFromTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); |
1156 | loadFromTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); | 1169 | loadFromTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); |
1157 | loadFromTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", | 1170 | loadFromTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", |
@@ -1163,7 +1176,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
1163 | new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file."); | 1176 | new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file."); |
1164 | saveToTileCommand.AddArgument("filename", | 1177 | saveToTileCommand.AddArgument("filename", |
1165 | "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " + | 1178 | "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " + |
1166 | supportedFileExtensions, "String"); | 1179 | m_supportedFileExtensions, "String"); |
1167 | saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); | 1180 | saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); |
1168 | saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); | 1181 | saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); |
1169 | saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", | 1182 | saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", |
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 0049384..547e693 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -102,9 +102,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
102 | 102 | ||
103 | public event OnPluginConsoleDelegate OnPluginConsole; | 103 | public event OnPluginConsoleDelegate OnPluginConsole; |
104 | 104 | ||
105 | public delegate void OnShutdownDelegate(); | 105 | /// <summary> |
106 | 106 | /// Triggered when the entire simulator is shutdown. | |
107 | public event OnShutdownDelegate OnShutdown; | 107 | /// </summary> |
108 | public event Action OnShutdown; | ||
108 | 109 | ||
109 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); | 110 | public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs); |
110 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); | 111 | public delegate void ScriptResetDelegate(uint localID, UUID itemID); |
@@ -117,9 +118,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
117 | 118 | ||
118 | public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest; | 119 | public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest; |
119 | 120 | ||
120 | public delegate void SceneShuttingDownDelegate(Scene scene); | 121 | /// <summary> |
121 | 122 | /// Triggered when an individual scene is shutdown. | |
122 | public event SceneShuttingDownDelegate OnSceneShuttingDown; | 123 | /// </summary> |
124 | /// <remarks> | ||
125 | /// This does not automatically mean that the entire simulator is shutting down. Listen to OnShutdown for that | ||
126 | /// notification. | ||
127 | /// </remarks> | ||
128 | public event Action<Scene> OnSceneShuttingDown; | ||
123 | 129 | ||
124 | /// <summary> | 130 | /// <summary> |
125 | /// Fired when an object is touched/grabbed. | 131 | /// Fired when an object is touched/grabbed. |
@@ -893,10 +899,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
893 | 899 | ||
894 | public void TriggerShutdown() | 900 | public void TriggerShutdown() |
895 | { | 901 | { |
896 | OnShutdownDelegate handlerShutdown = OnShutdown; | 902 | Action handlerShutdown = OnShutdown; |
897 | if (handlerShutdown != null) | 903 | if (handlerShutdown != null) |
898 | { | 904 | { |
899 | foreach (OnShutdownDelegate d in handlerShutdown.GetInvocationList()) | 905 | foreach (Action d in handlerShutdown.GetInvocationList()) |
900 | { | 906 | { |
901 | try | 907 | try |
902 | { | 908 | { |
@@ -2236,10 +2242,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
2236 | 2242 | ||
2237 | public void TriggerSceneShuttingDown(Scene s) | 2243 | public void TriggerSceneShuttingDown(Scene s) |
2238 | { | 2244 | { |
2239 | SceneShuttingDownDelegate handler = OnSceneShuttingDown; | 2245 | Action<Scene> handler = OnSceneShuttingDown; |
2240 | if (handler != null) | 2246 | if (handler != null) |
2241 | { | 2247 | { |
2242 | foreach (SceneShuttingDownDelegate d in handler.GetInvocationList()) | 2248 | foreach (Action<Scene> d in handler.GetInvocationList()) |
2243 | { | 2249 | { |
2244 | try | 2250 | try |
2245 | { | 2251 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0eeb22a..c581b5f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -5218,18 +5218,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
5218 | return offsets.ToArray(); | 5218 | return offsets.ToArray(); |
5219 | } | 5219 | } |
5220 | 5220 | ||
5221 | /// <summary> | ||
5222 | /// Regenerate the maptile for this scene. | ||
5223 | /// </summary> | ||
5224 | /// <param name="sender"></param> | ||
5225 | /// <param name="e"></param> | ||
5221 | public void RegenerateMaptile(object sender, ElapsedEventArgs e) | 5226 | public void RegenerateMaptile(object sender, ElapsedEventArgs e) |
5222 | { | 5227 | { |
5223 | IWorldMapModule mapModule = RequestModuleInterface<IWorldMapModule>(); | 5228 | IWorldMapModule mapModule = RequestModuleInterface<IWorldMapModule>(); |
5224 | if (mapModule != null) | 5229 | if (mapModule != null) |
5225 | { | ||
5226 | mapModule.GenerateMaptile(); | 5230 | mapModule.GenerateMaptile(); |
5227 | |||
5228 | string error = GridService.RegisterRegion(RegionInfo.ScopeID, new GridRegion(RegionInfo)); | ||
5229 | |||
5230 | if (error != String.Empty) | ||
5231 | throw new Exception(error); | ||
5232 | } | ||
5233 | } | 5231 | } |
5234 | 5232 | ||
5235 | // public void CleanDroppedAttachments() | 5233 | // public void CleanDroppedAttachments() |
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 12058c8..27833e8 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -174,7 +174,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
174 | { | 174 | { |
175 | // We're ignoring a collection was modified error because this data gets old and outdated fast. | 175 | // We're ignoring a collection was modified error because this data gets old and outdated fast. |
176 | } | 176 | } |
177 | |||
178 | } | 177 | } |
179 | 178 | ||
180 | public delegate void SendCloseChildAgentDelegate(UUID agentID, ulong regionHandle); | 179 | public delegate void SendCloseChildAgentDelegate(UUID agentID, ulong regionHandle); |
@@ -185,13 +184,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
185 | /// </summary> | 184 | /// </summary> |
186 | protected void SendCloseChildAgentAsync(UUID agentID, ulong regionHandle) | 185 | protected void SendCloseChildAgentAsync(UUID agentID, ulong regionHandle) |
187 | { | 186 | { |
188 | |||
189 | //m_log.Debug("[INTERGRID]: Sending close agent to " + regionHandle); | ||
190 | // let's do our best, but there's not much we can do if the neighbour doesn't accept. | 187 | // let's do our best, but there's not much we can do if the neighbour doesn't accept. |
191 | 188 | ||
192 | //m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID); | 189 | //m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID); |
193 | uint x = 0, y = 0; | 190 | uint x = 0, y = 0; |
194 | Utils.LongToUInts(regionHandle, out x, out y); | 191 | Utils.LongToUInts(regionHandle, out x, out y); |
192 | |||
195 | GridRegion destination = m_scene.GridService.GetRegionByPosition(m_regionInfo.ScopeID, (int)x, (int)y); | 193 | GridRegion destination = m_scene.GridService.GetRegionByPosition(m_regionInfo.ScopeID, (int)x, (int)y); |
196 | m_scene.SimulationService.CloseChildAgent(destination, agentID); | 194 | m_scene.SimulationService.CloseChildAgent(destination, agentID); |
197 | } | 195 | } |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 402377d..65c7416 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -91,6 +91,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
91 | private bool m_KillTimedOutScripts; | 91 | private bool m_KillTimedOutScripts; |
92 | private string m_ScriptEnginesPath = null; | 92 | private string m_ScriptEnginesPath = null; |
93 | 93 | ||
94 | /// <summary> | ||
95 | /// Is the entire simulator in the process of shutting down? | ||
96 | /// </summary> | ||
97 | private bool m_SimulatorShuttingDown; | ||
98 | |||
94 | private static List<XEngine> m_ScriptEngines = | 99 | private static List<XEngine> m_ScriptEngines = |
95 | new List<XEngine>(); | 100 | new List<XEngine>(); |
96 | 101 | ||
@@ -537,12 +542,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
537 | // Must be done explicitly because they have infinite | 542 | // Must be done explicitly because they have infinite |
538 | // lifetime | 543 | // lifetime |
539 | // | 544 | // |
540 | m_DomainScripts[instance.AppDomain].Remove(instance.ItemID); | 545 | if (!m_SimulatorShuttingDown) |
541 | if (m_DomainScripts[instance.AppDomain].Count == 0) | ||
542 | { | 546 | { |
543 | m_DomainScripts.Remove(instance.AppDomain); | 547 | m_DomainScripts[instance.AppDomain].Remove(instance.ItemID); |
544 | UnloadAppDomain(instance.AppDomain); | 548 | if (m_DomainScripts[instance.AppDomain].Count == 0) |
549 | { | ||
550 | m_DomainScripts.Remove(instance.AppDomain); | ||
551 | UnloadAppDomain(instance.AppDomain); | ||
552 | } | ||
545 | } | 553 | } |
554 | |||
555 | m_Scripts.Clear(); | ||
556 | m_PrimObjects.Clear(); | ||
557 | m_Assemblies.Clear(); | ||
558 | m_DomainScripts.Clear(); | ||
546 | } | 559 | } |
547 | lockScriptsForRead(false); | 560 | lockScriptsForRead(false); |
548 | lockScriptsForWrite(true); | 561 | lockScriptsForWrite(true); |
@@ -1512,6 +1525,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1512 | 1525 | ||
1513 | public void OnShutdown() | 1526 | public void OnShutdown() |
1514 | { | 1527 | { |
1528 | m_SimulatorShuttingDown = true; | ||
1529 | |||
1515 | List<IScriptInstance> instances = new List<IScriptInstance>(); | 1530 | List<IScriptInstance> instances = new List<IScriptInstance>(); |
1516 | 1531 | ||
1517 | lockScriptsForRead(true); | 1532 | lockScriptsForRead(true); |
@@ -1907,4 +1922,4 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1907 | return true; | 1922 | return true; |
1908 | } | 1923 | } |
1909 | } | 1924 | } |
1910 | } \ No newline at end of file | 1925 | } |
diff --git a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs index 5c89d0f..56f130e 100644 --- a/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs +++ b/OpenSim/Server/Handlers/Hypergrid/HGFriendsServerPostHandler.cs | |||
@@ -99,7 +99,6 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
99 | } | 99 | } |
100 | 100 | ||
101 | return FailureResult(); | 101 | return FailureResult(); |
102 | |||
103 | } | 102 | } |
104 | 103 | ||
105 | #region Method-specific handlers | 104 | #region Method-specific handlers |
@@ -127,7 +126,6 @@ namespace OpenSim.Server.Handlers.Hypergrid | |||
127 | return FailureResult(); | 126 | return FailureResult(); |
128 | } | 127 | } |
129 | 128 | ||
130 | string perms = "0"; | ||
131 | FriendInfo[] friendsInfo = m_FriendsService.GetFriends(principalID); | 129 | FriendInfo[] friendsInfo = m_FriendsService.GetFriends(principalID); |
132 | foreach (FriendInfo finfo in friendsInfo) | 130 | foreach (FriendInfo finfo in friendsInfo) |
133 | { | 131 | { |
diff --git a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs index 99f98b6..8291107 100644 --- a/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapAddServerConnector.cs | |||
@@ -79,7 +79,7 @@ namespace OpenSim.Server.Handlers.MapImage | |||
79 | 79 | ||
80 | public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse) | 80 | public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse) |
81 | { | 81 | { |
82 | m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path); | 82 | // m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path); |
83 | StreamReader sr = new StreamReader(requestData); | 83 | StreamReader sr = new StreamReader(requestData); |
84 | string body = sr.ReadToEnd(); | 84 | string body = sr.ReadToEnd(); |
85 | sr.Close(); | 85 | sr.Close(); |
@@ -97,9 +97,14 @@ namespace OpenSim.Server.Handlers.MapImage | |||
97 | int x = 0, y = 0; | 97 | int x = 0, y = 0; |
98 | Int32.TryParse(request["X"].ToString(), out x); | 98 | Int32.TryParse(request["X"].ToString(), out x); |
99 | Int32.TryParse(request["Y"].ToString(), out y); | 99 | Int32.TryParse(request["Y"].ToString(), out y); |
100 | string type = "image/jpeg"; | 100 | |
101 | if (request.ContainsKey("TYPE")) | 101 | m_log.DebugFormat("[MAP ADD SERVER CONNECTOR]: Received map data for region at {0}-{1}", x, y); |
102 | type = request["TYPE"].ToString(); | 102 | |
103 | // string type = "image/jpeg"; | ||
104 | // | ||
105 | // if (request.ContainsKey("TYPE")) | ||
106 | // type = request["TYPE"].ToString(); | ||
107 | |||
103 | byte[] data = Convert.FromBase64String(request["DATA"].ToString()); | 108 | byte[] data = Convert.FromBase64String(request["DATA"].ToString()); |
104 | 109 | ||
105 | string reason = string.Empty; | 110 | string reason = string.Empty; |
@@ -117,7 +122,6 @@ namespace OpenSim.Server.Handlers.MapImage | |||
117 | } | 122 | } |
118 | 123 | ||
119 | return FailureResult("Unexpected server error"); | 124 | return FailureResult("Unexpected server error"); |
120 | |||
121 | } | 125 | } |
122 | 126 | ||
123 | private byte[] SuccessResult() | 127 | private byte[] SuccessResult() |
diff --git a/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs b/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs index e8a424f..501074d 100644 --- a/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs +++ b/OpenSim/Server/Handlers/Map/MapGetServerConnector.cs | |||
@@ -42,7 +42,8 @@ namespace OpenSim.Server.Handlers.MapImage | |||
42 | { | 42 | { |
43 | public class MapGetServiceConnector : ServiceConnector | 43 | public class MapGetServiceConnector : ServiceConnector |
44 | { | 44 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | |||
46 | private IMapImageService m_MapService; | 47 | private IMapImageService m_MapService; |
47 | 48 | ||
48 | private string m_ConfigName = "MapImageService"; | 49 | private string m_ConfigName = "MapImageService"; |
@@ -69,7 +70,8 @@ namespace OpenSim.Server.Handlers.MapImage | |||
69 | 70 | ||
70 | class MapServerGetHandler : BaseStreamHandler | 71 | class MapServerGetHandler : BaseStreamHandler |
71 | { | 72 | { |
72 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 73 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
74 | |||
73 | private IMapImageService m_MapService; | 75 | private IMapImageService m_MapService; |
74 | 76 | ||
75 | public MapServerGetHandler(IMapImageService service) : | 77 | public MapServerGetHandler(IMapImageService service) : |
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 9935e3c..78b09cd 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -243,14 +243,13 @@ namespace OpenSim.Server.Handlers.Simulation | |||
243 | responsedata["int_response_code"] = HttpStatusCode.OK; | 243 | responsedata["int_response_code"] = HttpStatusCode.OK; |
244 | responsedata["str_response_string"] = "OpenSim agent " + id.ToString(); | 244 | responsedata["str_response_string"] = "OpenSim agent " + id.ToString(); |
245 | 245 | ||
246 | m_log.Debug("[AGENT HANDLER]: Agent Released/Deleted."); | 246 | m_log.DebugFormat("[AGENT HANDLER]: Agent {0} Released/Deleted from region {1}", id, regionID); |
247 | } | 247 | } |
248 | 248 | ||
249 | protected virtual void ReleaseAgent(UUID regionID, UUID id) | 249 | protected virtual void ReleaseAgent(UUID regionID, UUID id) |
250 | { | 250 | { |
251 | m_SimulationService.ReleaseAgent(regionID, id, ""); | 251 | m_SimulationService.ReleaseAgent(regionID, id, ""); |
252 | } | 252 | } |
253 | |||
254 | } | 253 | } |
255 | 254 | ||
256 | public class AgentPostHandler : BaseStreamHandler | 255 | public class AgentPostHandler : BaseStreamHandler |
@@ -275,7 +274,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
275 | public override byte[] Handle(string path, Stream request, | 274 | public override byte[] Handle(string path, Stream request, |
276 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) | 275 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) |
277 | { | 276 | { |
278 | m_log.DebugFormat("[SIMULATION]: Stream handler called"); | 277 | // m_log.DebugFormat("[SIMULATION]: Stream handler called"); |
279 | 278 | ||
280 | Hashtable keysvals = new Hashtable(); | 279 | Hashtable keysvals = new Hashtable(); |
281 | Hashtable headervals = new Hashtable(); | 280 | Hashtable headervals = new Hashtable(); |
@@ -462,7 +461,7 @@ namespace OpenSim.Server.Handlers.Simulation | |||
462 | public override byte[] Handle(string path, Stream request, | 461 | public override byte[] Handle(string path, Stream request, |
463 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) | 462 | OSHttpRequest httpRequest, OSHttpResponse httpResponse) |
464 | { | 463 | { |
465 | m_log.DebugFormat("[SIMULATION]: Stream handler called"); | 464 | // m_log.DebugFormat("[SIMULATION]: Stream handler called"); |
466 | 465 | ||
467 | Hashtable keysvals = new Hashtable(); | 466 | Hashtable keysvals = new Hashtable(); |
468 | Hashtable headervals = new Hashtable(); | 467 | Hashtable headervals = new Hashtable(); |
diff --git a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs index 69e2d17..e46714e 100644 --- a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs +++ b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs | |||
@@ -129,7 +129,9 @@ namespace OpenSim.Services.Connectors | |||
129 | 129 | ||
130 | } | 130 | } |
131 | else | 131 | else |
132 | m_log.DebugFormat("[MAP IMAGE CONNECTOR]: RegisterRegion received null reply"); | 132 | { |
133 | m_log.DebugFormat("[MAP IMAGE CONNECTOR]: Map post received null reply"); | ||
134 | } | ||
133 | } | 135 | } |
134 | catch (Exception e) | 136 | catch (Exception e) |
135 | { | 137 | { |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 6fb583c..24a23dd 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -371,7 +371,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
371 | 371 | ||
372 | private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly) | 372 | private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly) |
373 | { | 373 | { |
374 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start"); | 374 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start"); |
375 | 375 | ||
376 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; | 376 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; |
377 | 377 | ||
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index 05cfe5f..89f0716 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs | |||
@@ -156,6 +156,7 @@ namespace OpenSim.Services.GridService | |||
156 | regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID); | 156 | regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID); |
157 | return "Region overlaps another region"; | 157 | return "Region overlaps another region"; |
158 | } | 158 | } |
159 | |||
159 | if ((region != null) && (region.RegionID == regionInfos.RegionID) && | 160 | if ((region != null) && (region.RegionID == regionInfos.RegionID) && |
160 | ((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY))) | 161 | ((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY))) |
161 | { | 162 | { |
@@ -236,18 +237,21 @@ namespace OpenSim.Services.GridService | |||
236 | } | 237 | } |
237 | 238 | ||
238 | m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) registered successfully at {2}-{3}", | 239 | m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) registered successfully at {2}-{3}", |
239 | regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY); | 240 | regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionCoordX, regionInfos.RegionCoordY); |
240 | 241 | ||
241 | return String.Empty; | 242 | return String.Empty; |
242 | } | 243 | } |
243 | 244 | ||
244 | public bool DeregisterRegion(UUID regionID) | 245 | public bool DeregisterRegion(UUID regionID) |
245 | { | 246 | { |
246 | m_log.DebugFormat("[GRID SERVICE]: Region {0} deregistered", regionID); | ||
247 | RegionData region = m_Database.Get(regionID, UUID.Zero); | 247 | RegionData region = m_Database.Get(regionID, UUID.Zero); |
248 | if (region == null) | 248 | if (region == null) |
249 | return false; | 249 | return false; |
250 | 250 | ||
251 | m_log.DebugFormat( | ||
252 | "[GRID SERVICE]: Deregistering region {0} ({1}) at {2}-{3}", | ||
253 | region.RegionName, region.RegionID, region.coordX, region.coordY); | ||
254 | |||
251 | int flags = Convert.ToInt32(region.Data["flags"]); | 255 | int flags = Convert.ToInt32(region.Data["flags"]); |
252 | 256 | ||
253 | if (!m_DeleteOnUnregister || (flags & (int)OpenSim.Data.RegionFlags.Persistent) != 0) | 257 | if (!m_DeleteOnUnregister || (flags & (int)OpenSim.Data.RegionFlags.Persistent) != 0) |
@@ -292,7 +296,7 @@ namespace OpenSim.Services.GridService | |||
292 | } | 296 | } |
293 | } | 297 | } |
294 | 298 | ||
295 | m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count); | 299 | // m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count); |
296 | } | 300 | } |
297 | else | 301 | else |
298 | { | 302 | { |
diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index a084309..2b0b947 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs | |||
@@ -103,9 +103,8 @@ namespace OpenSim.Services.Interfaces | |||
103 | int GetRegionFlags(UUID scopeID, UUID regionID); | 103 | int GetRegionFlags(UUID scopeID, UUID regionID); |
104 | } | 104 | } |
105 | 105 | ||
106 | public class GridRegion : Object | 106 | public class GridRegion |
107 | { | 107 | { |
108 | |||
109 | /// <summary> | 108 | /// <summary> |
110 | /// The port by which http communication occurs with the region | 109 | /// The port by which http communication occurs with the region |
111 | /// </summary> | 110 | /// </summary> |
@@ -149,6 +148,19 @@ namespace OpenSim.Services.Interfaces | |||
149 | 148 | ||
150 | protected IPEndPoint m_internalEndPoint; | 149 | protected IPEndPoint m_internalEndPoint; |
151 | 150 | ||
151 | /// <summary> | ||
152 | /// The co-ordinate of this region. | ||
153 | /// </summary> | ||
154 | public int RegionCoordX { get { return RegionLocX / (int)Constants.RegionSize; } } | ||
155 | |||
156 | /// <summary> | ||
157 | /// The co-ordinate of this region | ||
158 | /// </summary> | ||
159 | public int RegionCoordY { get { return RegionLocY / (int)Constants.RegionSize; } } | ||
160 | |||
161 | /// <summary> | ||
162 | /// The location of this region in meters. | ||
163 | /// </summary> | ||
152 | public int RegionLocX | 164 | public int RegionLocX |
153 | { | 165 | { |
154 | get { return m_regionLocX; } | 166 | get { return m_regionLocX; } |
@@ -156,6 +168,9 @@ namespace OpenSim.Services.Interfaces | |||
156 | } | 168 | } |
157 | protected int m_regionLocX; | 169 | protected int m_regionLocX; |
158 | 170 | ||
171 | /// <summary> | ||
172 | /// The location of this region in meters. | ||
173 | /// </summary> | ||
159 | public int RegionLocY | 174 | public int RegionLocY |
160 | { | 175 | { |
161 | get { return m_regionLocY; } | 176 | get { return m_regionLocY; } |
@@ -417,8 +432,6 @@ namespace OpenSim.Services.Interfaces | |||
417 | 432 | ||
418 | if (kvp.ContainsKey("Token")) | 433 | if (kvp.ContainsKey("Token")) |
419 | Token = kvp["Token"].ToString(); | 434 | Token = kvp["Token"].ToString(); |
420 | |||
421 | } | 435 | } |
422 | } | 436 | } |
423 | |||
424 | } | 437 | } |
diff --git a/OpenSim/Services/MapImageService/MapImageService.cs b/OpenSim/Services/MapImageService/MapImageService.cs index 7e7391c..a85ee70 100644 --- a/OpenSim/Services/MapImageService/MapImageService.cs +++ b/OpenSim/Services/MapImageService/MapImageService.cs | |||
@@ -138,6 +138,8 @@ namespace OpenSim.Services.MapImageService | |||
138 | 138 | ||
139 | public byte[] GetMapTile(string fileName, out string format) | 139 | public byte[] GetMapTile(string fileName, out string format) |
140 | { | 140 | { |
141 | // m_log.DebugFormat("[MAP IMAGE SERVICE]: Getting map tile {0}", fileName); | ||
142 | |||
141 | format = ".jpg"; | 143 | format = ".jpg"; |
142 | string fullName = Path.Combine(m_TilesStoragePath, fileName); | 144 | string fullName = Path.Combine(m_TilesStoragePath, fileName); |
143 | if (File.Exists(fullName)) | 145 | if (File.Exists(fullName)) |
@@ -206,7 +208,7 @@ namespace OpenSim.Services.MapImageService | |||
206 | 208 | ||
207 | private bool CreateTile(uint zoomLevel, int x, int y) | 209 | private bool CreateTile(uint zoomLevel, int x, int y) |
208 | { | 210 | { |
209 | m_log.DebugFormat("[MAP IMAGE SERVICE]: Create tile for {0} {1}, zoom {2}", x, y, zoomLevel); | 211 | // m_log.DebugFormat("[MAP IMAGE SERVICE]: Create tile for {0} {1}, zoom {2}", x, y, zoomLevel); |
210 | int prevWidth = (int)Math.Pow(2, (double)zoomLevel - 2); | 212 | int prevWidth = (int)Math.Pow(2, (double)zoomLevel - 2); |
211 | int thisWidth = (int)Math.Pow(2, (double)zoomLevel - 1); | 213 | int thisWidth = (int)Math.Pow(2, (double)zoomLevel - 1); |
212 | 214 | ||
diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 95ea5dd..d910bb9 100755 --- a/bin/HttpServer_OpenSim.dll +++ b/bin/HttpServer_OpenSim.dll | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index b6b77f7..b9161e1 100644 --- a/bin/HttpServer_OpenSim.pdb +++ b/bin/HttpServer_OpenSim.pdb | |||
Binary files differ | |||
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index 27386b7..d31bcca 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml | |||
@@ -1,5456 +1,5453 @@ | |||
1 | <?xml version="1.0"?> | 1 | <?xml version="1.0"?> |
2 | <doc> | 2 | <doc> |
3 | <assembly> | 3 | <assembly> |
4 | <name>HttpServer_OpenSim</name> | 4 | <name>HttpServer_OpenSim</name> |
5 | </assembly> | 5 | </assembly> |
6 | <members> | 6 | <members> |
7 | <member name="T:HttpServer.Exceptions.BadRequestException"> | 7 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> |
8 | <summary> | 8 | <summary> |
9 | The request could not be understood by the server due to malformed syntax. | 9 | A session store is used to store and load sessions on a media. |
10 | The client SHOULD NOT repeat the request without modifications. | 10 | The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory. |
11 | 11 | </summary> | |
12 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | 12 | </member> |
13 | </summary> | 13 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create"> |
14 | </member> | 14 | <summary> |
15 | <member name="T:HttpServer.Exceptions.HttpException"> | 15 | Creates a new http session with a generated id. |
16 | <summary> | 16 | </summary> |
17 | All HTTP based exceptions will derive this class. | 17 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns> |
18 | </summary> | 18 | </member> |
19 | </member> | 19 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)"> |
20 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)"> | 20 | <summary> |
21 | <summary> | 21 | Creates a new http session with a specific id |
22 | Create a new HttpException | 22 | </summary> |
23 | </summary> | 23 | <param name="id">Id used to identify the new cookie..</param> |
24 | <param name="code">http status code (sent in the response)</param> | 24 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> |
25 | <param name="message">error description</param> | 25 | <remarks> |
26 | </member> | 26 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. |
27 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)"> | 27 | </remarks> |
28 | <summary> | 28 | </member> |
29 | Create a new HttpException | 29 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)"> |
30 | </summary> | 30 | <summary> |
31 | <param name="code">http status code (sent in the response)</param> | 31 | Load an existing session. |
32 | <param name="message">error description</param> | 32 | </summary> |
33 | <param name="inner">inner exception</param> | 33 | <param name="sessionId">Session id (usually retrieved from a client side cookie).</param> |
34 | </member> | 34 | <returns>A session if found; otherwise null.</returns> |
35 | <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode"> | 35 | </member> |
36 | <summary> | 36 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)"> |
37 | status code to use in the response. | 37 | <summary> |
38 | </summary> | 38 | Save an updated session to the store. |
39 | </member> | 39 | </summary> |
40 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> | 40 | <param name="session">Session id (usually retrieved from a client side cookie).</param> |
41 | <summary> | 41 | <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception> |
42 | Create a new bad request exception. | 42 | </member> |
43 | </summary> | 43 | <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> |
44 | <param name="errMsg">reason to why the request was bad.</param> | 44 | <summary> |
45 | </member> | 45 | We use the flyweight pattern which reuses small objects |
46 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> | 46 | instead of creating new each time. |
47 | <summary> | 47 | </summary> |
48 | Create a new bad request exception. | 48 | <param name="session">Unused session that should be reused next time Create is called.</param> |
49 | </summary> | 49 | </member> |
50 | <param name="errMsg">reason to why the request was bad.</param> | 50 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup"> |
51 | <param name="inner">inner exception</param> | 51 | <summary> |
52 | </member> | 52 | Remove expired sessions |
53 | <member name="T:HttpServer.Authentication.DigestAuthentication"> | 53 | </summary> |
54 | <summary> | 54 | </member> |
55 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is | 55 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)"> |
56 | encrypted with a "key" from the server. | 56 | <summary> |
57 | </summary> | 57 | Remove a session |
58 | <remarks> | 58 | </summary> |
59 | Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. | 59 | <param name="sessionId">id of the session.</param> |
60 | </remarks> | 60 | </member> |
61 | </member> | 61 | <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)"> |
62 | <member name="T:HttpServer.Authentication.AuthenticationModule"> | 62 | <summary> |
63 | <summary> | 63 | Load a session from the store |
64 | Authentication modules are used to implement different | 64 | </summary> |
65 | kind of HTTP authentication. | 65 | <param name="sessionId"></param> |
66 | </summary> | 66 | <returns>null if session is not found.</returns> |
67 | </member> | 67 | </member> |
68 | <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"> | 68 | <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime"> |
69 | <summary> | 69 | <summary> |
70 | Tag used for authentication. | 70 | Number of minutes before a session expires. |
71 | </summary> | 71 | </summary> |
72 | </member> | 72 | <value>Default time is 20 minutes.</value> |
73 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 73 | </member> |
74 | <summary> | 74 | <member name="T:HttpServer.IHttpRequest"> |
75 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. | 75 | <summary> |
76 | </summary> | 76 | Contains server side HTTP request information. |
77 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 77 | </summary> |
78 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | 78 | </member> |
79 | </member> | 79 | <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)"> |
80 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 80 | <summary> |
81 | <summary> | 81 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
82 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. | 82 | </summary> |
83 | </summary> | 83 | <param name="name">Name of the header, should not be URL encoded</param> |
84 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 84 | <param name="value">Value of the header, should not be URL encoded</param> |
85 | </member> | 85 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> |
86 | <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])"> | 86 | </member> |
87 | <summary> | 87 | <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
88 | Create a response that can be sent in the WWW-Authenticate header. | 88 | <summary> |
89 | </summary> | 89 | Add bytes to the body |
90 | <param name="realm">Realm that the user should authenticate in</param> | 90 | </summary> |
91 | <param name="options">Array with optional options.</param> | 91 | <param name="bytes">buffer to read bytes from</param> |
92 | <returns>A correct authentication request.</returns> | 92 | <param name="offset">where to start read</param> |
93 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | 93 | <param name="length">number of bytes to read</param> |
94 | </member> | 94 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> |
95 | <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])"> | 95 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> |
96 | <summary> | 96 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> |
97 | An authentication response have been received from the web browser. | 97 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> |
98 | Check if it's correct | 98 | </member> |
99 | </summary> | 99 | <member name="M:HttpServer.IHttpRequest.Clear"> |
100 | <param name="authenticationHeader">Contents from the Authorization header</param> | 100 | <summary> |
101 | <param name="realm">Realm that should be authenticated</param> | 101 | Clear everything in the request |
102 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 102 | </summary> |
103 | <param name="options">options to specific implementations</param> | 103 | </member> |
104 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | 104 | <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
105 | <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception> | 105 | <summary> |
106 | <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception> | 106 | Decode body into a form. |
107 | </member> | 107 | </summary> |
108 | <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> | 108 | <param name="providers">A list with form decoders.</param> |
109 | <summary> | 109 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> |
110 | Used to invoke the authentication delegate that is used to lookup the user name/realm. | 110 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> |
111 | </summary> | 111 | </member> |
112 | <param name="realm">Realm (domain) that user want to authenticate in</param> | 112 | <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)"> |
113 | <param name="userName">User name</param> | 113 | <summary> |
114 | <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param> | 114 | Sets the cookies. |
115 | <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param> | 115 | </summary> |
116 | <returns>true if authentication was successful</returns> | 116 | <param name="cookies">The cookies.</param> |
117 | </member> | 117 | </member> |
118 | <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)"> | 118 | <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
119 | <summary> | 119 | <summary> |
120 | Determines if authentication is required. | 120 | Create a response object. |
121 | </summary> | 121 | </summary> |
122 | <param name="request">HTTP request from browser</param> | 122 | <param name="context">Context for the connected client.</param> |
123 | <returns>true if user should be authenticated.</returns> | 123 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> |
124 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks> | 124 | </member> |
125 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | 125 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> |
126 | </member> | 126 | <summary> |
127 | <member name="P:HttpServer.Authentication.AuthenticationModule.Name"> | 127 | Gets kind of types accepted by the client. |
128 | <summary> | 128 | </summary> |
129 | name used in HTTP request. | 129 | </member> |
130 | </summary> | 130 | <member name="P:HttpServer.IHttpRequest.Body"> |
131 | </member> | 131 | <summary> |
132 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 132 | Gets or sets body stream. |
133 | <summary> | 133 | </summary> |
134 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | 134 | </member> |
135 | </summary> | 135 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> |
136 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 136 | <summary> |
137 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | 137 | Gets whether the body is complete. |
138 | </member> | 138 | </summary> |
139 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 139 | </member> |
140 | <summary> | 140 | <member name="P:HttpServer.IHttpRequest.Connection"> |
141 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. | 141 | <summary> |
142 | </summary> | 142 | Gets or sets kind of connection used for the session. |
143 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 143 | </summary> |
144 | </member> | 144 | </member> |
145 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> | 145 | <member name="P:HttpServer.IHttpRequest.ContentLength"> |
146 | <summary> | 146 | <summary> |
147 | Used by test classes to be able to use hardcoded values | 147 | Gets or sets number of bytes in the body. |
148 | </summary> | 148 | </summary> |
149 | </member> | 149 | </member> |
150 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | 150 | <member name="P:HttpServer.IHttpRequest.Cookies"> |
151 | <summary> | 151 | <summary> |
152 | An authentication response have been received from the web browser. | 152 | Gets cookies that was sent with the request. |
153 | Check if it's correct | 153 | </summary> |
154 | </summary> | 154 | </member> |
155 | <param name="authenticationHeader">Contents from the Authorization header</param> | 155 | <member name="P:HttpServer.IHttpRequest.Form"> |
156 | <param name="realm">Realm that should be authenticated</param> | 156 | <summary> |
157 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 157 | Gets form parameters. |
158 | <param name="options">First option: true if username/password is correct but not cnonce</param> | 158 | </summary> |
159 | <returns> | 159 | </member> |
160 | Authentication object that is stored for the request. A user class or something like that. | 160 | <member name="P:HttpServer.IHttpRequest.Headers"> |
161 | </returns> | 161 | <summary> |
162 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | 162 | Gets headers sent by the client. |
163 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | 163 | </summary> |
164 | </member> | 164 | </member> |
165 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)"> | 165 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> |
166 | <summary> | 166 | <summary> |
167 | Encrypts parameters into a Digest string | 167 | Gets or sets version of HTTP protocol that's used. |
168 | </summary> | 168 | </summary> |
169 | <param name="realm">Realm that the user want to log into.</param> | 169 | <remarks> |
170 | <param name="userName">User logging in</param> | 170 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. |
171 | <param name="password">Users password.</param> | 171 | </remarks> |
172 | <param name="method">HTTP method.</param> | 172 | <seealso cref="T:HttpServer.HttpHelper"/> |
173 | <param name="uri">Uri/domain that generated the login prompt.</param> | 173 | </member> |
174 | <param name="qop">Quality of Protection.</param> | 174 | <member name="P:HttpServer.IHttpRequest.IsAjax"> |
175 | <param name="nonce">"Number used ONCE"</param> | 175 | <summary> |
176 | <param name="nc">Hexadecimal request counter.</param> | 176 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
177 | <param name="cnonce">"Client Number used ONCE"</param> | 177 | </summary> |
178 | <returns>Digest encrypted string</returns> | 178 | </member> |
179 | </member> | 179 | <member name="P:HttpServer.IHttpRequest.Method"> |
180 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)"> | 180 | <summary> |
181 | <summary> | 181 | Gets or sets requested method. |
182 | 182 | </summary> | |
183 | </summary> | 183 | <remarks> |
184 | <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param> | 184 | Will always be in upper case. |
185 | <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param> | 185 | </remarks> |
186 | <param name="qop">Quality of Protection</param> | 186 | <see cref="P:HttpServer.IHttpRequest.Method"/> |
187 | <param name="nonce">"Number used ONCE"</param> | 187 | </member> |
188 | <param name="nc">Hexadecimal request counter.</param> | 188 | <member name="P:HttpServer.IHttpRequest.Param"> |
189 | <param name="cnonce">Client number used once</param> | 189 | <summary> |
190 | <returns></returns> | 190 | Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>. |
191 | </member> | 191 | </summary> |
192 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> | 192 | </member> |
193 | <summary> | 193 | <member name="P:HttpServer.IHttpRequest.QueryString"> |
194 | Create a response that can be sent in the WWW-Authenticate header. | 194 | <summary> |
195 | </summary> | 195 | Gets variables sent in the query string |
196 | <param name="realm">Realm that the user should authenticate in</param> | 196 | </summary> |
197 | <param name="options">First options specifies if true if username/password is correct but not cnonce.</param> | 197 | </member> |
198 | <returns>A correct auth request.</returns> | 198 | <member name="P:HttpServer.IHttpRequest.Uri"> |
199 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> | 199 | <summary> |
200 | </member> | 200 | Gets or sets requested URI. |
201 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> | 201 | </summary> |
202 | <summary> | 202 | </member> |
203 | Decodes authorization header value | 203 | <member name="P:HttpServer.IHttpRequest.UriParts"> |
204 | </summary> | 204 | <summary> |
205 | <param name="buffer">header value</param> | 205 | Gets URI absolute path divided into parts. |
206 | <param name="encoding">Encoding that the buffer is in</param> | 206 | </summary> |
207 | <returns>All headers and their values if successful; otherwise null</returns> | 207 | <example> |
208 | <example> | 208 | // URI is: http://gauffin.com/code/tiny/ |
209 | NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); | 209 | Console.WriteLine(request.UriParts[0]); // result: code |
210 | </example> | 210 | Console.WriteLine(request.UriParts[1]); // result: tiny |
211 | <remarks>Can handle lots of whitespaces and new lines without failing.</remarks> | 211 | </example> |
212 | </member> | 212 | <remarks> |
213 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> | 213 | If you're using controllers than the first part is controller name, |
214 | <summary> | 214 | the second part is method name and the third part is Id property. |
215 | Gets the current nonce. | 215 | </remarks> |
216 | </summary> | 216 | <seealso cref="P:HttpServer.IHttpRequest.Uri"/> |
217 | <returns></returns> | 217 | </member> |
218 | </member> | 218 | <member name="P:HttpServer.IHttpRequest.UriPath"> |
219 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> | 219 | <summary> |
220 | <summary> | 220 | Gets or sets path and query. |
221 | Gets the Md5 hash bin hex2. | 221 | </summary> |
222 | </summary> | 222 | <see cref="P:HttpServer.IHttpRequest.Uri"/> |
223 | <param name="toBeHashed">To be hashed.</param> | 223 | <remarks> |
224 | <returns></returns> | 224 | Are only used during request parsing. Cannot be set after "Host" header have been |
225 | </member> | 225 | added. |
226 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> | 226 | </remarks> |
227 | <summary> | 227 | </member> |
228 | determines if the nonce is valid or has expired. | 228 | <member name="T:HttpServer.IHttpContextHandler"> |
229 | </summary> | 229 | <summary> |
230 | <param name="nonce">nonce value (check wikipedia for info)</param> | 230 | Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>. |
231 | <returns>true if the nonce has not expired.</returns> | 231 | </summary> |
232 | </member> | 232 | </member> |
233 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> | 233 | <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> |
234 | <summary> | 234 | <summary> |
235 | name used in http request. | 235 | Client have been disconnected. |
236 | </summary> | 236 | </summary> |
237 | </member> | 237 | <param name="client">Client that was disconnected.</param> |
238 | <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"> | 238 | <param name="error">Reason</param> |
239 | <summary> | 239 | <see cref="T:HttpServer.IHttpClientContext"/> |
240 | Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a | 240 | </member> |
241 | HA1 generated string. | 241 | <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
242 | </summary> | 242 | <summary> |
243 | </member> | 243 | Invoked when a client context have received a new HTTP request |
244 | <member name="T:HttpServer.Rules.RegexRedirectRule"> | 244 | </summary> |
245 | <summary> | 245 | <param name="client">Client that received the request.</param> |
246 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules | 246 | <param name="request">Request that was received.</param> |
247 | a regular expression can be used to identify redirect URLs and their targets. | 247 | <see cref="T:HttpServer.IHttpClientContext"/> |
248 | </summary> | 248 | </member> |
249 | <example> | 249 | <member name="T:HttpServer.Helpers.GetIdTitle"> |
250 | <![CDATA[ | 250 | <summary> |
251 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) | 251 | 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. |
252 | ]]> | 252 | </summary> |
253 | </example> | 253 | <param name="obj">current object (for instance a User).</param> |
254 | </member> | 254 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> |
255 | <member name="T:HttpServer.Rules.RedirectRule"> | 255 | <param name="title">Text shown in the select list.</param> |
256 | <summary> | 256 | <example> |
257 | redirects from one URL to another. | 257 | // Class that is going to be used in a SELECT-tag. |
258 | </summary> | 258 | public class User |
259 | </member> | 259 | { |
260 | <member name="T:HttpServer.Rules.IRule"> | 260 | private readonly string _realName; |
261 | <summary> | 261 | private readonly int _id; |
262 | Rules are used to perform operations before a request is being handled. | 262 | public User(int id, string realName) |
263 | Rules can be used to create routing etc. | 263 | { |
264 | </summary> | 264 | _id = id; |
265 | </member> | 265 | _realName = realName; |
266 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 266 | } |
267 | <summary> | 267 | public string RealName |
268 | Process the incoming request. | 268 | { |
269 | </summary> | 269 | get { return _realName; } |
270 | <param name="request">incoming HTTP request</param> | 270 | } |
271 | <param name="response">outgoing HTTP response</param> | 271 | |
272 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | 272 | public int Id |
273 | <remarks> | 273 | { |
274 | returning true means that no modules will get the request. Returning true is typically being done | 274 | get { return _id; } |
275 | for redirects. | 275 | } |
276 | </remarks> | 276 | } |
277 | <exception cref="T:System.ArgumentNullException">If request or response is null.</exception> | 277 | |
278 | </member> | 278 | // Using an inline delegate to generate the select list |
279 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> | 279 | public void UserInlineDelegate() |
280 | <summary> | 280 | { |
281 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 281 | List<User> items = new List<User>(); |
282 | </summary> | 282 | items.Add(new User(1, "adam")); |
283 | <param name="fromUrl">Absolute path (no server name)</param> | 283 | items.Add(new User(2, "bertial")); |
284 | <param name="toUrl">Absolute path (no server name)</param> | 284 | items.Add(new User(3, "david")); |
285 | <example> | 285 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) |
286 | server.Add(new RedirectRule("/", "/user/index")); | 286 | { |
287 | </example> | 287 | User user = (User)o; |
288 | </member> | 288 | id = user.Id; |
289 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> | 289 | value = user.RealName; |
290 | <summary> | 290 | }, 2, true); |
291 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. | 291 | } |
292 | </summary> | 292 | |
293 | <param name="fromUrl">Absolute path (no server name)</param> | 293 | // Using an method as delegate to generate the select list. |
294 | <param name="toUrl">Absolute path (no server name)</param> | 294 | public void UseExternalDelegate() |
295 | <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param> | 295 | { |
296 | <example> | 296 | List<User> items = new List<User>(); |
297 | server.Add(new RedirectRule("/", "/user/index")); | 297 | items.Add(new User(1, "adam")); |
298 | </example> | 298 | items.Add(new User(2, "bertial")); |
299 | </member> | 299 | items.Add(new User(3, "david")); |
300 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 300 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); |
301 | <summary> | 301 | } |
302 | Process the incoming request. | 302 | |
303 | </summary> | 303 | // delegate returning id and title |
304 | <param name="request">incoming HTTP request</param> | 304 | public static void UserOptions(object o, out object id, out object title) |
305 | <param name="response">outgoing HTTP response</param> | 305 | { |
306 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | 306 | User user = (User)o; |
307 | <remarks> | 307 | id = user.Id; |
308 | returning true means that no modules will get the request. Returning true is typically being done | 308 | value = user.RealName; |
309 | for redirects. | 309 | } /// </example> |
310 | </remarks> | 310 | </member> |
311 | </member> | 311 | <member name="T:HttpServer.Exceptions.ForbiddenException"> |
312 | <member name="P:HttpServer.Rules.RedirectRule.FromUrl"> | 312 | <summary> |
313 | <summary> | 313 | The server understood the request, but is refusing to fulfill it. |
314 | Gets string to match request URI with. | 314 | Authorization will not help and the request SHOULD NOT be repeated. |
315 | </summary> | 315 | If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, |
316 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> | 316 | it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information |
317 | </member> | 317 | available to the client, the status code 404 (Not Found) can be used instead. |
318 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> | 318 | |
319 | <summary> | 319 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php |
320 | Gets where to redirect. | 320 | </summary> |
321 | </summary> | 321 | </member> |
322 | </member> | 322 | <member name="T:HttpServer.Exceptions.HttpException"> |
323 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> | 323 | <summary> |
324 | <summary> | 324 | All HTTP based exceptions will derive this class. |
325 | Gets whether server should redirect client. | 325 | </summary> |
326 | </summary> | 326 | </member> |
327 | <remarks> | 327 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)"> |
328 | <c>false</c> means that the rule will replace | 328 | <summary> |
329 | the current request URI with the new one from this class. | 329 | Create a new HttpException |
330 | <c>true</c> means that a redirect response is sent to the client. | 330 | </summary> |
331 | </remarks> | 331 | <param name="code">http status code (sent in the response)</param> |
332 | </member> | 332 | <param name="message">error description</param> |
333 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> | 333 | </member> |
334 | <summary> | 334 | <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)"> |
335 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 335 | <summary> |
336 | </summary> | 336 | Create a new HttpException |
337 | <param name="fromUrlExpression">Expression to match URL</param> | 337 | </summary> |
338 | <param name="toUrlExpression">Expression to generate URL</param> | 338 | <param name="code">http status code (sent in the response)</param> |
339 | <example> | 339 | <param name="message">error description</param> |
340 | <![CDATA[ | 340 | <param name="inner">inner exception</param> |
341 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}")); | 341 | </member> |
342 | Result of ie. /employee1 will then be /user/employee1 | 342 | <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode"> |
343 | ]]> | 343 | <summary> |
344 | </example> | 344 | status code to use in the response. |
345 | </member> | 345 | </summary> |
346 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> | 346 | </member> |
347 | <summary> | 347 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> |
348 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 348 | <summary> |
349 | </summary> | 349 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. |
350 | <param name="fromUrlExpression">Expression to match URL</param> | 350 | </summary> |
351 | <param name="toUrlExpression">Expression to generate URL</param> | 351 | <param name="errorMsg">error message</param> |
352 | <param name="options">Regular expression options to use, can be null</param> | 352 | </member> |
353 | <example> | 353 | <member name="T:HttpServer.Sessions.MemorySession"> |
354 | <![CDATA[ | 354 | <summary> |
355 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); | 355 | A session stored in memory. |
356 | Result of ie. /employee1 will then be /user/employee1 | 356 | </summary> |
357 | ]]> | 357 | </member> |
358 | </example> | 358 | <member name="T:HttpServer.Sessions.IHttpSession"> |
359 | </member> | 359 | <summary> |
360 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> | 360 | Interface for sessions |
361 | <summary> | 361 | </summary> |
362 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. | 362 | </member> |
363 | </summary> | 363 | <member name="M:HttpServer.Sessions.IHttpSession.Clear"> |
364 | <param name="fromUrlExpression">Expression to match URL</param> | 364 | <summary> |
365 | <param name="toUrlExpression">Expression to generate URL</param> | 365 | Remove everything from the session |
366 | <param name="options">Regular expression options to apply</param> | 366 | </summary> |
367 | <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param> | 367 | </member> |
368 | <example> | 368 | <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)"> |
369 | <![CDATA[ | 369 | <summary> |
370 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); | 370 | Remove everything from the session |
371 | Result of ie. /employee1 will then be /user/employee1 | 371 | </summary> |
372 | ]]> | 372 | <param name="expires">True if the session is cleared due to expiration</param> |
373 | </example> | 373 | </member> |
374 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | 374 | <member name="P:HttpServer.Sessions.IHttpSession.Id"> |
375 | <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/> | 375 | <summary> |
376 | </member> | 376 | Session id |
377 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 377 | </summary> |
378 | <summary> | 378 | </member> |
379 | Process the incoming request. | 379 | <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)"> |
380 | </summary> | 380 | <summary> |
381 | <param name="request">incoming HTTP request</param> | 381 | Should |
382 | <param name="response">outgoing HTTP response</param> | 382 | </summary> |
383 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> | 383 | <param name="name">Name of the session variable</param> |
384 | <remarks> | 384 | <returns>null if it's not set</returns> |
385 | returning true means that no modules will get the request. Returning true is typically being done | 385 | <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception> |
386 | for redirects. | 386 | </member> |
387 | </remarks> | 387 | <member name="P:HttpServer.Sessions.IHttpSession.Accessed"> |
388 | <exception cref="T:System.ArgumentNullException">If request or response is null</exception> | 388 | <summary> |
389 | </member> | 389 | When the session was last accessed. |
390 | <member name="T:HttpServer.ExceptionHandler"> | 390 | This property is touched by the http server each time the |
391 | <summary> | 391 | session is requested. |
392 | We dont want to let the server to die due to exceptions thrown in worker threads. | 392 | </summary> |
393 | therefore we use this delegate to give you a change to handle uncaught exceptions. | 393 | </member> |
394 | </summary> | 394 | <member name="P:HttpServer.Sessions.IHttpSession.Count"> |
395 | <param name="source">Class that the exception was thrown in.</param> | 395 | <summary> |
396 | <param name="exception">Exception</param> | 396 | Number of session variables. |
397 | <remarks> | 397 | </summary> |
398 | Server will throw a InternalServerException in release version if you dont | 398 | </member> |
399 | handle this delegate. | 399 | <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear"> |
400 | </remarks> | 400 | <summary> |
401 | </member> | 401 | Event triggered upon clearing the session |
402 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> | 402 | </summary> |
403 | <summary> | 403 | </member> |
404 | Delegate used to let authentication modules authenticate the user name and password. | 404 | <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)"> |
405 | </summary> | 405 | <summary> |
406 | <param name="realm">Realm that the user want to authenticate in</param> | 406 | |
407 | <param name="userName">User name specified by client</param> | 407 | </summary> |
408 | <param name="token">Can either be user password or implementation specific token.</param> | 408 | <param name="id">A unique id used by the sessions store to identify the session</param> |
409 | <param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"/> if authentication was successful.</param> | 409 | </member> |
410 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> | 410 | <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)"> |
411 | <remarks> | 411 | <summary> |
412 | <para> | 412 | Id |
413 | Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated | 413 | </summary> |
414 | string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); | 414 | <param name="id"></param> |
415 | </para> | 415 | </member> |
416 | </remarks> | 416 | <member name="M:HttpServer.Sessions.MemorySession.Clear"> |
417 | </member> | 417 | <summary> |
418 | <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler"> | 418 | Remove everything from the session |
419 | <summary> | 419 | </summary> |
420 | Let's you decide on a system level if authentication is required. | 420 | </member> |
421 | </summary> | 421 | <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)"> |
422 | <param name="request">HTTP request from client</param> | 422 | <summary> |
423 | <returns>true if user should be authenticated.</returns> | 423 | Clears the specified expire. |
424 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks> | 424 | </summary> |
425 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> | 425 | <param name="expires">True if the session is cleared due to expiration</param> |
426 | </member> | 426 | </member> |
427 | <member name="T:HttpServer.Sessions.IHttpSession"> | 427 | <member name="M:HttpServer.Sessions.MemorySession.Dispose"> |
428 | <summary> | 428 | <summary> |
429 | Interface for sessions | 429 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
430 | </summary> | 430 | </summary> |
431 | </member> | 431 | <filterpriority>2</filterpriority> |
432 | <member name="M:HttpServer.Sessions.IHttpSession.Clear"> | 432 | </member> |
433 | <summary> | 433 | <member name="P:HttpServer.Sessions.MemorySession.Id"> |
434 | Remove everything from the session | 434 | <summary> |
435 | </summary> | 435 | Session id |
436 | </member> | 436 | </summary> |
437 | <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)"> | 437 | </member> |
438 | <summary> | 438 | <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)"> |
439 | Remove everything from the session | 439 | <summary> |
440 | </summary> | 440 | Should |
441 | <param name="expires">True if the session is cleared due to expiration</param> | 441 | </summary> |
442 | </member> | 442 | <param name="name">Name of the session variable</param> |
443 | <member name="P:HttpServer.Sessions.IHttpSession.Id"> | 443 | <returns>null if it's not set</returns> |
444 | <summary> | 444 | </member> |
445 | Session id | 445 | <member name="P:HttpServer.Sessions.MemorySession.Accessed"> |
446 | </summary> | 446 | <summary> |
447 | </member> | 447 | when the session was last accessed. |
448 | <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)"> | 448 | </summary> |
449 | <summary> | 449 | <remarks> |
450 | Should | 450 | Used to determine when the session should be removed. |
451 | </summary> | 451 | </remarks> |
452 | <param name="name">Name of the session variable</param> | 452 | </member> |
453 | <returns>null if it's not set</returns> | 453 | <member name="P:HttpServer.Sessions.MemorySession.Count"> |
454 | <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception> | 454 | <summary> |
455 | </member> | 455 | Number of values in the session |
456 | <member name="P:HttpServer.Sessions.IHttpSession.Accessed"> | 456 | </summary> |
457 | <summary> | 457 | </member> |
458 | When the session was last accessed. | 458 | <member name="P:HttpServer.Sessions.MemorySession.Changed"> |
459 | This property is touched by the http server each time the | 459 | <summary> |
460 | session is requested. | 460 | Flag to indicate that the session have been changed |
461 | </summary> | 461 | and should be saved into the session store. |
462 | </member> | 462 | </summary> |
463 | <member name="P:HttpServer.Sessions.IHttpSession.Count"> | 463 | </member> |
464 | <summary> | 464 | <member name="E:HttpServer.Sessions.MemorySession.BeforeClear"> |
465 | Number of session variables. | 465 | <summary> |
466 | </summary> | 466 | Event triggered upon clearing the session |
467 | </member> | 467 | </summary> |
468 | <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear"> | 468 | </member> |
469 | <summary> | 469 | <member name="T:HttpServer.ResponseCookie"> |
470 | Event triggered upon clearing the session | 470 | <summary> |
471 | </summary> | 471 | cookie being sent back to the browser. |
472 | </member> | 472 | </summary> |
473 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> | 473 | <seealso cref="T:HttpServer.ResponseCookie"/> |
474 | <summary> | 474 | </member> |
475 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared | 475 | <member name="T:HttpServer.RequestCookie"> |
476 | </summary> | 476 | <summary> |
477 | </member> | 477 | cookie sent by the client/browser |
478 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> | 478 | </summary> |
479 | <summary> | 479 | <seealso cref="T:HttpServer.ResponseCookie"/> |
480 | Instantiates the arguments for the event | 480 | </member> |
481 | </summary> | 481 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> |
482 | <param name="expired">True if the session is cleared due to expiration</param> | 482 | <summary> |
483 | </member> | 483 | Constructor. |
484 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> | 484 | </summary> |
485 | <summary> | 485 | <param name="id">cookie identifier</param> |
486 | Returns true if the session is cleared due to expiration | 486 | <param name="content">cookie content</param> |
487 | </summary> | 487 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> |
488 | </member> | 488 | <exception cref="T:System.ArgumentException">id is empty</exception> |
489 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> | 489 | </member> |
490 | <summary> | 490 | <member name="M:HttpServer.RequestCookie.ToString"> |
491 | Delegate for when a IHttpSession is cleared | 491 | <summary> |
492 | </summary> | 492 | Gets the cookie HTML representation. |
493 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> | 493 | </summary> |
494 | <param name="args">Arguments for the clearing</param> | 494 | <returns>cookie string</returns> |
495 | </member> | 495 | </member> |
496 | <member name="T:HttpServer.ResponseCookies"> | 496 | <member name="P:HttpServer.RequestCookie.Name"> |
497 | <summary> | 497 | <summary> |
498 | Cookies that should be set. | 498 | Gets the cookie identifier. |
499 | </summary> | 499 | </summary> |
500 | </member> | 500 | </member> |
501 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)"> | 501 | <member name="P:HttpServer.RequestCookie.Value"> |
502 | <summary> | 502 | <summary> |
503 | Adds a cookie in the collection. | 503 | Cookie value. Set to null to remove cookie. |
504 | </summary> | 504 | </summary> |
505 | <param name="cookie">cookie to add</param> | 505 | </member> |
506 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | 506 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> |
507 | </member> | 507 | <summary> |
508 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)"> | 508 | Constructor. |
509 | <summary> | 509 | </summary> |
510 | Copy a request cookie | 510 | <param name="id">cookie identifier</param> |
511 | </summary> | 511 | <param name="content">cookie content</param> |
512 | <param name="cookie"></param> | 512 | <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param> |
513 | <param name="expires">When the cookie should expire</param> | 513 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> |
514 | </member> | 514 | <exception cref="T:System.ArgumentException">id is empty</exception> |
515 | <member name="M:HttpServer.ResponseCookies.GetEnumerator"> | 515 | </member> |
516 | <summary> | 516 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> |
517 | Gets a collection enumerator on the cookie list. | 517 | <summary> |
518 | </summary> | 518 | Create a new cookie |
519 | <returns>collection enumerator</returns> | 519 | </summary> |
520 | </member> | 520 | <param name="name">name identifying the cookie</param> |
521 | <member name="M:HttpServer.ResponseCookies.Clear"> | 521 | <param name="value">cookie value</param> |
522 | <summary> | 522 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> |
523 | Remove all cookies | 523 | <param name="path">Path to where the cookie is valid</param> |
524 | </summary> | 524 | <param name="domain">Domain that the cookie is valid for.</param> |
525 | </member> | 525 | </member> |
526 | <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator"> | 526 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> |
527 | <summary> | 527 | <summary> |
528 | Returns an enumerator that iterates through the collection. | 528 | Create a new cookie |
529 | </summary> | 529 | </summary> |
530 | 530 | <param name="cookie">Name and value will be used</param> | |
531 | <returns> | 531 | <param name="expires">when the cookie expires.</param> |
532 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 532 | </member> |
533 | </returns> | 533 | <member name="M:HttpServer.ResponseCookie.ToString"> |
534 | <filterpriority>1</filterpriority> | 534 | <summary> |
535 | </member> | 535 | Gets the cookie HTML representation. |
536 | <member name="P:HttpServer.ResponseCookies.Count"> | 536 | </summary> |
537 | <summary> | 537 | <returns>cookie string</returns> |
538 | Gets the count of cookies in the collection. | 538 | </member> |
539 | </summary> | 539 | <member name="P:HttpServer.ResponseCookie.Expires"> |
540 | </member> | 540 | <summary> |
541 | <member name="P:HttpServer.ResponseCookies.Item(System.String)"> | 541 | When the cookie expires. |
542 | <summary> | 542 | DateTime.MinValue means that the cookie expires when the session do so. |
543 | Gets the cookie of a given identifier (null if not existing). | 543 | </summary> |
544 | </summary> | 544 | </member> |
545 | </member> | 545 | <member name="P:HttpServer.ResponseCookie.Path"> |
546 | <member name="T:HttpServer.RequestParserFactory"> | 546 | <summary> |
547 | <summary> | 547 | Cookie is only valid under this path. |
548 | Creates request parsers when needed. | 548 | </summary> |
549 | </summary> | 549 | </member> |
550 | </member> | 550 | <member name="T:HttpServer.IHttpClientContext"> |
551 | <member name="T:HttpServer.IRequestParserFactory"> | 551 | <summary> |
552 | <summary> | 552 | Contains a connection to a browser/client. |
553 | Creates request parsers when needed. | 553 | </summary> |
554 | </summary> | 554 | </member> |
555 | </member> | 555 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
556 | <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | 556 | <summary> |
557 | <summary> | 557 | Disconnect from client |
558 | Create a new request parser. | 558 | </summary> |
559 | </summary> | 559 | <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param> |
560 | <param name="logWriter">Used when logging should be enabled.</param> | 560 | </member> |
561 | <returns>A new request parser.</returns> | 561 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> |
562 | </member> | 562 | <summary> |
563 | <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)"> | 563 | Send a response. |
564 | <summary> | 564 | </summary> |
565 | Create a new request parser. | 565 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
566 | </summary> | 566 | <param name="statusCode">HTTP status code</param> |
567 | <param name="logWriter">Used when logging should be enabled.</param> | 567 | <param name="reason">reason for the status code.</param> |
568 | <returns>A new request parser.</returns> | 568 | <param name="body">HTML body contents, can be null or empty.</param> |
569 | </member> | 569 | <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> |
570 | <member name="T:HttpServer.Parser.HttpRequestParser"> | 570 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> |
571 | <summary> | 571 | </member> |
572 | Parses a HTTP request directly from a stream | 572 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
573 | </summary> | 573 | <summary> |
574 | </member> | 574 | Send a response. |
575 | <member name="T:HttpServer.IHttpRequestParser"> | 575 | </summary> |
576 | <summary> | 576 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
577 | Event driven parser used to parse incoming HTTP requests. | 577 | <param name="statusCode">HTTP status code</param> |
578 | </summary> | 578 | <param name="reason">reason for the status code.</param> |
579 | <remarks> | 579 | </member> |
580 | The parser supports partial messages and keeps the states between | 580 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> |
581 | each parsed buffer. It's therefore important that the parser gets | 581 | <summary> |
582 | <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects. | 582 | Send a response. |
583 | </remarks> | 583 | </summary> |
584 | </member> | 584 | <exception cref="T:System.ArgumentNullException"></exception> |
585 | <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> | 585 | </member> |
586 | <summary> | 586 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> |
587 | Parse partial or complete message. | 587 | <summary> |
588 | </summary> | 588 | send a whole buffer |
589 | <param name="buffer">buffer containing incoming bytes</param> | 589 | </summary> |
590 | <param name="offset">where in buffer that parsing should start</param> | 590 | <param name="buffer">buffer to send</param> |
591 | <param name="count">number of bytes to parse</param> | 591 | <exception cref="T:System.ArgumentNullException"></exception> |
592 | <returns>Unparsed bytes left in buffer.</returns> | 592 | </member> |
593 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | 593 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
594 | </member> | 594 | <summary> |
595 | <member name="M:HttpServer.IHttpRequestParser.Clear"> | 595 | Send data using the stream |
596 | <summary> | 596 | </summary> |
597 | Clear parser state. | 597 | <param name="buffer">Contains data to send</param> |
598 | </summary> | 598 | <param name="offset">Start position in buffer</param> |
599 | </member> | 599 | <param name="size">number of bytes to send</param> |
600 | <member name="P:HttpServer.IHttpRequestParser.CurrentState"> | 600 | <exception cref="T:System.ArgumentNullException"></exception> |
601 | <summary> | 601 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
602 | Current state in parser. | 602 | </member> |
603 | </summary> | 603 | <member name="M:HttpServer.IHttpClientContext.Close"> |
604 | </member> | 604 | <summary> |
605 | <member name="E:HttpServer.IHttpRequestParser.RequestCompleted"> | 605 | Closes the streams and disposes of the unmanaged resources |
606 | <summary> | 606 | </summary> |
607 | A request have been successfully parsed. | 607 | </member> |
608 | </summary> | 608 | <member name="P:HttpServer.IHttpClientContext.Secured"> |
609 | </member> | 609 | <summary> |
610 | <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived"> | 610 | Using SSL or other encryption method. |
611 | <summary> | 611 | </summary> |
612 | More body bytes have been received. | 612 | </member> |
613 | </summary> | 613 | <member name="P:HttpServer.IHttpClientContext.IsSecured"> |
614 | </member> | 614 | <summary> |
615 | <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived"> | 615 | Using SSL or other encryption method. |
616 | <summary> | 616 | </summary> |
617 | Request line have been received. | 617 | </member> |
618 | </summary> | 618 | <member name="E:HttpServer.IHttpClientContext.Disconnected"> |
619 | </member> | 619 | <summary> |
620 | <member name="E:HttpServer.IHttpRequestParser.HeaderReceived"> | 620 | The context have been disconnected. |
621 | <summary> | 621 | </summary> |
622 | A header have been received. | 622 | <remarks> |
623 | </summary> | 623 | Event can be used to clean up a context, or to reuse it. |
624 | </member> | 624 | </remarks> |
625 | <member name="P:HttpServer.IHttpRequestParser.LogWriter"> | 625 | </member> |
626 | <summary> | 626 | <member name="E:HttpServer.IHttpClientContext.RequestReceived"> |
627 | Gets or sets the log writer. | 627 | <summary> |
628 | </summary> | 628 | A request have been received in the context. |
629 | </member> | 629 | </summary> |
630 | <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)"> | 630 | </member> |
631 | <summary> | 631 | <member name="T:HttpServer.DisconnectedEventArgs"> |
632 | Create a new request parser | 632 | <summary> |
633 | </summary> | 633 | A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected. |
634 | <param name="logWriter">delegate receiving log entries.</param> | 634 | </summary> |
635 | </member> | 635 | </member> |
636 | <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 636 | <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)"> |
637 | <summary> | 637 | <summary> |
638 | Add a number of bytes to the body | 638 | Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class. |
639 | </summary> | 639 | </summary> |
640 | <param name="buffer">buffer containing more body bytes.</param> | 640 | <param name="error">Reason to disconnection.</param> |
641 | <param name="offset">starting offset in buffer</param> | 641 | </member> |
642 | <param name="count">number of bytes, from offset, to read.</param> | 642 | <member name="P:HttpServer.DisconnectedEventArgs.Error"> |
643 | <returns>offset to continue from.</returns> | 643 | <summary> |
644 | </member> | 644 | Gets reason to why client disconnected. |
645 | <member name="M:HttpServer.Parser.HttpRequestParser.Clear"> | 645 | </summary> |
646 | <summary> | 646 | </member> |
647 | Remove all state information for the request. | 647 | <member name="T:HttpServer.RequestEventArgs"> |
648 | </summary> | 648 | <summary> |
649 | </member> | 649 | |
650 | <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)"> | 650 | </summary> |
651 | <summary> | 651 | </member> |
652 | Parse request line | 652 | <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)"> |
653 | </summary> | 653 | <summary> |
654 | <param name="value"></param> | 654 | Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class. |
655 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception> | 655 | </summary> |
656 | <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks> | 656 | <param name="request">The request.</param> |
657 | </member> | 657 | </member> |
658 | <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)"> | 658 | <member name="P:HttpServer.RequestEventArgs.Request"> |
659 | <summary> | 659 | <summary> |
660 | We've parsed a new header. | 660 | Gets received request. |
661 | </summary> | 661 | </summary> |
662 | <param name="name">Name in lower case</param> | 662 | </member> |
663 | <param name="value">Value, unmodified.</param> | 663 | <member name="T:HttpServer.HttpListenerBase"> |
664 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception> | 664 | <summary> |
665 | </member> | 665 | Contains a listener that doesn't do anything with the connections. |
666 | <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> | 666 | </summary> |
667 | <summary> | 667 | </member> |
668 | Parse a message | 668 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> |
669 | </summary> | 669 | <summary> |
670 | <param name="buffer">bytes to parse.</param> | 670 | Listen for regular HTTP connections |
671 | <param name="offset">where in buffer that parsing should start</param> | 671 | </summary> |
672 | <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param> | 672 | <param name="address">IP Address to accept connections on</param> |
673 | <returns>offset (where to start parsing next).</returns> | 673 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> |
674 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | 674 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> |
675 | </member> | 675 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> |
676 | <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter"> | 676 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> |
677 | <summary> | 677 | </member> |
678 | Gets or sets the log writer. | 678 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
679 | </summary> | 679 | <summary> |
680 | </member> | 680 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. |
681 | <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState"> | 681 | </summary> |
682 | <summary> | 682 | <param name="address">IP Address to accept connections on</param> |
683 | Current state in parser. | 683 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> |
684 | </summary> | 684 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> |
685 | </member> | 685 | <param name="certificate">Certificate to use</param> |
686 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted"> | 686 | </member> |
687 | <summary> | 687 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
688 | A request have been successfully parsed. | 688 | <summary> |
689 | </summary> | 689 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. |
690 | </member> | 690 | </summary> |
691 | <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived"> | 691 | <param name="address">IP Address to accept connections on</param> |
692 | <summary> | 692 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> |
693 | More body bytes have been received. | 693 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> |
694 | </summary> | 694 | <param name="certificate">Certificate to use</param> |
695 | </member> | 695 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> |
696 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived"> | 696 | </member> |
697 | <summary> | 697 | <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)"> |
698 | Request line have been received. | 698 | <exception cref="T:System.Exception"><c>Exception</c>.</exception> |
699 | </summary> | 699 | </member> |
700 | </member> | 700 | <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept"> |
701 | <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived"> | 701 | <summary> |
702 | <summary> | 702 | Will try to accept connections one more time. |
703 | A header have been received. | 703 | </summary> |
704 | </summary> | 704 | <exception cref="T:System.Exception">If any exceptions is thrown.</exception> |
705 | </member> | 705 | </member> |
706 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> | 706 | <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)"> |
707 | <summary> | 707 | <summary> |
708 | Used to inform http server that | 708 | Can be used to create filtering of new connections. |
709 | </summary> | 709 | </summary> |
710 | </member> | 710 | <param name="socket">Accepted socket</param> |
711 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> | 711 | <returns>true if connection can be accepted; otherwise false.</returns> |
712 | <summary> | 712 | </member> |
713 | Eventarguments used when an exception is thrown by a module | 713 | <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)"> |
714 | </summary> | 714 | <summary> |
715 | <param name="e">the exception</param> | 715 | Start listen for new connections |
716 | </member> | 716 | </summary> |
717 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> | 717 | <param name="backlog">Number of connections that can stand in a queue to be accepted.</param> |
718 | <summary> | 718 | <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception> |
719 | Exception thrown in a module | 719 | </member> |
720 | </summary> | 720 | <member name="M:HttpServer.HttpListenerBase.Stop"> |
721 | </member> | 721 | <summary> |
722 | <member name="T:HttpServer.HttpForm"> | 722 | Stop the listener |
723 | <summary>Container for posted form data</summary> | 723 | </summary> |
724 | </member> | 724 | <exception cref="T:System.Net.Sockets.SocketException"></exception> |
725 | <member name="T:HttpServer.HttpInput"> | 725 | </member> |
726 | <summary> | 726 | <member name="P:HttpServer.HttpListenerBase.LogWriter"> |
727 | Contains some kind of input from the browser/client. | 727 | <summary> |
728 | can be QueryString, form data or any other request body content. | 728 | Gives you a change to receive log entries for all internals of the HTTP library. |
729 | </summary> | 729 | </summary> |
730 | </member> | 730 | <remarks> |
731 | <member name="T:HttpServer.IHttpInput"> | 731 | You may not switch log writer after starting the listener. |
732 | <summary> | 732 | </remarks> |
733 | Base class for request data containers | 733 | </member> |
734 | </summary> | 734 | <member name="P:HttpServer.HttpListenerBase.UseTraceLogs"> |
735 | </member> | 735 | <summary> |
736 | <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)"> | 736 | True if we should turn on trace logs. |
737 | <summary> | 737 | </summary> |
738 | Adds a parameter mapped to the presented name | 738 | </member> |
739 | </summary> | 739 | <member name="E:HttpServer.HttpListenerBase.ExceptionThrown"> |
740 | <param name="name">The name to map the parameter to</param> | 740 | <summary> |
741 | <param name="value">The parameter value</param> | 741 | Catch exceptions not handled by the listener. |
742 | </member> | 742 | </summary> |
743 | <member name="M:HttpServer.IHttpInput.Contains(System.String)"> | 743 | <remarks> |
744 | <summary> | 744 | Exceptions will be thrown during debug mode if this event is not used, |
745 | Returns true if the container contains the requested parameter | 745 | exceptions will be printed to console and suppressed during release mode. |
746 | </summary> | 746 | </remarks> |
747 | <param name="name">Parameter id</param> | 747 | </member> |
748 | <returns>True if parameter exists</returns> | 748 | <member name="E:HttpServer.HttpListenerBase.RequestReceived"> |
749 | </member> | 749 | <summary> |
750 | <member name="P:HttpServer.IHttpInput.Item(System.String)"> | 750 | A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>. |
751 | <summary> | 751 | </summary> |
752 | Returns a request parameter | 752 | </member> |
753 | </summary> | 753 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> |
754 | <param name="name">The name associated with the parameter</param> | 754 | <summary> |
755 | <returns></returns> | 755 | |
756 | </member> | 756 | </summary> |
757 | <member name="F:HttpServer.HttpInput.Empty"> | 757 | <remarks> |
758 | <summary> Representation of a non-initialized class instance </summary> | 758 | http://www.faqs.org/rfcs/rfc1867.html |
759 | </member> | 759 | </remarks> |
760 | <member name="F:HttpServer.HttpInput._ignoreChanges"> | 760 | </member> |
761 | <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary> | 761 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> |
762 | </member> | 762 | <summary> |
763 | <member name="M:HttpServer.HttpInput.#ctor(System.String)"> | 763 | Interface for form content decoders. |
764 | <summary> | 764 | </summary> |
765 | Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class. | 765 | </member> |
766 | </summary> | 766 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
767 | <param name="name">form name.</param> | 767 | <summary> |
768 | </member> | 768 | |
769 | <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)"> | 769 | </summary> |
770 | <summary> | 770 | <param name="stream">Stream containing the content</param> |
771 | Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class. | 771 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
772 | </summary> | 772 | <param name="encoding">Stream enconding</param> |
773 | <param name="name">form name.</param> | 773 | <returns>A http form, or null if content could not be parsed.</returns> |
774 | <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param> | 774 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> |
775 | <remarks>this constructor should only be used by Empty</remarks> | 775 | </member> |
776 | </member> | 776 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> |
777 | <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)"> | 777 | <summary> |
778 | <summary>Creates a deep copy of the HttpInput class</summary> | 778 | Checks if the decoder can handle the mime type |
779 | <param name="input">The object to copy</param> | 779 | </summary> |
780 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> | 780 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
781 | </member> | 781 | <returns>True if the decoder can parse the specified content type</returns> |
782 | <member name="M:HttpServer.HttpInput.Add(System.String,System.String)"> | 782 | </member> |
783 | <summary> | 783 | <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType"> |
784 | Add a new element. Form array elements are parsed | 784 | <summary> |
785 | and added in a correct hierarchy. | 785 | multipart/form-data |
786 | </summary> | 786 | </summary> |
787 | <param name="name">Name is converted to lower case.</param> | 787 | </member> |
788 | <param name="value"></param> | 788 | <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData"> |
789 | <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception> | 789 | <summary> |
790 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | 790 | form-data |
791 | </member> | 791 | </summary> |
792 | <member name="M:HttpServer.HttpInput.Contains(System.String)"> | 792 | </member> |
793 | <summary> | 793 | <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
794 | Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name. | 794 | <summary> |
795 | </summary> | 795 | |
796 | <param name="name">The field/query string name</param> | 796 | </summary> |
797 | <returns>True if the value exists</returns> | 797 | <param name="stream">Stream containing the content</param> |
798 | </member> | 798 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
799 | <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)"> | 799 | <param name="encoding">Stream enconding</param> |
800 | <summary> | 800 | <returns>A http form, or null if content could not be parsed.</returns> |
801 | Parses an item and returns it. | 801 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> |
802 | This function is primarily used to parse array items as in user[name]. | 802 | <exception cref="T:System.ArgumentNullException">If any parameter is null</exception> |
803 | </summary> | 803 | </member> |
804 | <param name="name"></param> | 804 | <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)"> |
805 | <param name="value"></param> | 805 | <summary> |
806 | <returns></returns> | 806 | Checks if the decoder can handle the mime type |
807 | </member> | 807 | </summary> |
808 | <member name="M:HttpServer.HttpInput.ToString"> | 808 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
809 | <summary> Outputs the instance representing all its values joined together </summary> | 809 | <returns>True if the decoder can parse the specified content type</returns> |
810 | <returns></returns> | 810 | </member> |
811 | </member> | 811 | <member name="T:HttpServer.Exceptions.NotFoundException"> |
812 | <member name="M:HttpServer.HttpInput.ToString(System.Boolean)"> | 812 | <summary> |
813 | <summary>Returns all items as an unescaped query string.</summary> | 813 | The requested resource was not found in the web server. |
814 | <returns></returns> | 814 | </summary> |
815 | </member> | 815 | </member> |
816 | <member name="M:HttpServer.HttpInput.ExtractOne(System.String)"> | 816 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)"> |
817 | <summary> | 817 | <summary> |
818 | Extracts one parameter from an array | 818 | Create a new exception |
819 | </summary> | 819 | </summary> |
820 | <param name="value">Containing the string array</param> | 820 | <param name="message">message describing the error</param> |
821 | <returns>All but the first value</returns> | 821 | <param name="inner">inner exception</param> |
822 | <example> | 822 | </member> |
823 | string test1 = ExtractOne("system[user][extension][id]"); | 823 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)"> |
824 | string test2 = ExtractOne(test1); | 824 | <summary> |
825 | string test3 = ExtractOne(test2); | 825 | Create a new exception |
826 | // test1 = user[extension][id] | 826 | </summary> |
827 | // test2 = extension[id] | 827 | <param name="message">message describing the error</param> |
828 | // test3 = id | 828 | </member> |
829 | </example> | 829 | <member name="T:HttpServer.Authentication.AuthenticationHandler"> |
830 | </member> | 830 | <summary> |
831 | <member name="M:HttpServer.HttpInput.Clear"> | 831 | Delegate used to let authentication modules authenticate the user name and password. |
832 | <summary>Resets all data contained by class</summary> | 832 | </summary> |
833 | </member> | 833 | <param name="realm">Realm that the user want to authenticate in</param> |
834 | <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | 834 | <param name="userName">User name specified by client</param> |
835 | <summary> | 835 | <param name="token">Can either be user password or implementation specific token.</param> |
836 | Returns an enumerator that iterates through the collection. | 836 | <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> |
837 | </summary> | 837 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception> |
838 | 838 | <remarks> | |
839 | <returns> | 839 | <para> |
840 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 840 | Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated |
841 | </returns> | 841 | string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); |
842 | <filterpriority>1</filterpriority> | 842 | </para> |
843 | </member> | 843 | </remarks> |
844 | <member name="M:HttpServer.HttpInput.GetEnumerator"> | 844 | </member> |
845 | <summary> | 845 | <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler"> |
846 | Returns an enumerator that iterates through a collection. | 846 | <summary> |
847 | </summary> | 847 | Let's you decide on a system level if authentication is required. |
848 | 848 | </summary> | |
849 | <returns> | 849 | <param name="request">HTTP request from client</param> |
850 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | 850 | <returns>true if user should be authenticated.</returns> |
851 | </returns> | 851 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks> |
852 | <filterpriority>2</filterpriority> | 852 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> |
853 | </member> | 853 | </member> |
854 | <member name="P:HttpServer.HttpInput.Name"> | 854 | <member name="T:HttpServer.Authentication.AuthenticationModule"> |
855 | <summary> | 855 | <summary> |
856 | Form name as lower case | 856 | Authentication modules are used to implement different |
857 | </summary> | 857 | kind of HTTP authentication. |
858 | </member> | 858 | </summary> |
859 | <member name="P:HttpServer.HttpInput.Item(System.String)"> | 859 | </member> |
860 | <summary> | 860 | <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"> |
861 | Get a form item. | 861 | <summary> |
862 | </summary> | 862 | Tag used for authentication. |
863 | <param name="name"></param> | 863 | </summary> |
864 | <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns> | 864 | </member> |
865 | </member> | 865 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
866 | <member name="F:HttpServer.HttpForm.EmptyForm"> | 866 | <summary> |
867 | <summary>Instance to help mark a non-initialized form</summary> | 867 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
868 | </member> | 868 | </summary> |
869 | <member name="M:HttpServer.HttpForm.#ctor"> | 869 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
870 | <summary>Initializes a form container with the specified name</summary> | 870 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
871 | </member> | 871 | </member> |
872 | <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)"> | 872 | <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
873 | <summary> | 873 | <summary> |
874 | Makes a deep copy of the input | 874 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class. |
875 | </summary> | 875 | </summary> |
876 | <param name="input">The input to copy</param> | 876 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
877 | </member> | 877 | </member> |
878 | <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)"> | 878 | <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])"> |
879 | <summary> | 879 | <summary> |
880 | Adds a file to the collection of posted files | 880 | Create a response that can be sent in the WWW-Authenticate header. |
881 | </summary> | 881 | </summary> |
882 | <param name="file">The file to add</param> | 882 | <param name="realm">Realm that the user should authenticate in</param> |
883 | <exception cref="T:System.ArgumentException">If the file is already added</exception> | 883 | <param name="options">Array with optional options.</param> |
884 | <exception cref="T:System.ArgumentNullException">If file is null</exception> | 884 | <returns>A correct authentication request.</returns> |
885 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | 885 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> |
886 | </member> | 886 | </member> |
887 | <member name="M:HttpServer.HttpForm.ContainsFile(System.String)"> | 887 | <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])"> |
888 | <summary> | 888 | <summary> |
889 | Checks if the form contains a specified file | 889 | An authentication response have been received from the web browser. |
890 | </summary> | 890 | Check if it's correct |
891 | <param name="name">Field name of the file parameter</param> | 891 | </summary> |
892 | <returns>True if the file exists</returns> | 892 | <param name="authenticationHeader">Contents from the Authorization header</param> |
893 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | 893 | <param name="realm">Realm that should be authenticated</param> |
894 | </member> | 894 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> |
895 | <member name="M:HttpServer.HttpForm.GetFile(System.String)"> | 895 | <param name="options">options to specific implementations</param> |
896 | <summary> | 896 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> |
897 | Retrieves a file held by by the form | 897 | <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception> |
898 | </summary> | 898 | <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception> |
899 | <param name="name">The identifier of the file</param> | 899 | </member> |
900 | <returns>The requested file or null if the file was not found</returns> | 900 | <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)"> |
901 | <exception cref="T:System.ArgumentNullException">If name is null or empty</exception> | 901 | <summary> |
902 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> | 902 | Used to invoke the authentication delegate that is used to lookup the user name/realm. |
903 | </member> | 903 | </summary> |
904 | <member name="M:HttpServer.HttpForm.Clear"> | 904 | <param name="realm">Realm (domain) that user want to authenticate in</param> |
905 | <summary>Disposes all held HttpFile's and resets values</summary> | 905 | <param name="userName">User name</param> |
906 | </member> | 906 | <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param> |
907 | <member name="P:HttpServer.HttpForm.Files"> | 907 | <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param> |
908 | <summary> | 908 | <returns>true if authentication was successful</returns> |
909 | Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/> | 909 | </member> |
910 | </summary> | 910 | <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)"> |
911 | <returns>0 if no files are added</returns> | 911 | <summary> |
912 | </member> | 912 | Determines if authentication is required. |
913 | <member name="T:HttpServer.FormDecoders.IFormDecoder"> | 913 | </summary> |
914 | <summary> | 914 | <param name="request">HTTP request from browser</param> |
915 | Interface for form content decoders. | 915 | <returns>true if user should be authenticated.</returns> |
916 | </summary> | 916 | <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks> |
917 | </member> | 917 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception> |
918 | <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 918 | </member> |
919 | <summary> | 919 | <member name="P:HttpServer.Authentication.AuthenticationModule.Name"> |
920 | 920 | <summary> | |
921 | </summary> | 921 | name used in HTTP request. |
922 | <param name="stream">Stream containing the content</param> | 922 | </summary> |
923 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | 923 | </member> |
924 | <param name="encoding">Stream enconding</param> | 924 | <member name="T:HttpServer.HttpInput"> |
925 | <returns>A http form, or null if content could not be parsed.</returns> | 925 | <summary> |
926 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | 926 | Contains some kind of input from the browser/client. |
927 | </member> | 927 | can be QueryString, form data or any other request body content. |
928 | <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)"> | 928 | </summary> |
929 | <summary> | 929 | </member> |
930 | Checks if the decoder can handle the mime type | 930 | <member name="T:HttpServer.IHttpInput"> |
931 | </summary> | 931 | <summary> |
932 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 932 | Base class for request data containers |
933 | <returns>True if the decoder can parse the specified content type</returns> | 933 | </summary> |
934 | </member> | 934 | </member> |
935 | <member name="T:HttpServer.ContentType"> | 935 | <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)"> |
936 | <summary> | 936 | <summary> |
937 | Lists content type mime types. | 937 | Adds a parameter mapped to the presented name |
938 | </summary> | 938 | </summary> |
939 | </member> | 939 | <param name="name">The name to map the parameter to</param> |
940 | <member name="F:HttpServer.ContentType.Text"> | 940 | <param name="value">The parameter value</param> |
941 | <summary> | 941 | </member> |
942 | text/plain | 942 | <member name="M:HttpServer.IHttpInput.Contains(System.String)"> |
943 | </summary> | 943 | <summary> |
944 | </member> | 944 | Returns true if the container contains the requested parameter |
945 | <member name="F:HttpServer.ContentType.Html"> | 945 | </summary> |
946 | <summary> | 946 | <param name="name">Parameter id</param> |
947 | text/haml | 947 | <returns>True if parameter exists</returns> |
948 | </summary> | 948 | </member> |
949 | </member> | 949 | <member name="P:HttpServer.IHttpInput.Item(System.String)"> |
950 | <member name="F:HttpServer.ContentType.Javascript"> | 950 | <summary> |
951 | <summary> | 951 | Returns a request parameter |
952 | content type for javascript documents = application/javascript | 952 | </summary> |
953 | </summary> | 953 | <param name="name">The name associated with the parameter</param> |
954 | <remarks> | 954 | <returns></returns> |
955 | <para> | 955 | </member> |
956 | RFC 4329 states that text/javascript have been superseeded by | 956 | <member name="F:HttpServer.HttpInput.Empty"> |
957 | application/javascript. You might still want to check browser versions | 957 | <summary> Representation of a non-initialized class instance </summary> |
958 | since older ones do not support application/javascript. | 958 | </member> |
959 | </para> | 959 | <member name="F:HttpServer.HttpInput._ignoreChanges"> |
960 | <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para> | 960 | <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary> |
961 | </remarks> | 961 | </member> |
962 | </member> | 962 | <member name="M:HttpServer.HttpInput.#ctor(System.String)"> |
963 | <member name="F:HttpServer.ContentType.Xml"> | 963 | <summary> |
964 | <summary> | 964 | Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class. |
965 | text/xml | 965 | </summary> |
966 | </summary> | 966 | <param name="name">form name.</param> |
967 | </member> | 967 | </member> |
968 | <member name="T:HttpServer.ContentTypes"> | 968 | <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)"> |
969 | <summary> | 969 | <summary> |
970 | A list of content types | 970 | Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class. |
971 | </summary> | 971 | </summary> |
972 | </member> | 972 | <param name="name">form name.</param> |
973 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> | 973 | <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param> |
974 | <summary> | 974 | <remarks>this constructor should only be used by Empty</remarks> |
975 | 975 | </member> | |
976 | </summary> | 976 | <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)"> |
977 | <param name="types">Semicolon separated content types.</param> | 977 | <summary>Creates a deep copy of the HttpInput class</summary> |
978 | </member> | 978 | <param name="input">The object to copy</param> |
979 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> | 979 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> |
980 | <summary> | 980 | </member> |
981 | Returns an enumerator that iterates through a collection. | 981 | <member name="M:HttpServer.HttpInput.Add(System.String,System.String)"> |
982 | </summary> | 982 | <summary> |
983 | <returns> | 983 | Add a new element. Form array elements are parsed |
984 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. | 984 | and added in a correct hierarchy. |
985 | </returns> | 985 | </summary> |
986 | </member> | 986 | <param name="name">Name is converted to lower case.</param> |
987 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> | 987 | <param name="value"></param> |
988 | <summary> | 988 | <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception> |
989 | Searches for the specified type | 989 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> |
990 | </summary> | 990 | </member> |
991 | <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param> | 991 | <member name="M:HttpServer.HttpInput.Contains(System.String)"> |
992 | <returns>true if type was found.</returns> | 992 | <summary> |
993 | </member> | 993 | Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name. |
994 | <member name="P:HttpServer.ContentTypes.First"> | 994 | </summary> |
995 | <summary> | 995 | <param name="name">The field/query string name</param> |
996 | Get this first content type. | 996 | <returns>True if the value exists</returns> |
997 | </summary> | 997 | </member> |
998 | </member> | 998 | <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)"> |
999 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> | 999 | <summary> |
1000 | <summary> | 1000 | Parses an item and returns it. |
1001 | Fetch a content type | 1001 | This function is primarily used to parse array items as in user[name]. |
1002 | </summary> | 1002 | </summary> |
1003 | <param name="type">Part of type ("xml" would return "application/xml")</param> | 1003 | <param name="name"></param> |
1004 | <returns></returns> | 1004 | <param name="value"></param> |
1005 | <remarks>All content types are in lower case.</remarks> | 1005 | <returns></returns> |
1006 | </member> | 1006 | </member> |
1007 | <member name="T:HttpServer.HttpModules.HttpModule"> | 1007 | <member name="M:HttpServer.HttpInput.ToString"> |
1008 | <summary> | 1008 | <summary> Outputs the instance representing all its values joined together </summary> |
1009 | A HttpModule can be used to serve Uri's. The module itself | 1009 | <returns></returns> |
1010 | decides if it should serve a Uri or not. In this way, you can | 1010 | </member> |
1011 | get a very flexible http application since you can let multiple modules | 1011 | <member name="M:HttpServer.HttpInput.ToString(System.Boolean)"> |
1012 | serve almost similar urls. | 1012 | <summary>Returns all items as an unescaped query string.</summary> |
1013 | </summary> | 1013 | <returns></returns> |
1014 | <remarks> | 1014 | </member> |
1015 | Throw <see cref="T:HttpServer.Exceptions.UnauthorizedException"/> if you are using a <see cref="T:HttpServer.Authentication.AuthenticationModule"/> and want to prompt for user name/password. | 1015 | <member name="M:HttpServer.HttpInput.ExtractOne(System.String)"> |
1016 | </remarks> | 1016 | <summary> |
1017 | </member> | 1017 | Extracts one parameter from an array |
1018 | <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 1018 | </summary> |
1019 | <summary> | 1019 | <param name="value">Containing the string array</param> |
1020 | Method that process the url | 1020 | <returns>All but the first value</returns> |
1021 | </summary> | 1021 | <example> |
1022 | <param name="request">Information sent by the browser about the request</param> | 1022 | string test1 = ExtractOne("system[user][extension][id]"); |
1023 | <param name="response">Information that is being sent back to the client.</param> | 1023 | string test2 = ExtractOne(test1); |
1024 | <param name="session">Session used to </param> | 1024 | string test3 = ExtractOne(test2); |
1025 | <returns>true if this module handled the request.</returns> | 1025 | // test1 = user[extension][id] |
1026 | </member> | 1026 | // test2 = extension[id] |
1027 | <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)"> | 1027 | // test3 = id |
1028 | <summary> | 1028 | </example> |
1029 | Set the log writer to use. | 1029 | </member> |
1030 | </summary> | 1030 | <member name="M:HttpServer.HttpInput.Clear"> |
1031 | <param name="writer">logwriter to use.</param> | 1031 | <summary>Resets all data contained by class</summary> |
1032 | </member> | 1032 | </member> |
1033 | <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)"> | 1033 | <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
1034 | <summary> | 1034 | <summary> |
1035 | Log something. | 1035 | Returns an enumerator that iterates through the collection. |
1036 | </summary> | 1036 | </summary> |
1037 | <param name="prio">importance of log message</param> | 1037 | |
1038 | <param name="message">message</param> | 1038 | <returns> |
1039 | </member> | 1039 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
1040 | <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing"> | 1040 | </returns> |
1041 | <summary> | 1041 | <filterpriority>1</filterpriority> |
1042 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules | 1042 | </member> |
1043 | can continue processing afterwards. Default is false. | 1043 | <member name="M:HttpServer.HttpInput.GetEnumerator"> |
1044 | </summary> | 1044 | <summary> |
1045 | </member> | 1045 | Returns an enumerator that iterates through a collection. |
1046 | <member name="T:HttpServer.Helpers.WebHelper"> | 1046 | </summary> |
1047 | <summary> | 1047 | |
1048 | Webhelper provides helpers for common tasks in HTML. | 1048 | <returns> |
1049 | </summary> | 1049 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. |
1050 | </member> | 1050 | </returns> |
1051 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> | 1051 | <filterpriority>2</filterpriority> |
1052 | <summary> | 1052 | </member> |
1053 | Used to let the website use different javascript libraries. | 1053 | <member name="P:HttpServer.HttpInput.Name"> |
1054 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | 1054 | <summary> |
1055 | </summary> | 1055 | Form name as lower case |
1056 | </member> | 1056 | </summary> |
1057 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> | 1057 | </member> |
1058 | <summary> | 1058 | <member name="P:HttpServer.HttpInput.Item(System.String)"> |
1059 | Creates a link that invokes through ajax. | 1059 | <summary> |
1060 | </summary> | 1060 | Get a form item. |
1061 | <param name="url">url to fetch</param> | 1061 | </summary> |
1062 | <param name="title">link title</param> | 1062 | <param name="name"></param> |
1063 | <param name="options"> | 1063 | <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns> |
1064 | optional options in format "key, value, key, value". | 1064 | </member> |
1065 | Javascript options starts with ':'. | 1065 | <member name="T:HttpServer.Check"> |
1066 | </param> | 1066 | <summary> |
1067 | <returns>a link tag</returns> | 1067 | Small design by contract implementation. |
1068 | <example> | 1068 | </summary> |
1069 | WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); | 1069 | </member> |
1070 | </example> | 1070 | <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)"> |
1071 | </member> | 1071 | <summary> |
1072 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> | 1072 | Check whether a parameter is empty. |
1073 | <summary> | 1073 | </summary> |
1074 | Builds a link that updates an element with the fetched ajax content. | 1074 | <param name="value">Parameter value</param> |
1075 | </summary> | 1075 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
1076 | <param name="url">Url to fetch content from</param> | 1076 | <exception cref="T:System.ArgumentException">value is empty.</exception> |
1077 | <param name="title">link title</param> | 1077 | </member> |
1078 | <param name="targetId">html element to update with the results of the ajax request.</param> | 1078 | <member name="M:HttpServer.Check.Require(System.Object,System.String)"> |
1079 | <param name="options">optional options in format "key, value, key, value"</param> | 1079 | <summary> |
1080 | <returns>A link tag.</returns> | 1080 | Checks whether a parameter is null. |
1081 | </member> | 1081 | </summary> |
1082 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> | 1082 | <param name="value">Parameter value</param> |
1083 | <summary> | 1083 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
1084 | A link that pop ups a Dialog (overlay div) | 1084 | <exception cref="T:System.ArgumentNullException">value is null.</exception> |
1085 | </summary> | 1085 | </member> |
1086 | <param name="url">url to contents of dialog</param> | 1086 | <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)"> |
1087 | <param name="title">link title</param> | 1087 | <summary> |
1088 | <param name="htmlAttributes">name/value of html attributes.</param> | 1088 | Checks whether a parameter is null. |
1089 | <returns>A "a"-tag that popups a dialog when clicked</returns> | 1089 | </summary> |
1090 | <example> | 1090 | <param name="minValue"></param> |
1091 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | 1091 | <param name="value">Parameter value</param> |
1092 | </example> | 1092 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> |
1093 | </member> | 1093 | <exception cref="T:System.ArgumentException">value is null.</exception> |
1094 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> | 1094 | </member> |
1095 | <summary> | 1095 | <member name="T:HttpServer.Method"> |
1096 | Create/Open a dialog box using ajax | 1096 | <summary> |
1097 | </summary> | 1097 | Contains all HTTP Methods (according to the HTTP 1.1 specification) |
1098 | <param name="url"></param> | 1098 | <para> |
1099 | <param name="title"></param> | 1099 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html |
1100 | <param name="parameters"></param> | 1100 | </para> |
1101 | <returns></returns> | 1101 | </summary> |
1102 | </member> | 1102 | </member> |
1103 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> | 1103 | <member name="F:HttpServer.Method.Delete"> |
1104 | <summary> | 1104 | <summary> |
1105 | Close a javascript dialog window/div. | 1105 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. |
1106 | </summary> | 1106 | </summary> |
1107 | <returns>javascript for closing a dialog.</returns> | 1107 | <remarks> |
1108 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> | 1108 | <para> |
1109 | </member> | 1109 | This method MAY be overridden by human intervention (or other means) on the origin server. |
1110 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> | 1110 | The client cannot be guaranteed that the operation has been carried out, even if the status code |
1111 | <summary> | 1111 | returned from the origin server indicates that the action has been completed successfully. |
1112 | Create a <form> tag. | 1112 | </para> |
1113 | </summary> | 1113 | <para> |
1114 | <param name="name">name of form</param> | 1114 | However, the server SHOULD NOT indicate success unless, at the time the response is given, |
1115 | <param name="action">action to invoke on submit</param> | 1115 | it intends to delete the resource or move it to an inaccessible location. |
1116 | <param name="isAjax">form should be posted as ajax</param> | 1116 | </para> |
1117 | <returns>html code</returns> | 1117 | <para> |
1118 | <example> | 1118 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, |
1119 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | 1119 | 202 (Accepted) if the action has not yet been enacted, |
1120 | </example> | 1120 | or 204 (No Content) if the action has been enacted but the response does not include an entity. |
1121 | </member> | 1121 | </para> |
1122 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> | 1122 | <para> |
1123 | <summary> | 1123 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, |
1124 | Create a link tag. | 1124 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. |
1125 | </summary> | 1125 | </para> |
1126 | <param name="url">url to go to</param> | 1126 | </remarks> |
1127 | <param name="title">link title (text that is displayed)</param> | 1127 | </member> |
1128 | <param name="htmlAttributes">html attributes, name, value, name, value</param> | 1128 | <member name="F:HttpServer.Method.Get"> |
1129 | <returns>html code</returns> | 1129 | <summary> |
1130 | <example> | 1130 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. |
1131 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); | 1131 | </summary> |
1132 | </example> | 1132 | <remarks> |
1133 | </member> | 1133 | <para> |
1134 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> | 1134 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the |
1135 | <summary> | 1135 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. |
1136 | Build a link | 1136 | </para> |
1137 | </summary> | 1137 | <para> |
1138 | <param name="url">url to go to.</param> | 1138 | The semantics of the GET method change to a "conditional GET" if the request message includes an |
1139 | <param name="title">title of link (displayed text)</param> | 1139 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. |
1140 | <param name="htmlAttributes">extra html attributes.</param> | 1140 | A conditional GET method requests that the entity be transferred only under the circumstances described |
1141 | <returns>a complete link</returns> | 1141 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network |
1142 | </member> | 1142 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring |
1143 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> | 1143 | data already held by the client. |
1144 | <summary> | 1144 | </para> |
1145 | Build a link | 1145 | </remarks> |
1146 | </summary> | 1146 | </member> |
1147 | <param name="url">url to go to.</param> | 1147 | <member name="F:HttpServer.Method.Header"> |
1148 | <param name="title">title of link (displayed text)</param> | 1148 | <summary> |
1149 | <param name="htmlAttributes">extra html attributes.</param> | 1149 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. |
1150 | <returns>a complete link</returns> | 1150 | </summary> |
1151 | <param name="options">more options</param> | 1151 | <remarks> |
1152 | </member> | 1152 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the |
1153 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 1153 | information sent in response to a GET request. This method can be used for obtaining meta information about |
1154 | <summary> | 1154 | the entity implied by the request without transferring the entity-body itself. |
1155 | Obsolete | 1155 | |
1156 | </summary> | 1156 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. |
1157 | <param name="name">Obsolete</param> | 1157 | </remarks> |
1158 | <param name="collection">Obsolete</param> | 1158 | </member> |
1159 | <param name="getIdTitle">Obsolete</param> | 1159 | <member name="F:HttpServer.Method.Options"> |
1160 | <param name="selectedValue">Obsolete</param> | 1160 | <summary> |
1161 | <param name="firstEmpty">Obsolete</param> | 1161 | <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para> |
1162 | <returns>Obsolete</returns> | 1162 | </summary> |
1163 | </member> | 1163 | <remarks> |
1164 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 1164 | <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para> |
1165 | <summary> | 1165 | </remarks> |
1166 | Obsolete | 1166 | </member> |
1167 | </summary> | 1167 | <member name="F:HttpServer.Method.Post"> |
1168 | <param name="name">Obsolete</param> | 1168 | <summary> |
1169 | <param name="id">Obsolete</param> | 1169 | The POST method is used to request that the origin server accept the entity enclosed |
1170 | <param name="collection">Obsolete</param> | 1170 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. |
1171 | <param name="getIdTitle">Obsolete</param> | 1171 | </summary> |
1172 | <param name="selectedValue">Obsolete</param> | 1172 | <remarks> |
1173 | <param name="firstEmpty">Obsolete</param> | 1173 | POST is designed to allow a uniform method to cover the following functions: |
1174 | <returns>Obsolete</returns> | 1174 | <list type="bullet"> |
1175 | </member> | 1175 | <item> |
1176 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> | 1176 | Annotation of existing resources; |
1177 | <summary> | 1177 | </item><item> |
1178 | Render errors into a UL with class "errors" | 1178 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; |
1179 | </summary> | 1179 | </item><item> |
1180 | <param name="className">class used by UL-tag.</param> | 1180 | Providing a block of data, such as the result of submitting a form, to a data-handling process; |
1181 | <param name="theList">items to list</param> | 1181 | </item><item> |
1182 | <returns>an unordered html list.</returns> | 1182 | Extending a database through an append operation. |
1183 | </member> | 1183 | </item> |
1184 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> | 1184 | </list> |
1185 | <summary> | 1185 | <para> |
1186 | Render errors into a UL with class "errors" | 1186 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and |
1187 | </summary> | 1187 | contain an entity which describes the status of the request and refers to the new resource, and a |
1188 | <param name="className">class used by UL-tag.</param> | 1188 | Location header (see section 14.30). |
1189 | <param name="theList">items to list</param> | 1189 | </para> |
1190 | <returns>an unordered html list.</returns> | 1190 | <para> |
1191 | </member> | 1191 | The action performed by the POST method might not result in a resource that can be identified by a URI. |
1192 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> | 1192 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on |
1193 | <summary> | 1193 | whether or not the response includes an entity that describes the result. |
1194 | Render errors into a UL with class "errors" | 1194 | </para><para> |
1195 | </summary> | 1195 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control |
1196 | <param name="errors"></param> | 1196 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent |
1197 | <returns></returns> | 1197 | to retrieve a cacheable resource. |
1198 | </member> | 1198 | </para> |
1199 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> | 1199 | </remarks> |
1200 | <summary> | 1200 | </member> |
1201 | Generates a list with html attributes. | 1201 | <member name="F:HttpServer.Method.Put"> |
1202 | </summary> | 1202 | <summary> |
1203 | <param name="sb">StringBuilder that the options should be added to.</param> | 1203 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. |
1204 | <param name="firstOptions">attributes set by user.</param> | 1204 | </summary> |
1205 | <param name="secondOptions">attributes set by any of the helper classes.</param> | 1205 | <remarks> |
1206 | </member> | 1206 | <list type="bullet"> |
1207 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> | 1207 | <item> |
1208 | <summary> | 1208 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a |
1209 | Generates a list with html attributes. | 1209 | modified version of the one residing on the origin server. |
1210 | </summary> | 1210 | </item><item> |
1211 | <param name="sb">StringBuilder that the options should be added to.</param> | 1211 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new |
1212 | <param name="options"></param> | 1212 | resource by the requesting user agent, the origin server can create the resource with that URI. |
1213 | </member> | 1213 | </item><item> |
1214 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> | 1214 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. |
1215 | <summary> | 1215 | </item><item> |
1216 | Purpose of this class is to create a javascript toolkit independent javascript helper. | 1216 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to |
1217 | </summary> | 1217 | indicate successful completion of the request. |
1218 | </member> | 1218 | </item><item> |
1219 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> | 1219 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be |
1220 | <summary> | 1220 | given that reflects the nature of the problem. |
1221 | Generates a list with JS options. | 1221 | </item> |
1222 | </summary> | 1222 | </list> |
1223 | <param name="sb">StringBuilder that the options should be added to.</param> | 1223 | <para> |
1224 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> | 1224 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not |
1225 | <param name="startWithComma">true if we should start with a comma.</param> | 1225 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. |
1226 | </member> | 1226 | </para> |
1227 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> | 1227 | </remarks> |
1228 | <summary> | 1228 | </member> |
1229 | Removes any javascript parameters from an array of parameters | 1229 | <member name="F:HttpServer.Method.Trace"> |
1230 | </summary> | 1230 | <summary> |
1231 | <param name="options">The array of parameters to remove javascript params from</param> | 1231 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. |
1232 | <returns>An array of html parameters</returns> | 1232 | </summary> |
1233 | </member> | 1233 | </member> |
1234 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> | 1234 | <member name="T:HttpServer.Methods"> |
1235 | <summary> | 1235 | <summary> |
1236 | javascript action that should be added to the "onsubmit" event in the form tag. | 1236 | Contains all HTTP Methods (according to the HTTP 1.1 specification) |
1237 | </summary> | 1237 | <para> |
1238 | <returns></returns> | 1238 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html |
1239 | <remarks>All javascript option names should end with colon.</remarks> | 1239 | </para> |
1240 | <example> | 1240 | </summary> |
1241 | <code> | 1241 | </member> |
1242 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | 1242 | <member name="F:HttpServer.Methods.Delete"> |
1243 | </code> | 1243 | <summary> |
1244 | </example> | 1244 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. |
1245 | </member> | 1245 | </summary> |
1246 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> | 1246 | <remarks> |
1247 | <summary> | 1247 | <para> |
1248 | Requests a url through ajax | 1248 | This method MAY be overridden by human intervention (or other means) on the origin server. |
1249 | </summary> | 1249 | The client cannot be guaranteed that the operation has been carried out, even if the status code |
1250 | <param name="url">url to fetch</param> | 1250 | returned from the origin server indicates that the action has been completed successfully. |
1251 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> | 1251 | </para> |
1252 | <returns>a link tag</returns> | 1252 | <para> |
1253 | <remarks>All javascript option names should end with colon.</remarks> | 1253 | However, the server SHOULD NOT indicate success unless, at the time the response is given, |
1254 | <example> | 1254 | it intends to delete the resource or move it to an inaccessible location. |
1255 | <code> | 1255 | </para> |
1256 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | 1256 | <para> |
1257 | </code> | 1257 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, |
1258 | </example> | 1258 | 202 (Accepted) if the action has not yet been enacted, |
1259 | </member> | 1259 | or 204 (No Content) if the action has been enacted but the response does not include an entity. |
1260 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> | 1260 | </para> |
1261 | <summary> | 1261 | <para> |
1262 | Ajax requests that updates an element with | 1262 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, |
1263 | the fetched content | 1263 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. |
1264 | </summary> | 1264 | </para> |
1265 | <param name="url">Url to fetch content from</param> | 1265 | </remarks> |
1266 | <param name="targetId">element to update</param> | 1266 | </member> |
1267 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> | 1267 | <member name="F:HttpServer.Methods.Get"> |
1268 | <returns>A link tag.</returns> | 1268 | <summary> |
1269 | <remarks>All javascript option names should end with colon.</remarks> | 1269 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. |
1270 | <example> | 1270 | </summary> |
1271 | <code> | 1271 | <remarks> |
1272 | JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); | 1272 | <para> |
1273 | </code> | 1273 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the |
1274 | </example> | 1274 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. |
1275 | </member> | 1275 | </para> |
1276 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> | 1276 | <para> |
1277 | <summary> | 1277 | The semantics of the GET method change to a "conditional GET" if the request message includes an |
1278 | A link that pop ups a Dialog (overlay div) | 1278 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. |
1279 | </summary> | 1279 | A conditional GET method requests that the entity be transferred only under the circumstances described |
1280 | <param name="url">url to contents of dialog</param> | 1280 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network |
1281 | <param name="title">link title</param> | 1281 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring |
1282 | <returns>A "a"-tag that popups a dialog when clicked</returns> | 1282 | data already held by the client. |
1283 | <param name="htmlAttributes">name/value of html attributes</param> | 1283 | </para> |
1284 | <example> | 1284 | </remarks> |
1285 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | 1285 | </member> |
1286 | </example> | 1286 | <member name="F:HttpServer.Methods.Header"> |
1287 | </member> | 1287 | <summary> |
1288 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> | 1288 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. |
1289 | <summary> | 1289 | </summary> |
1290 | Close a javascript dialog window/div. | 1290 | <remarks> |
1291 | </summary> | 1291 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the |
1292 | <returns>javascript for closing a dialog.</returns> | 1292 | information sent in response to a GET request. This method can be used for obtaining meta information about |
1293 | <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/> | 1293 | the entity implied by the request without transferring the entity-body itself. |
1294 | </member> | 1294 | |
1295 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> | 1295 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. |
1296 | <summary> | 1296 | </remarks> |
1297 | Creates a new modal dialog window | 1297 | </member> |
1298 | </summary> | 1298 | <member name="F:HttpServer.Methods.Options"> |
1299 | <param name="url">url to open in window.</param> | 1299 | <summary> |
1300 | <param name="title">window title (may not be supported by all js implementations)</param> | 1300 | <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para> |
1301 | <param name="options"></param> | 1301 | </summary> |
1302 | <returns></returns> | 1302 | <remarks> |
1303 | </member> | 1303 | <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para> |
1304 | <member name="T:HttpServer.IHttpContextHandler"> | 1304 | </remarks> |
1305 | <summary> | 1305 | </member> |
1306 | Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>. | 1306 | <member name="F:HttpServer.Methods.Post"> |
1307 | </summary> | 1307 | <summary> |
1308 | </member> | 1308 | The POST method is used to request that the origin server accept the entity enclosed |
1309 | <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> | 1309 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. |
1310 | <summary> | 1310 | </summary> |
1311 | Client have been disconnected. | 1311 | <remarks> |
1312 | </summary> | 1312 | POST is designed to allow a uniform method to cover the following functions: |
1313 | <param name="client">Client that was disconnected.</param> | 1313 | <list type="bullet"> |
1314 | <param name="error">Reason</param> | 1314 | <item> |
1315 | <see cref="T:HttpServer.IHttpClientContext"/> | 1315 | Annotation of existing resources; |
1316 | </member> | 1316 | </item><item> |
1317 | <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 1317 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; |
1318 | <summary> | 1318 | </item><item> |
1319 | Invoked when a client context have received a new HTTP request | 1319 | Providing a block of data, such as the result of submitting a form, to a data-handling process; |
1320 | </summary> | 1320 | </item><item> |
1321 | <param name="client">Client that received the request.</param> | 1321 | Extending a database through an append operation. |
1322 | <param name="request">Request that was received.</param> | 1322 | </item> |
1323 | <see cref="T:HttpServer.IHttpClientContext"/> | 1323 | </list> |
1324 | </member> | 1324 | <para> |
1325 | <member name="T:HttpServer.HttpHelper"> | 1325 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and |
1326 | <summary> | 1326 | contain an entity which describes the status of the request and refers to the new resource, and a |
1327 | Generic helper functions for HTTP | 1327 | Location header (see section 14.30). |
1328 | </summary> | 1328 | </para> |
1329 | </member> | 1329 | <para> |
1330 | <member name="F:HttpServer.HttpHelper.HTTP10"> | 1330 | The action performed by the POST method might not result in a resource that can be identified by a URI. |
1331 | <summary> | 1331 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on |
1332 | Version string for HTTP v1.0 | 1332 | whether or not the response includes an entity that describes the result. |
1333 | </summary> | 1333 | </para><para> |
1334 | </member> | 1334 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control |
1335 | <member name="F:HttpServer.HttpHelper.HTTP11"> | 1335 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent |
1336 | <summary> | 1336 | to retrieve a cacheable resource. |
1337 | Version string for HTTP v1.1 | 1337 | </para> |
1338 | </summary> | 1338 | </remarks> |
1339 | </member> | 1339 | </member> |
1340 | <member name="F:HttpServer.HttpHelper.EmptyUri"> | 1340 | <member name="F:HttpServer.Methods.Put"> |
1341 | <summary> | 1341 | <summary> |
1342 | An empty URI | 1342 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. |
1343 | </summary> | 1343 | </summary> |
1344 | </member> | 1344 | <remarks> |
1345 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> | 1345 | <list type="bullet"> |
1346 | <summary> | 1346 | <item> |
1347 | Parses a query string. | 1347 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a |
1348 | </summary> | 1348 | modified version of the one residing on the origin server. |
1349 | <param name="queryString">Query string (URI encoded)</param> | 1349 | </item><item> |
1350 | <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns> | 1350 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new |
1351 | <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception> | 1351 | resource by the requesting user agent, the origin server can create the resource with that URI. |
1352 | <exception cref="T:System.FormatException">If string cannot be parsed.</exception> | 1352 | </item><item> |
1353 | </member> | 1353 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. |
1354 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> | 1354 | </item><item> |
1355 | <summary> | 1355 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to |
1356 | This provider is used to let us implement any type of form decoding we want without | 1356 | indicate successful completion of the request. |
1357 | having to rewrite anything else in the server. | 1357 | </item><item> |
1358 | </summary> | 1358 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be |
1359 | </member> | 1359 | given that reflects the nature of the problem. |
1360 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> | 1360 | </item> |
1361 | <summary> | 1361 | </list> |
1362 | 1362 | <para> | |
1363 | </summary> | 1363 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not |
1364 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> | 1364 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. |
1365 | <param name="stream">Stream containing form data.</param> | 1365 | </para> |
1366 | <param name="encoding">Encoding used when decoding the stream</param> | 1366 | </remarks> |
1367 | <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns> | 1367 | </member> |
1368 | <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception> | 1368 | <member name="F:HttpServer.Methods.Trace"> |
1369 | <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception> | 1369 | <summary> |
1370 | </member> | 1370 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. |
1371 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)"> | 1371 | </summary> |
1372 | <summary> | 1372 | </member> |
1373 | Add a decoder. | 1373 | <member name="T:HttpServer.LogPrio"> |
1374 | </summary> | 1374 | <summary> |
1375 | <param name="decoder"></param> | 1375 | Priority for log entries |
1376 | <exception cref="T:System.ArgumentNullException"></exception> | 1376 | </summary> |
1377 | </member> | 1377 | <seealso cref="T:HttpServer.ILogWriter"/> |
1378 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count"> | 1378 | </member> |
1379 | <summary> | 1379 | <member name="F:HttpServer.LogPrio.Trace"> |
1380 | Number of added decoders. | 1380 | <summary> |
1381 | </summary> | 1381 | Very detailed logs to be able to follow the flow of the program. |
1382 | </member> | 1382 | </summary> |
1383 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders"> | 1383 | </member> |
1384 | <summary> | 1384 | <member name="F:HttpServer.LogPrio.Debug"> |
1385 | Use with care. | 1385 | <summary> |
1386 | </summary> | 1386 | Logs to help debug errors in the application |
1387 | </member> | 1387 | </summary> |
1388 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder"> | 1388 | </member> |
1389 | <summary> | 1389 | <member name="F:HttpServer.LogPrio.Info"> |
1390 | Decoder used for unknown content types. | 1390 | <summary> |
1391 | </summary> | 1391 | Information to be able to keep track of state changes etc. |
1392 | </member> | 1392 | </summary> |
1393 | <member name="T:HttpServer.Sessions.MemorySession"> | 1393 | </member> |
1394 | <summary> | 1394 | <member name="F:HttpServer.LogPrio.Warning"> |
1395 | A session stored in memory. | 1395 | <summary> |
1396 | </summary> | 1396 | Something did not go as we expected, but it's no problem. |
1397 | </member> | 1397 | </summary> |
1398 | <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)"> | 1398 | </member> |
1399 | <summary> | 1399 | <member name="F:HttpServer.LogPrio.Error"> |
1400 | 1400 | <summary> | |
1401 | </summary> | 1401 | Something that should not fail failed, but we can still keep |
1402 | <param name="id">A unique id used by the sessions store to identify the session</param> | 1402 | on going. |
1403 | </member> | 1403 | </summary> |
1404 | <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)"> | 1404 | </member> |
1405 | <summary> | 1405 | <member name="F:HttpServer.LogPrio.Fatal"> |
1406 | Id | 1406 | <summary> |
1407 | </summary> | 1407 | Something failed, and we cannot handle it properly. |
1408 | <param name="id"></param> | 1408 | </summary> |
1409 | </member> | 1409 | </member> |
1410 | <member name="M:HttpServer.Sessions.MemorySession.Clear"> | 1410 | <member name="T:HttpServer.ILogWriter"> |
1411 | <summary> | 1411 | <summary> |
1412 | Remove everything from the session | 1412 | Interface used to write to log files. |
1413 | </summary> | 1413 | </summary> |
1414 | </member> | 1414 | </member> |
1415 | <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)"> | 1415 | <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
1416 | <summary> | 1416 | <summary> |
1417 | Clears the specified expire. | 1417 | Write an entry to the log file. |
1418 | </summary> | 1418 | </summary> |
1419 | <param name="expires">True if the session is cleared due to expiration</param> | 1419 | <param name="source">object that is writing to the log</param> |
1420 | </member> | 1420 | <param name="priority">importance of the log message</param> |
1421 | <member name="M:HttpServer.Sessions.MemorySession.Dispose"> | 1421 | <param name="message">the message</param> |
1422 | <summary> | 1422 | </member> |
1423 | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. | 1423 | <member name="T:HttpServer.ConsoleLogWriter"> |
1424 | </summary> | 1424 | <summary> |
1425 | <filterpriority>2</filterpriority> | 1425 | This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) |
1426 | </member> | 1426 | </summary> |
1427 | <member name="P:HttpServer.Sessions.MemorySession.Id"> | 1427 | <seealso cref="T:HttpServer.ILogWriter"/> |
1428 | <summary> | 1428 | </member> |
1429 | Session id | 1429 | <member name="F:HttpServer.ConsoleLogWriter.Instance"> |
1430 | </summary> | 1430 | <summary> |
1431 | </member> | 1431 | The actual instance of this class. |
1432 | <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)"> | 1432 | </summary> |
1433 | <summary> | 1433 | </member> |
1434 | Should | 1434 | <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
1435 | </summary> | 1435 | <summary> |
1436 | <param name="name">Name of the session variable</param> | 1436 | Logwriters the specified source. |
1437 | <returns>null if it's not set</returns> | 1437 | </summary> |
1438 | </member> | 1438 | <param name="source">object that wrote the logentry.</param> |
1439 | <member name="P:HttpServer.Sessions.MemorySession.Accessed"> | 1439 | <param name="prio">Importance of the log message</param> |
1440 | <summary> | 1440 | <param name="message">The message.</param> |
1441 | when the session was last accessed. | 1441 | </member> |
1442 | </summary> | 1442 | <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)"> |
1443 | <remarks> | 1443 | <summary> |
1444 | Used to determine when the session should be removed. | 1444 | Get color for the specified logprio |
1445 | </remarks> | 1445 | </summary> |
1446 | </member> | 1446 | <param name="prio">prio for the log entry</param> |
1447 | <member name="P:HttpServer.Sessions.MemorySession.Count"> | 1447 | <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns> |
1448 | <summary> | 1448 | </member> |
1449 | Number of values in the session | 1449 | <member name="T:HttpServer.NullLogWriter"> |
1450 | </summary> | 1450 | <summary> |
1451 | </member> | 1451 | Default log writer, writes everything to null (nowhere). |
1452 | <member name="P:HttpServer.Sessions.MemorySession.Changed"> | 1452 | </summary> |
1453 | <summary> | 1453 | <seealso cref="T:HttpServer.ILogWriter"/> |
1454 | Flag to indicate that the session have been changed | 1454 | </member> |
1455 | and should be saved into the session store. | 1455 | <member name="F:HttpServer.NullLogWriter.Instance"> |
1456 | </summary> | 1456 | <summary> |
1457 | </member> | 1457 | The logging instance. |
1458 | <member name="E:HttpServer.Sessions.MemorySession.BeforeClear"> | 1458 | </summary> |
1459 | <summary> | 1459 | </member> |
1460 | Event triggered upon clearing the session | 1460 | <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> |
1461 | </summary> | 1461 | <summary> |
1462 | </member> | 1462 | Writes everything to null |
1463 | <member name="T:HttpServer.FormDecoders.XmlDecoder"> | 1463 | </summary> |
1464 | <summary> | 1464 | <param name="source">object that wrote the log entry.</param> |
1465 | This decoder converts XML documents to form items. | 1465 | <param name="prio">Importance of the log message</param> |
1466 | Each element becomes a subitem in the form, and each attribute becomes an item. | 1466 | <param name="message">The message.</param> |
1467 | </summary> | 1467 | </member> |
1468 | <example> | 1468 | <member name="T:HttpServer.IComponentProvider"> |
1469 | // xml: <hello id="1">something<world id="2">data</world></hello> | 1469 | <summary> |
1470 | // result: | 1470 | Inversion of control interface. |
1471 | // form["hello"].Value = "something" | 1471 | </summary> |
1472 | // form["hello"]["id"].Value = 1 | 1472 | </member> |
1473 | // form["hello"]["world]["id"].Value = 1 | 1473 | <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)"> |
1474 | // form["hello"]["world"].Value = "data" | 1474 | <summary> |
1475 | </example> | 1475 | Add a component instance |
1476 | <remarks> | 1476 | </summary> |
1477 | The original xml document is stored in form["__xml__"].Value. | 1477 | <typeparam name="T">Interface type</typeparam> |
1478 | </remarks> | 1478 | <param name="instance">Instance to add</param> |
1479 | </member> | 1479 | </member> |
1480 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 1480 | <member name="M:HttpServer.IComponentProvider.Get``1"> |
1481 | <summary> | 1481 | <summary> |
1482 | 1482 | Get a component. | |
1483 | </summary> | 1483 | </summary> |
1484 | <param name="stream">Stream containing the content</param> | 1484 | <typeparam name="T">Interface type</typeparam> |
1485 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | 1485 | <returns>Component if registered, otherwise null.</returns> |
1486 | <param name="encoding">Stream encoding</param> | 1486 | <remarks> |
1487 | Note: contentType and encoding are not used? | 1487 | Component will get created if needed. |
1488 | <returns>A http form, or null if content could not be parsed.</returns> | 1488 | </remarks> |
1489 | <exception cref="T:System.IO.InvalidDataException"></exception> | 1489 | </member> |
1490 | </member> | 1490 | <member name="M:HttpServer.IComponentProvider.Contains(System.Type)"> |
1491 | <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)"> | 1491 | <summary> |
1492 | <summary> | 1492 | Checks if the specified component interface have been added. |
1493 | Recursive function that will go through an xml element and store it's content | 1493 | </summary> |
1494 | to the form item. | 1494 | <param name="interfaceType"></param> |
1495 | </summary> | 1495 | <returns>true if found; otherwise false.</returns> |
1496 | <param name="item">(parent) Item in form that content should be added to.</param> | 1496 | </member> |
1497 | <param name="node">Node that should be parsed.</param> | 1497 | <member name="M:HttpServer.IComponentProvider.Add``2"> |
1498 | </member> | 1498 | <summary> |
1499 | <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)"> | 1499 | Add a component. |
1500 | <summary> | 1500 | </summary> |
1501 | Checks if the decoder can handle the mime type | 1501 | <typeparam name="InterfaceType">Type being requested.</typeparam> |
1502 | </summary> | 1502 | <typeparam name="InstanceType">Type being created.</typeparam> |
1503 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 1503 | </member> |
1504 | <returns>True if the decoder can parse the specified content type</returns> | 1504 | <member name="T:HttpServer.HttpParam"> |
1505 | </member> | 1505 | <summary> |
1506 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> | 1506 | Returns item either from a form or a query string (checks them in that order) |
1507 | <summary> | 1507 | </summary> |
1508 | 1508 | </member> | |
1509 | </summary> | 1509 | <member name="F:HttpServer.HttpParam.Empty"> |
1510 | <returns></returns> | 1510 | <summary> Representation of a non-initialized HttpParam </summary> |
1511 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | 1511 | </member> |
1512 | <exception cref="T:System.ObjectDisposedException"></exception> | 1512 | <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)"> |
1513 | </member> | 1513 | <summary>Initialises the class to hold a value either from a post request or a querystring request</summary> |
1514 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> | 1514 | </member> |
1515 | <summary>Represents a field in a multipart form</summary> | 1515 | <member name="M:HttpServer.HttpParam.Add(System.String,System.String)"> |
1516 | </member> | 1516 | <summary> |
1517 | <member name="T:HttpServer.Exceptions.InternalServerException"> | 1517 | The add method is not availible for HttpParam |
1518 | <summary> | 1518 | since HttpParam checks both Request.Form and Request.QueryString |
1519 | The server encountered an unexpected condition which prevented it from fulfilling the request. | 1519 | </summary> |
1520 | </summary> | 1520 | <param name="name">name identifying the value</param> |
1521 | </member> | 1521 | <param name="value">value to add</param> |
1522 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> | 1522 | <exception cref="T:System.NotImplementedException"></exception> |
1523 | <summary> | 1523 | </member> |
1524 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 1524 | <member name="M:HttpServer.HttpParam.Contains(System.String)"> |
1525 | </summary> | 1525 | <summary> |
1526 | </member> | 1526 | Checks whether the form or querystring has the specified value |
1527 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> | 1527 | </summary> |
1528 | <summary> | 1528 | <param name="name">Name, case sensitive</param> |
1529 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 1529 | <returns>true if found; otherwise false.</returns> |
1530 | </summary> | 1530 | </member> |
1531 | <param name="message">error message.</param> | 1531 | <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
1532 | </member> | 1532 | <summary> |
1533 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> | 1533 | Returns an enumerator that iterates through the collection. |
1534 | <summary> | 1534 | </summary> |
1535 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. | 1535 | |
1536 | </summary> | 1536 | <returns> |
1537 | <param name="message">error message.</param> | 1537 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
1538 | <param name="inner">inner exception.</param> | 1538 | </returns> |
1539 | </member> | 1539 | <filterpriority>1</filterpriority> |
1540 | <member name="T:HttpServer.RequestParserState"> | 1540 | </member> |
1541 | <summary> | 1541 | <member name="M:HttpServer.HttpParam.GetEnumerator"> |
1542 | Current state in the parsing. | 1542 | <summary> |
1543 | </summary> | 1543 | Returns an enumerator that iterates through a collection. |
1544 | </member> | 1544 | </summary> |
1545 | <member name="F:HttpServer.RequestParserState.FirstLine"> | 1545 | |
1546 | <summary> | 1546 | <returns> |
1547 | Should parse the request line | 1547 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. |
1548 | </summary> | 1548 | </returns> |
1549 | </member> | 1549 | <filterpriority>2</filterpriority> |
1550 | <member name="F:HttpServer.RequestParserState.HeaderName"> | 1550 | </member> |
1551 | <summary> | 1551 | <member name="P:HttpServer.HttpParam.Item(System.String)"> |
1552 | Searching for a complete header name | 1552 | <summary> |
1553 | </summary> | 1553 | Fetch an item from the form or querystring (in that order). |
1554 | </member> | 1554 | </summary> |
1555 | <member name="F:HttpServer.RequestParserState.AfterName"> | 1555 | <param name="name"></param> |
1556 | <summary> | 1556 | <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns> |
1557 | Searching for colon after header name (ignoring white spaces) | 1557 | </member> |
1558 | </summary> | 1558 | <member name="T:HttpServer.HttpForm"> |
1559 | </member> | 1559 | <summary>Container for posted form data</summary> |
1560 | <member name="F:HttpServer.RequestParserState.Between"> | 1560 | </member> |
1561 | <summary> | 1561 | <member name="F:HttpServer.HttpForm.EmptyForm"> |
1562 | Searching for start of header value (ignoring white spaces) | 1562 | <summary>Instance to help mark a non-initialized form</summary> |
1563 | </summary> | 1563 | </member> |
1564 | </member> | 1564 | <member name="M:HttpServer.HttpForm.#ctor"> |
1565 | <member name="F:HttpServer.RequestParserState.HeaderValue"> | 1565 | <summary>Initializes a form container with the specified name</summary> |
1566 | <summary> | 1566 | </member> |
1567 | Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) | 1567 | <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)"> |
1568 | </summary> | 1568 | <summary> |
1569 | </member> | 1569 | Makes a deep copy of the input |
1570 | <member name="F:HttpServer.RequestParserState.Body"> | 1570 | </summary> |
1571 | <summary> | 1571 | <param name="input">The input to copy</param> |
1572 | Adding bytes to body | 1572 | </member> |
1573 | </summary> | 1573 | <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)"> |
1574 | </member> | 1574 | <summary> |
1575 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> | 1575 | Adds a file to the collection of posted files |
1576 | <summary> | 1576 | </summary> |
1577 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites | 1577 | <param name="file">The file to add</param> |
1578 | and public clients. | 1578 | <exception cref="T:System.ArgumentException">If the file is already added</exception> |
1579 | 1579 | <exception cref="T:System.ArgumentNullException">If file is null</exception> | |
1580 | A typical usage is to allow web servers on non standard ports to still be available | 1580 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> |
1581 | to the public clients, or allow web servers on private ips to be available. | 1581 | </member> |
1582 | </summary> | 1582 | <member name="M:HttpServer.HttpForm.ContainsFile(System.String)"> |
1583 | </member> | 1583 | <summary> |
1584 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)"> | 1584 | Checks if the form contains a specified file |
1585 | <summary> | 1585 | </summary> |
1586 | 1586 | <param name="name">Field name of the file parameter</param> | |
1587 | </summary> | 1587 | <returns>True if the file exists</returns> |
1588 | <param name="source">Base url requested from browser</param> | 1588 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> |
1589 | <param name="destination">Base url on private web server</param> | 1589 | </member> |
1590 | <example> | 1590 | <member name="M:HttpServer.HttpForm.GetFile(System.String)"> |
1591 | // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas | 1591 | <summary> |
1592 | _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); | 1592 | Retrieves a file held by by the form |
1593 | </example> | 1593 | </summary> |
1594 | </member> | 1594 | <param name="name">The identifier of the file</param> |
1595 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)"> | 1595 | <returns>The requested file or null if the file was not found</returns> |
1596 | <summary> | 1596 | <exception cref="T:System.ArgumentNullException">If name is null or empty</exception> |
1597 | Method that determines if an url should be handled or not by the module | 1597 | <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception> |
1598 | </summary> | 1598 | </member> |
1599 | <param name="uri">Url requested by the client.</param> | 1599 | <member name="M:HttpServer.HttpForm.Clear"> |
1600 | <returns>true if module should handle the url.</returns> | 1600 | <summary>Disposes all held HttpFile's and resets values</summary> |
1601 | </member> | 1601 | </member> |
1602 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 1602 | <member name="P:HttpServer.HttpForm.Files"> |
1603 | <summary> | 1603 | <summary> |
1604 | Method that process the url | 1604 | Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/> |
1605 | </summary> | 1605 | </summary> |
1606 | <param name="request">Information sent by the browser about the request</param> | 1606 | <returns>0 if no files are added</returns> |
1607 | <param name="response">Information that is being sent back to the client.</param> | 1607 | </member> |
1608 | <param name="session">Session used to </param> | 1608 | <member name="T:HttpServer.Helpers.ObjectForm"> |
1609 | </member> | 1609 | <summary> |
1610 | <member name="T:HttpServer.Method"> | 1610 | The object form class takes an object and creates form items for it. |
1611 | <summary> | 1611 | </summary> |
1612 | Contains all HTTP Methods (according to the HTTP 1.1 specification) | 1612 | </member> |
1613 | <para> | 1613 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> |
1614 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | 1614 | <summary> |
1615 | </para> | 1615 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
1616 | </summary> | 1616 | </summary> |
1617 | </member> | 1617 | <param name="method"></param> |
1618 | <member name="F:HttpServer.Method.Delete"> | 1618 | <param name="name">form name *and* id.</param> |
1619 | <summary> | 1619 | <param name="action">action to do when form is posted.</param> |
1620 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. | 1620 | <param name="obj"></param> |
1621 | </summary> | 1621 | </member> |
1622 | <remarks> | 1622 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> |
1623 | <para> | 1623 | <summary> |
1624 | This method MAY be overridden by human intervention (or other means) on the origin server. | 1624 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
1625 | The client cannot be guaranteed that the operation has been carried out, even if the status code | 1625 | </summary> |
1626 | returned from the origin server indicates that the action has been completed successfully. | 1626 | <param name="name">form name *and* id.</param> |
1627 | </para> | 1627 | <param name="action">action to do when form is posted.</param> |
1628 | <para> | 1628 | <param name="obj">object to get values from</param> |
1629 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | 1629 | </member> |
1630 | it intends to delete the resource or move it to an inaccessible location. | 1630 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> |
1631 | </para> | 1631 | <summary> |
1632 | <para> | 1632 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. |
1633 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | 1633 | </summary> |
1634 | 202 (Accepted) if the action has not yet been enacted, | 1634 | <param name="action">form action.</param> |
1635 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | 1635 | <param name="obj">object to get values from.</param> |
1636 | </para> | 1636 | </member> |
1637 | <para> | 1637 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> |
1638 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | 1638 | <summary> |
1639 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | 1639 | write out the FORM-tag. |
1640 | </para> | 1640 | </summary> |
1641 | </remarks> | 1641 | <returns>generated html code</returns> |
1642 | </member> | 1642 | </member> |
1643 | <member name="F:HttpServer.Method.Get"> | 1643 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> |
1644 | <summary> | 1644 | <summary> |
1645 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. | 1645 | Writeout the form tag |
1646 | </summary> | 1646 | </summary> |
1647 | <remarks> | 1647 | <param name="isAjax">form should be posted through ajax.</param> |
1648 | <para> | 1648 | <returns>generated html code</returns> |
1649 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | 1649 | </member> |
1650 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | 1650 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> |
1651 | </para> | 1651 | <summary> |
1652 | <para> | 1652 | Generates a text box. |
1653 | The semantics of the GET method change to a "conditional GET" if the request message includes an | 1653 | </summary> |
1654 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | 1654 | <param name="propertyName"></param> |
1655 | A conditional GET method requests that the entity be transferred only under the circumstances described | 1655 | <param name="options"></param> |
1656 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | 1656 | <returns>generated html code</returns> |
1657 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | 1657 | </member> |
1658 | data already held by the client. | 1658 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> |
1659 | </para> | 1659 | <summary> |
1660 | </remarks> | 1660 | password box |
1661 | </member> | 1661 | </summary> |
1662 | <member name="F:HttpServer.Method.Header"> | 1662 | <param name="propertyName"></param> |
1663 | <summary> | 1663 | <param name="options"></param> |
1664 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 1664 | <returns>generated html code</returns> |
1665 | </summary> | 1665 | </member> |
1666 | <remarks> | 1666 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> |
1667 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | 1667 | <summary> |
1668 | information sent in response to a GET request. This method can be used for obtaining meta information about | 1668 | Hiddens the specified property name. |
1669 | the entity implied by the request without transferring the entity-body itself. | 1669 | </summary> |
1670 | 1670 | <param name="propertyName">Name of the property.</param> | |
1671 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | 1671 | <param name="options">The options.</param> |
1672 | </remarks> | 1672 | <returns>generated html code</returns> |
1673 | </member> | 1673 | </member> |
1674 | <member name="F:HttpServer.Method.Options"> | 1674 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> |
1675 | <summary> | 1675 | <summary> |
1676 | <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para> | 1676 | Labels the specified property name. |
1677 | </summary> | 1677 | </summary> |
1678 | <remarks> | 1678 | <param name="propertyName">property in object.</param> |
1679 | <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para> | 1679 | <param name="label">caption</param> |
1680 | </remarks> | 1680 | <returns>generated html code</returns> |
1681 | </member> | 1681 | </member> |
1682 | <member name="F:HttpServer.Method.Post"> | 1682 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> |
1683 | <summary> | 1683 | <summary> |
1684 | The POST method is used to request that the origin server accept the entity enclosed | 1684 | Generate a checkbox |
1685 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | 1685 | </summary> |
1686 | </summary> | 1686 | <param name="propertyName">property in object</param> |
1687 | <remarks> | 1687 | <param name="value">checkbox value</param> |
1688 | POST is designed to allow a uniform method to cover the following functions: | 1688 | <param name="options">additional html attributes.</param> |
1689 | <list type="bullet"> | 1689 | <returns>generated html code</returns> |
1690 | <item> | 1690 | </member> |
1691 | Annotation of existing resources; | 1691 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> |
1692 | </item><item> | 1692 | <summary> |
1693 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | 1693 | Write a html select tag |
1694 | </item><item> | 1694 | </summary> |
1695 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | 1695 | <param name="propertyName">object property.</param> |
1696 | </item><item> | 1696 | <param name="idColumn">id column</param> |
1697 | Extending a database through an append operation. | 1697 | <param name="titleColumn">The title column.</param> |
1698 | </item> | 1698 | <param name="options">The options.</param> |
1699 | </list> | 1699 | <returns></returns> |
1700 | <para> | 1700 | </member> |
1701 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | 1701 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> |
1702 | contain an entity which describes the status of the request and refers to the new resource, and a | 1702 | <summary> |
1703 | Location header (see section 14.30). | 1703 | Selects the specified property name. |
1704 | </para> | 1704 | </summary> |
1705 | <para> | 1705 | <param name="propertyName">Name of the property.</param> |
1706 | The action performed by the POST method might not result in a resource that can be identified by a URI. | 1706 | <param name="items">The items.</param> |
1707 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | 1707 | <param name="idColumn">The id column.</param> |
1708 | whether or not the response includes an entity that describes the result. | 1708 | <param name="titleColumn">The title column.</param> |
1709 | </para><para> | 1709 | <param name="options">The options.</param> |
1710 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | 1710 | <returns></returns> |
1711 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | 1711 | </member> |
1712 | to retrieve a cacheable resource. | 1712 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> |
1713 | </para> | 1713 | <summary> |
1714 | </remarks> | 1714 | Write a submit tag. |
1715 | </member> | 1715 | </summary> |
1716 | <member name="F:HttpServer.Method.Put"> | 1716 | <param name="value">button caption</param> |
1717 | <summary> | 1717 | <returns>html submit tag</returns> |
1718 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. | 1718 | </member> |
1719 | </summary> | 1719 | <member name="M:HttpServer.Helpers.ObjectForm.End"> |
1720 | <remarks> | 1720 | <summary> |
1721 | <list type="bullet"> | 1721 | html end form tag |
1722 | <item> | 1722 | </summary> |
1723 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a | 1723 | <returns>html</returns> |
1724 | modified version of the one residing on the origin server. | 1724 | </member> |
1725 | </item><item> | 1725 | <member name="T:HttpServer.FormDecoders.FormDecoderProvider"> |
1726 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | 1726 | <summary> |
1727 | resource by the requesting user agent, the origin server can create the resource with that URI. | 1727 | This provider is used to let us implement any type of form decoding we want without |
1728 | </item><item> | 1728 | having to rewrite anything else in the server. |
1729 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | 1729 | </summary> |
1730 | </item><item> | 1730 | </member> |
1731 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | 1731 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)"> |
1732 | indicate successful completion of the request. | 1732 | <summary> |
1733 | </item><item> | 1733 | |
1734 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | 1734 | </summary> |
1735 | given that reflects the nature of the problem. | 1735 | <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param> |
1736 | </item> | 1736 | <param name="stream">Stream containing form data.</param> |
1737 | </list> | 1737 | <param name="encoding">Encoding used when decoding the stream</param> |
1738 | <para> | 1738 | <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns> |
1739 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | 1739 | <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception> |
1740 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | 1740 | <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception> |
1741 | </para> | 1741 | </member> |
1742 | </remarks> | 1742 | <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)"> |
1743 | </member> | 1743 | <summary> |
1744 | <member name="F:HttpServer.Method.Trace"> | 1744 | Add a decoder. |
1745 | <summary> | 1745 | </summary> |
1746 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | 1746 | <param name="decoder"></param> |
1747 | </summary> | 1747 | <exception cref="T:System.ArgumentNullException"></exception> |
1748 | </member> | 1748 | </member> |
1749 | <member name="T:HttpServer.Methods"> | 1749 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count"> |
1750 | <summary> | 1750 | <summary> |
1751 | Contains all HTTP Methods (according to the HTTP 1.1 specification) | 1751 | Number of added decoders. |
1752 | <para> | 1752 | </summary> |
1753 | See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html | 1753 | </member> |
1754 | </para> | 1754 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders"> |
1755 | </summary> | 1755 | <summary> |
1756 | </member> | 1756 | Use with care. |
1757 | <member name="F:HttpServer.Methods.Delete"> | 1757 | </summary> |
1758 | <summary> | 1758 | </member> |
1759 | The DELETE method requests that the origin server delete the resource identified by the Request-URI. | 1759 | <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder"> |
1760 | </summary> | 1760 | <summary> |
1761 | <remarks> | 1761 | Decoder used for unknown content types. |
1762 | <para> | 1762 | </summary> |
1763 | This method MAY be overridden by human intervention (or other means) on the origin server. | 1763 | </member> |
1764 | The client cannot be guaranteed that the operation has been carried out, even if the status code | 1764 | <member name="T:HttpServer.ExceptionHandler"> |
1765 | returned from the origin server indicates that the action has been completed successfully. | 1765 | <summary> |
1766 | </para> | 1766 | We dont want to let the server to die due to exceptions thrown in worker threads. |
1767 | <para> | 1767 | therefore we use this delegate to give you a change to handle uncaught exceptions. |
1768 | However, the server SHOULD NOT indicate success unless, at the time the response is given, | 1768 | </summary> |
1769 | it intends to delete the resource or move it to an inaccessible location. | 1769 | <param name="source">Class that the exception was thrown in.</param> |
1770 | </para> | 1770 | <param name="exception">Exception</param> |
1771 | <para> | 1771 | <remarks> |
1772 | A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, | 1772 | Server will throw a InternalServerException in release version if you dont |
1773 | 202 (Accepted) if the action has not yet been enacted, | 1773 | handle this delegate. |
1774 | or 204 (No Content) if the action has been enacted but the response does not include an entity. | 1774 | </remarks> |
1775 | </para> | 1775 | </member> |
1776 | <para> | 1776 | <member name="T:HttpServer.HttpClientContext"> |
1777 | If the request passes through a cache and the Request-URI identifies one or more currently cached entities, | 1777 | <summary> |
1778 | those entries SHOULD be treated as stale. Responses to this method are not cacheable. | 1778 | Contains a connection to a browser/client. |
1779 | </para> | 1779 | </summary> |
1780 | </remarks> | 1780 | <remarks> |
1781 | </member> | 1781 | Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event. |
1782 | <member name="F:HttpServer.Methods.Get"> | 1782 | </remarks> |
1783 | <summary> | 1783 | TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? |
1784 | The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. | 1784 | </member> |
1785 | </summary> | 1785 | <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)"> |
1786 | <remarks> | 1786 | <summary> |
1787 | <para> | 1787 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class. |
1788 | If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the | 1788 | </summary> |
1789 | entity in the response and not the source text of the process, unless that text happens to be the output of the process. | 1789 | <param name="secured">true if the connection is secured (SSL/TLS)</param> |
1790 | </para> | 1790 | <param name="remoteEndPoint">client that connected.</param> |
1791 | <para> | 1791 | <param name="stream">Stream used for communication</param> |
1792 | The semantics of the GET method change to a "conditional GET" if the request message includes an | 1792 | <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param> |
1793 | If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. | 1793 | <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param> |
1794 | A conditional GET method requests that the entity be transferred only under the circumstances described | 1794 | <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> |
1795 | by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network | 1795 | <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception> |
1796 | usage by allowing cached entities to be refreshed without requiring multiple requests or transferring | 1796 | </member> |
1797 | data already held by the client. | 1797 | <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)"> |
1798 | </para> | 1798 | <summary> |
1799 | </remarks> | 1799 | Process incoming body bytes. |
1800 | </member> | 1800 | </summary> |
1801 | <member name="F:HttpServer.Methods.Header"> | 1801 | <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param> |
1802 | <summary> | 1802 | <param name="e">Bytes</param> |
1803 | The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. | 1803 | </member> |
1804 | </summary> | 1804 | <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)"> |
1805 | <remarks> | 1805 | <summary> |
1806 | The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the | 1806 | |
1807 | information sent in response to a GET request. This method can be used for obtaining meta information about | 1807 | </summary> |
1808 | the entity implied by the request without transferring the entity-body itself. | 1808 | <param name="sender"></param> |
1809 | 1809 | <param name="e"></param> | |
1810 | This method is often used for testing hypertext links for validity, accessibility, and recent modification. | 1810 | </member> |
1811 | </remarks> | 1811 | <member name="M:HttpServer.HttpClientContext.Start"> |
1812 | </member> | 1812 | <summary> |
1813 | <member name="F:HttpServer.Methods.Options"> | 1813 | Start reading content. |
1814 | <summary> | 1814 | </summary> |
1815 | <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para> | 1815 | <remarks> |
1816 | </summary> | 1816 | Make sure to call base.Start() if you override this method. |
1817 | <remarks> | 1817 | </remarks> |
1818 | <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para> | 1818 | </member> |
1819 | </remarks> | 1819 | <member name="M:HttpServer.HttpClientContext.Cleanup"> |
1820 | </member> | 1820 | <summary> |
1821 | <member name="F:HttpServer.Methods.Post"> | 1821 | Clean up context. |
1822 | <summary> | 1822 | </summary> |
1823 | The POST method is used to request that the origin server accept the entity enclosed | 1823 | <remarks> |
1824 | in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. | 1824 | Make sure to call base.Cleanup() if you override the method. |
1825 | </summary> | 1825 | </remarks> |
1826 | <remarks> | 1826 | </member> |
1827 | POST is designed to allow a uniform method to cover the following functions: | 1827 | <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> |
1828 | <list type="bullet"> | 1828 | <summary> |
1829 | <item> | 1829 | Disconnect from client |
1830 | Annotation of existing resources; | 1830 | </summary> |
1831 | </item><item> | 1831 | <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param> |
1832 | Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; | 1832 | </member> |
1833 | </item><item> | 1833 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> |
1834 | Providing a block of data, such as the result of submitting a form, to a data-handling process; | 1834 | <summary> |
1835 | </item><item> | 1835 | Send a response. |
1836 | Extending a database through an append operation. | 1836 | </summary> |
1837 | </item> | 1837 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
1838 | </list> | 1838 | <param name="statusCode">HTTP status code</param> |
1839 | <para> | 1839 | <param name="reason">reason for the status code.</param> |
1840 | If a resource has been created on the origin server, the response SHOULD be 201 (Created) and | 1840 | <param name="body">HTML body contents, can be null or empty.</param> |
1841 | contain an entity which describes the status of the request and refers to the new resource, and a | 1841 | <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> |
1842 | Location header (see section 14.30). | 1842 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> |
1843 | </para> | 1843 | </member> |
1844 | <para> | 1844 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> |
1845 | The action performed by the POST method might not result in a resource that can be identified by a URI. | 1845 | <summary> |
1846 | In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on | 1846 | Send a response. |
1847 | whether or not the response includes an entity that describes the result. | 1847 | </summary> |
1848 | </para><para> | 1848 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> |
1849 | Responses to this method are not cacheable, unless the response includes appropriate Cache-Control | 1849 | <param name="statusCode">HTTP status code</param> |
1850 | or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent | 1850 | <param name="reason">reason for the status code.</param> |
1851 | to retrieve a cacheable resource. | 1851 | </member> |
1852 | </para> | 1852 | <member name="M:HttpServer.HttpClientContext.Respond(System.String)"> |
1853 | </remarks> | 1853 | <summary> |
1854 | </member> | 1854 | Send a response. |
1855 | <member name="F:HttpServer.Methods.Put"> | 1855 | </summary> |
1856 | <summary> | 1856 | <exception cref="T:System.ArgumentNullException"></exception> |
1857 | The PUT method requests that the enclosed entity be stored under the supplied Request-URI. | 1857 | </member> |
1858 | </summary> | 1858 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])"> |
1859 | <remarks> | 1859 | <summary> |
1860 | <list type="bullet"> | 1860 | send a whole buffer |
1861 | <item> | 1861 | </summary> |
1862 | If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a | 1862 | <param name="buffer">buffer to send</param> |
1863 | modified version of the one residing on the origin server. | 1863 | <exception cref="T:System.ArgumentNullException"></exception> |
1864 | </item><item> | 1864 | </member> |
1865 | If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new | 1865 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> |
1866 | resource by the requesting user agent, the origin server can create the resource with that URI. | 1866 | <summary> |
1867 | </item><item> | 1867 | Send data using the stream |
1868 | If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. | 1868 | </summary> |
1869 | </item><item> | 1869 | <param name="buffer">Contains data to send</param> |
1870 | If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to | 1870 | <param name="offset">Start position in buffer</param> |
1871 | indicate successful completion of the request. | 1871 | <param name="size">number of bytes to send</param> |
1872 | </item><item> | 1872 | <exception cref="T:System.ArgumentNullException"></exception> |
1873 | If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be | 1873 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
1874 | given that reflects the nature of the problem. | 1874 | </member> |
1875 | </item> | 1875 | <member name="E:HttpServer.HttpClientContext.Cleaned"> |
1876 | </list> | 1876 | <summary> |
1877 | <para> | 1877 | This context have been cleaned, which means that it can be reused. |
1878 | The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not | 1878 | </summary> |
1879 | understand or implement and MUST return a 501 (Not Implemented) response in such cases. | 1879 | </member> |
1880 | </para> | 1880 | <member name="E:HttpServer.HttpClientContext.Started"> |
1881 | </remarks> | 1881 | <summary> |
1882 | </member> | 1882 | Context have been started (a new client have connected) |
1883 | <member name="F:HttpServer.Methods.Trace"> | 1883 | </summary> |
1884 | <summary> | 1884 | </member> |
1885 | The TRACE method is used to invoke a remote, application-layer loop- back of the request message. | 1885 | <member name="P:HttpServer.HttpClientContext.CurrentRequest"> |
1886 | </summary> | 1886 | <summary> |
1887 | </member> | 1887 | Overload to specify own type. |
1888 | <member name="T:HttpServer.HttpListener"> | 1888 | </summary> |
1889 | <summary> | 1889 | <remarks> |
1890 | New implementation of the HTTP listener. | 1890 | Must be specified before the context is being used. |
1891 | </summary> | 1891 | </remarks> |
1892 | <remarks> | 1892 | </member> |
1893 | Use the <c>Create</c> methods to create a default listener. | 1893 | <member name="P:HttpServer.HttpClientContext.Secured"> |
1894 | </remarks> | 1894 | <summary> |
1895 | </member> | 1895 | Using SSL or other encryption method. |
1896 | <member name="T:HttpServer.HttpListenerBase"> | 1896 | </summary> |
1897 | <summary> | 1897 | </member> |
1898 | Contains a listener that doesn't do anything with the connections. | 1898 | <member name="P:HttpServer.HttpClientContext.IsSecured"> |
1899 | </summary> | 1899 | <summary> |
1900 | </member> | 1900 | Using SSL or other encryption method. |
1901 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | 1901 | </summary> |
1902 | <summary> | 1902 | </member> |
1903 | Listen for regular HTTP connections | 1903 | <member name="P:HttpServer.HttpClientContext.LogWriter"> |
1904 | </summary> | 1904 | <summary> |
1905 | <param name="address">IP Address to accept connections on</param> | 1905 | Specify which logger to use. |
1906 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | 1906 | </summary> |
1907 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | 1907 | </member> |
1908 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 1908 | <member name="P:HttpServer.HttpClientContext.Stream"> |
1909 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | 1909 | <summary> |
1910 | </member> | 1910 | Gets or sets the network stream. |
1911 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 1911 | </summary> |
1912 | <summary> | 1912 | </member> |
1913 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | 1913 | <member name="P:HttpServer.HttpClientContext.RemoteAddress"> |
1914 | </summary> | 1914 | <summary> |
1915 | <param name="address">IP Address to accept connections on</param> | 1915 | Gets or sets IP address that the client connected from. |
1916 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | 1916 | </summary> |
1917 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | 1917 | </member> |
1918 | <param name="certificate">Certificate to use</param> | 1918 | <member name="P:HttpServer.HttpClientContext.RemotePort"> |
1919 | </member> | 1919 | <summary> |
1920 | <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 1920 | Gets or sets port that the client connected from. |
1921 | <summary> | 1921 | </summary> |
1922 | Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class. | 1922 | </member> |
1923 | </summary> | 1923 | <member name="E:HttpServer.HttpClientContext.Disconnected"> |
1924 | <param name="address">IP Address to accept connections on</param> | 1924 | <summary> |
1925 | <param name="port">TCP Port to listen on, default HTTPS port is 443</param> | 1925 | The context have been disconnected. |
1926 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | 1926 | </summary> |
1927 | <param name="certificate">Certificate to use</param> | 1927 | <remarks> |
1928 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | 1928 | Event can be used to clean up a context, or to reuse it. |
1929 | </member> | 1929 | </remarks> |
1930 | <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)"> | 1930 | </member> |
1931 | <exception cref="T:System.Exception"><c>Exception</c>.</exception> | 1931 | <member name="E:HttpServer.HttpClientContext.RequestReceived"> |
1932 | </member> | 1932 | <summary> |
1933 | <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept"> | 1933 | A request have been received in the context. |
1934 | <summary> | 1934 | </summary> |
1935 | Will try to accept connections one more time. | 1935 | </member> |
1936 | </summary> | 1936 | <member name="T:HttpServer.Helpers.XmlHelper"> |
1937 | <exception cref="T:System.Exception">If any exceptions is thrown.</exception> | 1937 | <summary> |
1938 | </member> | 1938 | Helpers to make XML handling easier |
1939 | <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)"> | 1939 | </summary> |
1940 | <summary> | 1940 | </member> |
1941 | Can be used to create filtering of new connections. | 1941 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> |
1942 | </summary> | 1942 | <summary> |
1943 | <param name="socket">Accepted socket</param> | 1943 | Serializes object to XML. |
1944 | <returns>true if connection can be accepted; otherwise false.</returns> | 1944 | </summary> |
1945 | </member> | 1945 | <param name="value">object to serialize.</param> |
1946 | <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)"> | 1946 | <returns>XML</returns> |
1947 | <summary> | 1947 | <remarks> |
1948 | Start listen for new connections | 1948 | Removes name spaces and adds indentation |
1949 | </summary> | 1949 | </remarks> |
1950 | <param name="backlog">Number of connections that can stand in a queue to be accepted.</param> | 1950 | </member> |
1951 | <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception> | 1951 | <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)"> |
1952 | </member> | 1952 | <summary> |
1953 | <member name="M:HttpServer.HttpListenerBase.Stop"> | 1953 | Create an object from a XML string |
1954 | <summary> | 1954 | </summary> |
1955 | Stop the listener | 1955 | <typeparam name="T">Type of object</typeparam> |
1956 | </summary> | 1956 | <param name="xml">XML string</param> |
1957 | <exception cref="T:System.Net.Sockets.SocketException"></exception> | 1957 | <returns>object</returns> |
1958 | </member> | 1958 | </member> |
1959 | <member name="P:HttpServer.HttpListenerBase.LogWriter"> | 1959 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> |
1960 | <summary> | 1960 | <summary> |
1961 | Gives you a change to receive log entries for all internals of the HTTP library. | 1961 | Can handle application/x-www-form-urlencoded |
1962 | </summary> | 1962 | </summary> |
1963 | <remarks> | 1963 | </member> |
1964 | You may not switch log writer after starting the listener. | 1964 | <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
1965 | </remarks> | 1965 | <summary> |
1966 | </member> | 1966 | </summary> |
1967 | <member name="P:HttpServer.HttpListenerBase.UseTraceLogs"> | 1967 | <param name="stream">Stream containing the content</param> |
1968 | <summary> | 1968 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
1969 | True if we should turn on trace logs. | 1969 | <param name="encoding">Stream encoding</param> |
1970 | </summary> | 1970 | <returns> |
1971 | </member> | 1971 | A HTTP form, or null if content could not be parsed. |
1972 | <member name="E:HttpServer.HttpListenerBase.ExceptionThrown"> | 1972 | </returns> |
1973 | <summary> | 1973 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> |
1974 | Catch exceptions not handled by the listener. | 1974 | </member> |
1975 | </summary> | 1975 | <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)"> |
1976 | <remarks> | 1976 | <summary> |
1977 | Exceptions will be thrown during debug mode if this event is not used, | 1977 | Checks if the decoder can handle the mime type |
1978 | exceptions will be printed to console and suppressed during release mode. | 1978 | </summary> |
1979 | </remarks> | 1979 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
1980 | </member> | 1980 | <returns>True if the decoder can parse the specified content type</returns> |
1981 | <member name="E:HttpServer.HttpListenerBase.RequestReceived"> | 1981 | </member> |
1982 | <summary> | 1982 | <member name="T:HttpServer.ClientAcceptedEventArgs"> |
1983 | A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>. | 1983 | <summary> |
1984 | </summary> | 1984 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> |
1985 | </member> | 1985 | </summary> |
1986 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> | 1986 | <remarks> |
1987 | <summary> | 1987 | Can be used to revoke incoming connections |
1988 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 1988 | </remarks> |
1989 | </summary> | 1989 | </member> |
1990 | <param name="address">IP Address to accept connections on</param> | 1990 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> |
1991 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> | 1991 | <summary> |
1992 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> | 1992 | Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class. |
1993 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 1993 | </summary> |
1994 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | 1994 | <param name="socket">The socket.</param> |
1995 | </member> | 1995 | </member> |
1996 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 1996 | <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke"> |
1997 | <summary> | 1997 | <summary> |
1998 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 1998 | Client may not be handled. |
1999 | </summary> | 1999 | </summary> |
2000 | <param name="address">The address.</param> | 2000 | </member> |
2001 | <param name="port">The port.</param> | 2001 | <member name="P:HttpServer.ClientAcceptedEventArgs.Socket"> |
2002 | <param name="factory">The factory.</param> | 2002 | <summary> |
2003 | <param name="certificate">The certificate.</param> | 2003 | Accepted socket. |
2004 | </member> | 2004 | </summary> |
2005 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 2005 | </member> |
2006 | <summary> | 2006 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> |
2007 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. | 2007 | <summary> |
2008 | </summary> | 2008 | Client should be revoked. |
2009 | <param name="address">The address.</param> | 2009 | </summary> |
2010 | <param name="port">The port.</param> | 2010 | </member> |
2011 | <param name="factory">The factory.</param> | 2011 | <member name="T:HttpServer.Sessions.HttpSessionClearedArgs"> |
2012 | <param name="certificate">The certificate.</param> | 2012 | <summary> |
2013 | <param name="protocol">The protocol.</param> | 2013 | Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared |
2014 | </member> | 2014 | </summary> |
2015 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)"> | 2015 | </member> |
2016 | <summary> | 2016 | <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)"> |
2017 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 2017 | <summary> |
2018 | </summary> | 2018 | Instantiates the arguments for the event |
2019 | <param name="address">Address that the listener should accept connections on.</param> | 2019 | </summary> |
2020 | <param name="port">Port that listener should accept connections on.</param> | 2020 | <param name="expired">True if the session is cleared due to expiration</param> |
2021 | <returns>Created HTTP listener.</returns> | 2021 | </member> |
2022 | </member> | 2022 | <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired"> |
2023 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 2023 | <summary> |
2024 | <summary> | 2024 | Returns true if the session is cleared due to expiration |
2025 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 2025 | </summary> |
2026 | </summary> | 2026 | </member> |
2027 | <param name="address">Address that the listener should accept connections on.</param> | 2027 | <member name="T:HttpServer.Sessions.HttpSessionClearedHandler"> |
2028 | <param name="port">Port that listener should accept connections on.</param> | 2028 | <summary> |
2029 | <param name="certificate">Certificate to use</param> | 2029 | Delegate for when a IHttpSession is cleared |
2030 | <returns>Created HTTP listener.</returns> | 2030 | </summary> |
2031 | </member> | 2031 | <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param> |
2032 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 2032 | <param name="args">Arguments for the clearing</param> |
2033 | <summary> | 2033 | </member> |
2034 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. | 2034 | <member name="T:HttpServer.Parser.HeaderEventArgs"> |
2035 | </summary> | 2035 | <summary> |
2036 | <param name="address">Address that the listener should accept connections on.</param> | 2036 | Event arguments used when a new header have been parsed. |
2037 | <param name="port">Port that listener should accept connections on.</param> | 2037 | </summary> |
2038 | <param name="certificate">Certificate to use</param> | 2038 | </member> |
2039 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> | 2039 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)"> |
2040 | <returns>Created HTTP listener.</returns> | 2040 | <summary> |
2041 | </member> | 2041 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. |
2042 | <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)"> | 2042 | </summary> |
2043 | <summary> | 2043 | <param name="name">Name of header.</param> |
2044 | Can be used to create filtering of new connections. | 2044 | <param name="value">Header value.</param> |
2045 | </summary> | 2045 | </member> |
2046 | <param name="socket">Accepted socket</param> | 2046 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor"> |
2047 | <returns> | 2047 | <summary> |
2048 | true if connection can be accepted; otherwise false. | 2048 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. |
2049 | </returns> | 2049 | </summary> |
2050 | </member> | 2050 | </member> |
2051 | <member name="E:HttpServer.HttpListener.Accepted"> | 2051 | <member name="P:HttpServer.Parser.HeaderEventArgs.Name"> |
2052 | <summary> | 2052 | <summary> |
2053 | A client have been accepted, but not handled, by the listener. | 2053 | Gets or sets header name. |
2054 | </summary> | 2054 | </summary> |
2055 | </member> | 2055 | </member> |
2056 | <member name="T:HttpServer.Parser.HeaderEventArgs"> | 2056 | <member name="P:HttpServer.Parser.HeaderEventArgs.Value"> |
2057 | <summary> | 2057 | <summary> |
2058 | Event arguments used when a new header have been parsed. | 2058 | Gets or sets header value. |
2059 | </summary> | 2059 | </summary> |
2060 | </member> | 2060 | </member> |
2061 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)"> | 2061 | <member name="T:HttpServer.Helpers.ResourceManager"> |
2062 | <summary> | 2062 | <summary>Class to handle loading of resource files</summary> |
2063 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | 2063 | </member> |
2064 | </summary> | 2064 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor"> |
2065 | <param name="name">Name of header.</param> | 2065 | <summary> |
2066 | <param name="value">Header value.</param> | 2066 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
2067 | </member> | 2067 | </summary> |
2068 | <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor"> | 2068 | </member> |
2069 | <summary> | 2069 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)"> |
2070 | Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class. | 2070 | <summary> |
2071 | </summary> | 2071 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. |
2072 | </member> | 2072 | </summary> |
2073 | <member name="P:HttpServer.Parser.HeaderEventArgs.Name"> | 2073 | <param name="writer">logger.</param> |
2074 | <summary> | 2074 | </member> |
2075 | Gets or sets header name. | 2075 | <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> |
2076 | </summary> | 2076 | <summary> |
2077 | </member> | 2077 | Loads resources from a namespace in the given assembly to an URI |
2078 | <member name="P:HttpServer.Parser.HeaderEventArgs.Value"> | 2078 | </summary> |
2079 | <summary> | 2079 | <param name="toUri">The URI to map the resources to</param> |
2080 | Gets or sets header value. | 2080 | <param name="fromAssembly">The assembly in which the resources reside</param> |
2081 | </summary> | 2081 | <param name="fromNamespace">The namespace from which to load the resources</param> |
2082 | </member> | 2082 | <usage> |
2083 | <member name="T:HttpServer.LogPrio"> | 2083 | <code> |
2084 | <summary> | 2084 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); |
2085 | Priority for log entries | 2085 | </code> |
2086 | </summary> | 2086 | Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ |
2087 | <seealso cref="T:HttpServer.ILogWriter"/> | 2087 | </usage> |
2088 | </member> | 2088 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> |
2089 | <member name="F:HttpServer.LogPrio.Trace"> | 2089 | <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception> |
2090 | <summary> | 2090 | </member> |
2091 | Very detailed logs to be able to follow the flow of the program. | 2091 | <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)"> |
2092 | </summary> | 2092 | <summary> |
2093 | </member> | 2093 | Retrieves a stream for the specified resource path if loaded otherwise null |
2094 | <member name="F:HttpServer.LogPrio.Debug"> | 2094 | </summary> |
2095 | <summary> | 2095 | <param name="path">Path to the resource to retrieve a stream for</param> |
2096 | Logs to help debug errors in the application | 2096 | <returns>A stream or null if the resource couldn't be found</returns> |
2097 | </summary> | 2097 | </member> |
2098 | </member> | 2098 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)"> |
2099 | <member name="F:HttpServer.LogPrio.Info"> | 2099 | <summary> |
2100 | <summary> | 2100 | Fetch all files from the resource that matches the specified arguments. |
2101 | Information to be able to keep track of state changes etc. | 2101 | </summary> |
2102 | </summary> | 2102 | <param name="path">The path to the resource to extract</param> |
2103 | </member> | 2103 | <returns> |
2104 | <member name="F:HttpServer.LogPrio.Warning"> | 2104 | a list of files if found; or an empty array if no files are found. |
2105 | <summary> | 2105 | </returns> |
2106 | Something did not go as we expected, but it's no problem. | 2106 | <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception> |
2107 | </summary> | 2107 | </member> |
2108 | </member> | 2108 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)"> |
2109 | <member name="F:HttpServer.LogPrio.Error"> | 2109 | <summary> |
2110 | <summary> | 2110 | Fetch all files from the resource that matches the specified arguments. |
2111 | Something that should not fail failed, but we can still keep | 2111 | </summary> |
2112 | on going. | 2112 | <param name="path">Where the file should reside.</param> |
2113 | </summary> | 2113 | <param name="filename">Files to check</param> |
2114 | </member> | 2114 | <returns> |
2115 | <member name="F:HttpServer.LogPrio.Fatal"> | 2115 | a list of files if found; or an empty array if no files are found. |
2116 | <summary> | 2116 | </returns> |
2117 | Something failed, and we cannot handle it properly. | 2117 | </member> |
2118 | </summary> | 2118 | <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)"> |
2119 | </member> | 2119 | <summary> |
2120 | <member name="T:HttpServer.ILogWriter"> | 2120 | Returns whether or not the loader has an instance of the file requested |
2121 | <summary> | 2121 | </summary> |
2122 | Interface used to write to log files. | 2122 | <param name="filename">The name of the template/file</param> |
2123 | </summary> | 2123 | <returns>True if the loader can provide the file</returns> |
2124 | </member> | 2124 | </member> |
2125 | <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 2125 | <member name="T:HttpServer.Rules.RedirectRule"> |
2126 | <summary> | 2126 | <summary> |
2127 | Write an entry to the log file. | 2127 | redirects from one URL to another. |
2128 | </summary> | 2128 | </summary> |
2129 | <param name="source">object that is writing to the log</param> | 2129 | </member> |
2130 | <param name="priority">importance of the log message</param> | 2130 | <member name="T:HttpServer.Rules.IRule"> |
2131 | <param name="message">the message</param> | 2131 | <summary> |
2132 | </member> | 2132 | Rules are used to perform operations before a request is being handled. |
2133 | <member name="T:HttpServer.ConsoleLogWriter"> | 2133 | Rules can be used to create routing etc. |
2134 | <summary> | 2134 | </summary> |
2135 | This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) | 2135 | </member> |
2136 | </summary> | 2136 | <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
2137 | <seealso cref="T:HttpServer.ILogWriter"/> | 2137 | <summary> |
2138 | </member> | 2138 | Process the incoming request. |
2139 | <member name="F:HttpServer.ConsoleLogWriter.Instance"> | 2139 | </summary> |
2140 | <summary> | 2140 | <param name="request">incoming HTTP request</param> |
2141 | The actual instance of this class. | 2141 | <param name="response">outgoing HTTP response</param> |
2142 | </summary> | 2142 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> |
2143 | </member> | 2143 | <remarks> |
2144 | <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 2144 | returning true means that no modules will get the request. Returning true is typically being done |
2145 | <summary> | 2145 | for redirects. |
2146 | Logwriters the specified source. | 2146 | </remarks> |
2147 | </summary> | 2147 | <exception cref="T:System.ArgumentNullException">If request or response is null.</exception> |
2148 | <param name="source">object that wrote the logentry.</param> | 2148 | </member> |
2149 | <param name="prio">Importance of the log message</param> | 2149 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)"> |
2150 | <param name="message">The message.</param> | 2150 | <summary> |
2151 | </member> | 2151 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
2152 | <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)"> | 2152 | </summary> |
2153 | <summary> | 2153 | <param name="fromUrl">Absolute path (no server name)</param> |
2154 | Get color for the specified logprio | 2154 | <param name="toUrl">Absolute path (no server name)</param> |
2155 | </summary> | 2155 | <example> |
2156 | <param name="prio">prio for the log entry</param> | 2156 | server.Add(new RedirectRule("/", "/user/index")); |
2157 | <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns> | 2157 | </example> |
2158 | </member> | 2158 | </member> |
2159 | <member name="T:HttpServer.NullLogWriter"> | 2159 | <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)"> |
2160 | <summary> | 2160 | <summary> |
2161 | Default log writer, writes everything to null (nowhere). | 2161 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class. |
2162 | </summary> | 2162 | </summary> |
2163 | <seealso cref="T:HttpServer.ILogWriter"/> | 2163 | <param name="fromUrl">Absolute path (no server name)</param> |
2164 | </member> | 2164 | <param name="toUrl">Absolute path (no server name)</param> |
2165 | <member name="F:HttpServer.NullLogWriter.Instance"> | 2165 | <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param> |
2166 | <summary> | 2166 | <example> |
2167 | The logging instance. | 2167 | server.Add(new RedirectRule("/", "/user/index")); |
2168 | </summary> | 2168 | </example> |
2169 | </member> | 2169 | </member> |
2170 | <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)"> | 2170 | <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
2171 | <summary> | 2171 | <summary> |
2172 | Writes everything to null | 2172 | Process the incoming request. |
2173 | </summary> | 2173 | </summary> |
2174 | <param name="source">object that wrote the log entry.</param> | 2174 | <param name="request">incoming HTTP request</param> |
2175 | <param name="prio">Importance of the log message</param> | 2175 | <param name="response">outgoing HTTP response</param> |
2176 | <param name="message">The message.</param> | 2176 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> |
2177 | </member> | 2177 | <remarks> |
2178 | <member name="T:HttpServer.Helpers.JSHelper"> | 2178 | returning true means that no modules will get the request. Returning true is typically being done |
2179 | <summary> | 2179 | for redirects. |
2180 | Will contain helper functions for javascript. | 2180 | </remarks> |
2181 | </summary> | 2181 | </member> |
2182 | </member> | 2182 | <member name="P:HttpServer.Rules.RedirectRule.FromUrl"> |
2183 | <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])"> | 2183 | <summary> |
2184 | <summary> | 2184 | Gets string to match request URI with. |
2185 | Requests a url through ajax | 2185 | </summary> |
2186 | </summary> | 2186 | <remarks>Is compared to request.Uri.AbsolutePath</remarks> |
2187 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 2187 | </member> |
2188 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> | 2188 | <member name="P:HttpServer.Rules.RedirectRule.ToUrl"> |
2189 | <returns>a link tag</returns> | 2189 | <summary> |
2190 | <remarks>onclick attribute is used by this method.</remarks> | 2190 | Gets where to redirect. |
2191 | <example> | 2191 | </summary> |
2192 | <code> | 2192 | </member> |
2193 | // plain text | 2193 | <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect"> |
2194 | JSHelper.AjaxRequest("'/user/show/1'"); | 2194 | <summary> |
2195 | 2195 | Gets whether server should redirect client. | |
2196 | // ajax request using this.href | 2196 | </summary> |
2197 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; | 2197 | <remarks> |
2198 | </code> | 2198 | <c>false</c> means that the rule will replace |
2199 | </example> | 2199 | the current request URI with the new one from this class. |
2200 | </member> | 2200 | <c>true</c> means that a redirect response is sent to the client. |
2201 | <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])"> | 2201 | </remarks> |
2202 | <summary> | 2202 | </member> |
2203 | Ajax requests that updates an element with | 2203 | <member name="T:HttpServer.RequestQueue"> |
2204 | the fetched content | 2204 | <summary> |
2205 | </summary> | 2205 | Used to queue incoming requests. |
2206 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 2206 | </summary> |
2207 | <param name="targetId">element to update</param> | 2207 | </member> |
2208 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> | 2208 | <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)"> |
2209 | <returns>A link tag.</returns> | 2209 | <summary> |
2210 | <example> | 2210 | Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class. |
2211 | <code> | 2211 | </summary> |
2212 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); | 2212 | <param name="handler">Called when a request should be processed.</param> |
2213 | </code> | 2213 | </member> |
2214 | </example> | 2214 | <member name="M:HttpServer.RequestQueue.QueueThread"> |
2215 | </member> | 2215 | <summary> |
2216 | <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"> | 2216 | Used to process queued requests. |
2217 | <summary> | 2217 | </summary> |
2218 | Opens contents in a dialog window. | 2218 | </member> |
2219 | </summary> | 2219 | <member name="P:HttpServer.RequestQueue.MaxRequestCount"> |
2220 | <param name="url">url to contents of dialog</param> | 2220 | <summary> |
2221 | <param name="title">link title</param> | 2221 | Gets or sets maximum number of allowed simultaneous requests. |
2222 | <param name="options">name, value, name, value, all parameter names should end with colon.</param> | 2222 | </summary> |
2223 | </member> | 2223 | </member> |
2224 | <member name="M:HttpServer.Helpers.JSHelper.CloseDialog"> | 2224 | <member name="P:HttpServer.RequestQueue.MaxQueueSize"> |
2225 | <summary> | 2225 | <summary> |
2226 | Close a javascript dialog window/div. | 2226 | Gets or sets maximum number of requests queuing to be handled. |
2227 | </summary> | 2227 | </summary> |
2228 | <returns>javascript for closing a dialog.</returns> | 2228 | </member> |
2229 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> | 2229 | <member name="P:HttpServer.RequestQueue.CurrentRequestCount"> |
2230 | </member> | 2230 | <summary> |
2231 | <member name="T:HttpServer.Helpers.GetIdTitle"> | 2231 | Specifies how many requests the HTTP server is currently processing. |
2232 | <summary> | 2232 | </summary> |
2233 | Delegate used by <see cref="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"/> to populate select options. | 2233 | </member> |
2234 | </summary> | 2234 | <member name="T:HttpServer.RequestQueue.QueueItem"> |
2235 | <param name="obj">current object (for instance a User).</param> | 2235 | <summary> |
2236 | <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param> | 2236 | Used two queue incoming requests to avoid |
2237 | <param name="title">Text shown in the select list.</param> | 2237 | thread starvation. |
2238 | <example> | 2238 | </summary> |
2239 | // Class that is going to be used in a SELECT-tag. | 2239 | </member> |
2240 | public class User | 2240 | <member name="T:HttpServer.ProcessRequestHandler"> |
2241 | { | 2241 | <summary> |
2242 | private readonly string _realName; | 2242 | Method used to process a queued request |
2243 | private readonly int _id; | 2243 | </summary> |
2244 | public User(int id, string realName) | 2244 | <param name="context">Context that the request was received from.</param> |
2245 | { | 2245 | <param name="request">Request to process.</param> |
2246 | _id = id; | 2246 | </member> |
2247 | _realName = realName; | 2247 | <member name="T:HttpServer.Parser.HttpRequestParser"> |
2248 | } | 2248 | <summary> |
2249 | public string RealName | 2249 | Parses a HTTP request directly from a stream |
2250 | { | 2250 | </summary> |
2251 | get { return _realName; } | 2251 | </member> |
2252 | } | 2252 | <member name="T:HttpServer.IHttpRequestParser"> |
2253 | 2253 | <summary> | |
2254 | public int Id | 2254 | Event driven parser used to parse incoming HTTP requests. |
2255 | { | 2255 | </summary> |
2256 | get { return _id; } | 2256 | <remarks> |
2257 | } | 2257 | The parser supports partial messages and keeps the states between |
2258 | } | 2258 | each parsed buffer. It's therefore important that the parser gets |
2259 | 2259 | <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects. | |
2260 | // Using an inline delegate to generate the select list | 2260 | </remarks> |
2261 | public void UserInlineDelegate() | 2261 | </member> |
2262 | { | 2262 | <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> |
2263 | List<User> items = new List<User>(); | 2263 | <summary> |
2264 | items.Add(new User(1, "adam")); | 2264 | Parse partial or complete message. |
2265 | items.Add(new User(2, "bertial")); | 2265 | </summary> |
2266 | items.Add(new User(3, "david")); | 2266 | <param name="buffer">buffer containing incoming bytes</param> |
2267 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) | 2267 | <param name="offset">where in buffer that parsing should start</param> |
2268 | { | 2268 | <param name="count">number of bytes to parse</param> |
2269 | User user = (User)o; | 2269 | <returns>Unparsed bytes left in buffer.</returns> |
2270 | id = user.Id; | 2270 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> |
2271 | value = user.RealName; | 2271 | </member> |
2272 | }, 2, true); | 2272 | <member name="M:HttpServer.IHttpRequestParser.Clear"> |
2273 | } | 2273 | <summary> |
2274 | 2274 | Clear parser state. | |
2275 | // Using an method as delegate to generate the select list. | 2275 | </summary> |
2276 | public void UseExternalDelegate() | 2276 | </member> |
2277 | { | 2277 | <member name="P:HttpServer.IHttpRequestParser.CurrentState"> |
2278 | List<User> items = new List<User>(); | 2278 | <summary> |
2279 | items.Add(new User(1, "adam")); | 2279 | Current state in parser. |
2280 | items.Add(new User(2, "bertial")); | 2280 | </summary> |
2281 | items.Add(new User(3, "david")); | 2281 | </member> |
2282 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); | 2282 | <member name="E:HttpServer.IHttpRequestParser.RequestCompleted"> |
2283 | } | 2283 | <summary> |
2284 | 2284 | A request have been successfully parsed. | |
2285 | // delegate returning id and title | 2285 | </summary> |
2286 | public static void UserOptions(object o, out object id, out object title) | 2286 | </member> |
2287 | { | 2287 | <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived"> |
2288 | User user = (User)o; | 2288 | <summary> |
2289 | id = user.Id; | 2289 | More body bytes have been received. |
2290 | value = user.RealName; | 2290 | </summary> |
2291 | } /// </example> | 2291 | </member> |
2292 | </member> | 2292 | <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived"> |
2293 | <member name="T:HttpServer.Parser.BodyEventArgs"> | 2293 | <summary> |
2294 | <summary> | 2294 | Request line have been received. |
2295 | Arguments used when more body bytes have come. | 2295 | </summary> |
2296 | </summary> | 2296 | </member> |
2297 | </member> | 2297 | <member name="E:HttpServer.IHttpRequestParser.HeaderReceived"> |
2298 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)"> | 2298 | <summary> |
2299 | <summary> | 2299 | A header have been received. |
2300 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. | 2300 | </summary> |
2301 | </summary> | 2301 | </member> |
2302 | <param name="buffer">buffer that contains the received bytes.</param> | 2302 | <member name="P:HttpServer.IHttpRequestParser.LogWriter"> |
2303 | <param name="offset">offset in buffer where to start processing.</param> | 2303 | <summary> |
2304 | <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param> | 2304 | Gets or sets the log writer. |
2305 | </member> | 2305 | </summary> |
2306 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor"> | 2306 | </member> |
2307 | <summary> | 2307 | <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)"> |
2308 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. | 2308 | <summary> |
2309 | </summary> | 2309 | Create a new request parser |
2310 | </member> | 2310 | </summary> |
2311 | <member name="P:HttpServer.Parser.BodyEventArgs.Buffer"> | 2311 | <param name="logWriter">delegate receiving log entries.</param> |
2312 | <summary> | 2312 | </member> |
2313 | Gets or sets buffer that contains the received bytes. | 2313 | <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
2314 | </summary> | 2314 | <summary> |
2315 | </member> | 2315 | Add a number of bytes to the body |
2316 | <member name="P:HttpServer.Parser.BodyEventArgs.Count"> | 2316 | </summary> |
2317 | <summary> | 2317 | <param name="buffer">buffer containing more body bytes.</param> |
2318 | Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed. | 2318 | <param name="offset">starting offset in buffer</param> |
2319 | </summary> | 2319 | <param name="count">number of bytes, from offset, to read.</param> |
2320 | </member> | 2320 | <returns>offset to continue from.</returns> |
2321 | <member name="P:HttpServer.Parser.BodyEventArgs.Offset"> | 2321 | </member> |
2322 | <summary> | 2322 | <member name="M:HttpServer.Parser.HttpRequestParser.Clear"> |
2323 | Gets or sets offset in buffer where to start processing. | 2323 | <summary> |
2324 | </summary> | 2324 | Remove all state information for the request. |
2325 | </member> | 2325 | </summary> |
2326 | <member name="T:HttpServer.IHttpResponse"> | 2326 | </member> |
2327 | <summary> | 2327 | <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)"> |
2328 | Response that is sent back to the web browser / client. | 2328 | <summary> |
2329 | 2329 | Parse request line | |
2330 | A response can be sent if different ways. The easiest one is | 2330 | </summary> |
2331 | to just fill the Body stream with content, everything else | 2331 | <param name="value"></param> |
2332 | will then be taken care of by the framework. The default content-type | 2332 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception> |
2333 | is text/html, you should change it if you send anything else. | 2333 | <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks> |
2334 | 2334 | </member> | |
2335 | The second and slighty more complex way is to send the response | 2335 | <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)"> |
2336 | as parts. Start with sending the header using the SendHeaders method and | 2336 | <summary> |
2337 | then you can send the body using SendBody method, but do not forget | 2337 | We've parsed a new header. |
2338 | to set ContentType and ContentLength before doing so. | 2338 | </summary> |
2339 | </summary> | 2339 | <param name="name">Name in lower case</param> |
2340 | <example> | 2340 | <param name="value">Value, unmodified.</param> |
2341 | public void MyHandler(IHttpRequest request, IHttpResponse response) | 2341 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception> |
2342 | { | 2342 | </member> |
2343 | 2343 | <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)"> | |
2344 | } | 2344 | <summary> |
2345 | </example> | 2345 | Parse a message |
2346 | </member> | 2346 | </summary> |
2347 | <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"> | 2347 | <param name="buffer">bytes to parse.</param> |
2348 | <summary> | 2348 | <param name="offset">where in buffer that parsing should start</param> |
2349 | Add another header to the document. | 2349 | <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param> |
2350 | </summary> | 2350 | <returns>offset (where to start parsing next).</returns> |
2351 | <param name="name">Name of the header, case sensitive, use lower cases.</param> | 2351 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> |
2352 | <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> | 2352 | </member> |
2353 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 2353 | <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter"> |
2354 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | 2354 | <summary> |
2355 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | 2355 | Gets or sets the log writer. |
2356 | </member> | 2356 | </summary> |
2357 | <member name="M:HttpServer.IHttpResponse.Send"> | 2357 | </member> |
2358 | <summary> | 2358 | <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState"> |
2359 | Send headers and body to the browser. | 2359 | <summary> |
2360 | </summary> | 2360 | Current state in parser. |
2361 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> | 2361 | </summary> |
2362 | </member> | 2362 | </member> |
2363 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> | 2363 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted"> |
2364 | <summary> | 2364 | <summary> |
2365 | Make sure that you have specified ContentLength and sent the headers first. | 2365 | A request have been successfully parsed. |
2366 | </summary> | 2366 | </summary> |
2367 | <param name="buffer"></param> | 2367 | </member> |
2368 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 2368 | <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived"> |
2369 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> | 2369 | <summary> |
2370 | <param name="offset">offest of first byte to send</param> | 2370 | More body bytes have been received. |
2371 | <param name="count">number of bytes to send.</param> | 2371 | </summary> |
2372 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> | 2372 | </member> |
2373 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> | 2373 | <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived"> |
2374 | <remarks>This method can be used if you want to send body contents without caching them first. This | 2374 | <summary> |
2375 | is recommended for larger files to keep the memory usage low.</remarks> | 2375 | Request line have been received. |
2376 | </member> | 2376 | </summary> |
2377 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"> | 2377 | </member> |
2378 | <summary> | 2378 | <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived"> |
2379 | Make sure that you have specified ContentLength and sent the headers first. | 2379 | <summary> |
2380 | </summary> | 2380 | A header have been received. |
2381 | <param name="buffer"></param> | 2381 | </summary> |
2382 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 2382 | </member> |
2383 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> | 2383 | <member name="T:HttpServer.IHttpResponse"> |
2384 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> | 2384 | <summary> |
2385 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> | 2385 | Response that is sent back to the web browser / client. |
2386 | <remarks>This method can be used if you want to send body contents without caching them first. This | 2386 | |
2387 | is recommended for larger files to keep the memory usage low.</remarks> | 2387 | A response can be sent if different ways. The easiest one is |
2388 | </member> | 2388 | to just fill the Body stream with content, everything else |
2389 | <member name="M:HttpServer.IHttpResponse.SendHeaders"> | 2389 | will then be taken care of by the framework. The default content-type |
2390 | <summary> | 2390 | is text/html, you should change it if you send anything else. |
2391 | Send headers to the client. | 2391 | |
2392 | </summary> | 2392 | The second and slighty more complex way is to send the response |
2393 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 2393 | as parts. Start with sending the header using the SendHeaders method and |
2394 | <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/> | 2394 | then you can send the body using SendBody method, but do not forget |
2395 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> | 2395 | to set ContentType and ContentLength before doing so. |
2396 | <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/> | 2396 | </summary> |
2397 | </member> | 2397 | <example> |
2398 | <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)"> | 2398 | public void MyHandler(IHttpRequest request, IHttpResponse response) |
2399 | <summary> | 2399 | { |
2400 | Redirect client to somewhere else using the 302 status code. | 2400 | |
2401 | </summary> | 2401 | } |
2402 | <param name="uri">Destination of the redirect</param> | 2402 | </example> |
2403 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 2403 | </member> |
2404 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | 2404 | <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"> |
2405 | action.</remarks> | 2405 | <summary> |
2406 | </member> | 2406 | Add another header to the document. |
2407 | <member name="M:HttpServer.IHttpResponse.Redirect(System.String)"> | 2407 | </summary> |
2408 | <summary> | 2408 | <param name="name">Name of the header, case sensitive, use lower cases.</param> |
2409 | redirect to somewhere | 2409 | <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> |
2410 | </summary> | 2410 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2411 | <param name="url">where the redirect should go</param> | 2411 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> |
2412 | <remarks> | 2412 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> |
2413 | No body are allowed when doing redirects. | 2413 | </member> |
2414 | </remarks> | 2414 | <member name="M:HttpServer.IHttpResponse.Send"> |
2415 | </member> | 2415 | <summary> |
2416 | <member name="P:HttpServer.IHttpResponse.Body"> | 2416 | Send headers and body to the browser. |
2417 | <summary> | 2417 | </summary> |
2418 | The body stream is used to cache the body contents | 2418 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> |
2419 | before sending everything to the client. It's the simplest | 2419 | </member> |
2420 | way to serve documents. | 2420 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> |
2421 | </summary> | 2421 | <summary> |
2422 | </member> | 2422 | Make sure that you have specified ContentLength and sent the headers first. |
2423 | <member name="P:HttpServer.IHttpResponse.ProtocolVersion"> | 2423 | </summary> |
2424 | <summary> | 2424 | <param name="buffer"></param> |
2425 | Defines the version of the HTTP Response for applications where it's required | 2425 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
2426 | for this to be forced. | 2426 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
2427 | </summary> | 2427 | <param name="offset">offest of first byte to send</param> |
2428 | </member> | 2428 | <param name="count">number of bytes to send.</param> |
2429 | <member name="P:HttpServer.IHttpResponse.Chunked"> | 2429 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> |
2430 | <summary> | 2430 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
2431 | The chunked encoding modifies the body of a message in order to | 2431 | <remarks>This method can be used if you want to send body contents without caching them first. This |
2432 | transfer it as a series of chunks, each with its own size indicator, | 2432 | is recommended for larger files to keep the memory usage low.</remarks> |
2433 | followed by an OPTIONAL trailer containing entity-header fields. This | 2433 | </member> |
2434 | allows dynamically produced content to be transferred along with the | 2434 | <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"> |
2435 | information necessary for the recipient to verify that it has | 2435 | <summary> |
2436 | received the full message. | 2436 | Make sure that you have specified ContentLength and sent the headers first. |
2437 | </summary> | 2437 | </summary> |
2438 | </member> | 2438 | <param name="buffer"></param> |
2439 | <member name="P:HttpServer.IHttpResponse.Connection"> | 2439 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
2440 | <summary> | 2440 | <see cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
2441 | Kind of connection | 2441 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> |
2442 | </summary> | 2442 | <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/> |
2443 | </member> | 2443 | <remarks>This method can be used if you want to send body contents without caching them first. This |
2444 | <member name="P:HttpServer.IHttpResponse.Encoding"> | 2444 | is recommended for larger files to keep the memory usage low.</remarks> |
2445 | <summary> | 2445 | </member> |
2446 | Encoding to use when sending stuff to the client. | 2446 | <member name="M:HttpServer.IHttpResponse.SendHeaders"> |
2447 | </summary> | 2447 | <summary> |
2448 | <remarks>Default is UTF8</remarks> | 2448 | Send headers to the client. |
2449 | </member> | 2449 | </summary> |
2450 | <member name="P:HttpServer.IHttpResponse.KeepAlive"> | 2450 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2451 | <summary> | 2451 | <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/> |
2452 | Number of seconds to keep connection alive | 2452 | <seealso cref="M:HttpServer.IHttpResponse.Send"/> |
2453 | </summary> | 2453 | <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/> |
2454 | <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks> | 2454 | </member> |
2455 | </member> | 2455 | <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)"> |
2456 | <member name="P:HttpServer.IHttpResponse.Status"> | 2456 | <summary> |
2457 | <summary> | 2457 | Redirect client to somewhere else using the 302 status code. |
2458 | Status code that is sent to the client. | 2458 | </summary> |
2459 | </summary> | 2459 | <param name="uri">Destination of the redirect</param> |
2460 | <remarks>Default is HttpStatusCode.Ok</remarks> | 2460 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2461 | </member> | 2461 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last |
2462 | <member name="P:HttpServer.IHttpResponse.Reason"> | 2462 | action.</remarks> |
2463 | <summary> | 2463 | </member> |
2464 | Information about why a specific status code was used. | 2464 | <member name="M:HttpServer.IHttpResponse.Redirect(System.String)"> |
2465 | </summary> | 2465 | <summary> |
2466 | </member> | 2466 | redirect to somewhere |
2467 | <member name="P:HttpServer.IHttpResponse.ContentLength"> | 2467 | </summary> |
2468 | <summary> | 2468 | <param name="url">where the redirect should go</param> |
2469 | Size of the body. MUST be specified before sending the header, | 2469 | <remarks> |
2470 | unless property Chunked is set to true. | 2470 | No body are allowed when doing redirects. |
2471 | </summary> | 2471 | </remarks> |
2472 | </member> | 2472 | </member> |
2473 | <member name="P:HttpServer.IHttpResponse.ContentType"> | 2473 | <member name="P:HttpServer.IHttpResponse.Body"> |
2474 | <summary> | 2474 | <summary> |
2475 | Kind of content in the body | 2475 | The body stream is used to cache the body contents |
2476 | </summary> | 2476 | before sending everything to the client. It's the simplest |
2477 | <remarks>Default is text/html</remarks> | 2477 | way to serve documents. |
2478 | </member> | 2478 | </summary> |
2479 | <member name="P:HttpServer.IHttpResponse.HeadersSent"> | 2479 | </member> |
2480 | <summary> | 2480 | <member name="P:HttpServer.IHttpResponse.ProtocolVersion"> |
2481 | Headers have been sent to the client- | 2481 | <summary> |
2482 | </summary> | 2482 | Defines the version of the HTTP Response for applications where it's required |
2483 | <remarks>You can not send any additional headers if they have already been sent.</remarks> | 2483 | for this to be forced. |
2484 | </member> | 2484 | </summary> |
2485 | <member name="P:HttpServer.IHttpResponse.Sent"> | 2485 | </member> |
2486 | <summary> | 2486 | <member name="P:HttpServer.IHttpResponse.Chunked"> |
2487 | The whole response have been sent. | 2487 | <summary> |
2488 | </summary> | 2488 | The chunked encoding modifies the body of a message in order to |
2489 | </member> | 2489 | transfer it as a series of chunks, each with its own size indicator, |
2490 | <member name="P:HttpServer.IHttpResponse.Cookies"> | 2490 | followed by an OPTIONAL trailer containing entity-header fields. This |
2491 | <summary> | 2491 | allows dynamically produced content to be transferred along with the |
2492 | Cookies that should be created/changed. | 2492 | information necessary for the recipient to verify that it has |
2493 | </summary> | 2493 | received the full message. |
2494 | </member> | 2494 | </summary> |
2495 | <member name="T:HttpServer.ConnectionType"> | 2495 | </member> |
2496 | <summary> | 2496 | <member name="P:HttpServer.IHttpResponse.Connection"> |
2497 | Type of HTTP connection | 2497 | <summary> |
2498 | </summary> | 2498 | Kind of connection |
2499 | </member> | 2499 | </summary> |
2500 | <member name="F:HttpServer.ConnectionType.Close"> | 2500 | </member> |
2501 | <summary> | 2501 | <member name="P:HttpServer.IHttpResponse.Encoding"> |
2502 | Connection is closed after each request-response | 2502 | <summary> |
2503 | </summary> | 2503 | Encoding to use when sending stuff to the client. |
2504 | </member> | 2504 | </summary> |
2505 | <member name="F:HttpServer.ConnectionType.KeepAlive"> | 2505 | <remarks>Default is UTF8</remarks> |
2506 | <summary> | 2506 | </member> |
2507 | Connection is kept alive for X seconds (unless another request have been made) | 2507 | <member name="P:HttpServer.IHttpResponse.KeepAlive"> |
2508 | </summary> | 2508 | <summary> |
2509 | </member> | 2509 | Number of seconds to keep connection alive |
2510 | <member name="T:HttpServer.IHttpRequest"> | 2510 | </summary> |
2511 | <summary> | 2511 | <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks> |
2512 | Contains server side HTTP request information. | 2512 | </member> |
2513 | </summary> | 2513 | <member name="P:HttpServer.IHttpResponse.Status"> |
2514 | </member> | 2514 | <summary> |
2515 | <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)"> | 2515 | Status code that is sent to the client. |
2516 | <summary> | 2516 | </summary> |
2517 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. | 2517 | <remarks>Default is HttpStatusCode.Ok</remarks> |
2518 | </summary> | 2518 | </member> |
2519 | <param name="name">Name of the header, should not be URL encoded</param> | 2519 | <member name="P:HttpServer.IHttpResponse.Reason"> |
2520 | <param name="value">Value of the header, should not be URL encoded</param> | 2520 | <summary> |
2521 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> | 2521 | Information about why a specific status code was used. |
2522 | </member> | 2522 | </summary> |
2523 | <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 2523 | </member> |
2524 | <summary> | 2524 | <member name="P:HttpServer.IHttpResponse.ContentLength"> |
2525 | Add bytes to the body | 2525 | <summary> |
2526 | </summary> | 2526 | Size of the body. MUST be specified before sending the header, |
2527 | <param name="bytes">buffer to read bytes from</param> | 2527 | unless property Chunked is set to true. |
2528 | <param name="offset">where to start read</param> | 2528 | </summary> |
2529 | <param name="length">number of bytes to read</param> | 2529 | </member> |
2530 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | 2530 | <member name="P:HttpServer.IHttpResponse.ContentType"> |
2531 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> | 2531 | <summary> |
2532 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | 2532 | Kind of content in the body |
2533 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | 2533 | </summary> |
2534 | </member> | 2534 | <remarks>Default is text/html</remarks> |
2535 | <member name="M:HttpServer.IHttpRequest.Clear"> | 2535 | </member> |
2536 | <summary> | 2536 | <member name="P:HttpServer.IHttpResponse.HeadersSent"> |
2537 | Clear everything in the request | 2537 | <summary> |
2538 | </summary> | 2538 | Headers have been sent to the client- |
2539 | </member> | 2539 | </summary> |
2540 | <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> | 2540 | <remarks>You can not send any additional headers if they have already been sent.</remarks> |
2541 | <summary> | 2541 | </member> |
2542 | Decode body into a form. | 2542 | <member name="P:HttpServer.IHttpResponse.Sent"> |
2543 | </summary> | 2543 | <summary> |
2544 | <param name="providers">A list with form decoders.</param> | 2544 | The whole response have been sent. |
2545 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> | 2545 | </summary> |
2546 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | 2546 | </member> |
2547 | </member> | 2547 | <member name="P:HttpServer.IHttpResponse.Cookies"> |
2548 | <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)"> | 2548 | <summary> |
2549 | <summary> | 2549 | Cookies that should be created/changed. |
2550 | Sets the cookies. | 2550 | </summary> |
2551 | </summary> | 2551 | </member> |
2552 | <param name="cookies">The cookies.</param> | 2552 | <member name="T:HttpServer.ConnectionType"> |
2553 | </member> | 2553 | <summary> |
2554 | <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> | 2554 | Type of HTTP connection |
2555 | <summary> | 2555 | </summary> |
2556 | Create a response object. | 2556 | </member> |
2557 | </summary> | 2557 | <member name="F:HttpServer.ConnectionType.Close"> |
2558 | <param name="context">Context for the connected client.</param> | 2558 | <summary> |
2559 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | 2559 | Connection is closed after each request-response |
2560 | </member> | 2560 | </summary> |
2561 | <member name="P:HttpServer.IHttpRequest.AcceptTypes"> | 2561 | </member> |
2562 | <summary> | 2562 | <member name="F:HttpServer.ConnectionType.KeepAlive"> |
2563 | Gets kind of types accepted by the client. | 2563 | <summary> |
2564 | </summary> | 2564 | Connection is kept alive for X seconds (unless another request have been made) |
2565 | </member> | 2565 | </summary> |
2566 | <member name="P:HttpServer.IHttpRequest.Body"> | 2566 | </member> |
2567 | <summary> | 2567 | <member name="T:HttpServer.HttpResponse"> |
2568 | Gets or sets body stream. | 2568 | <summary> |
2569 | </summary> | 2569 | Response that is sent back to the web browser / client. |
2570 | </member> | 2570 | </summary> |
2571 | <member name="P:HttpServer.IHttpRequest.BodyIsComplete"> | 2571 | <remarks> |
2572 | <summary> | 2572 | <para> |
2573 | Gets whether the body is complete. | 2573 | A response can be sent if different ways. The easiest one is |
2574 | </summary> | 2574 | to just fill the Body stream with content, everything else |
2575 | </member> | 2575 | will then be taken care of by the framework. The default content-type |
2576 | <member name="P:HttpServer.IHttpRequest.Connection"> | 2576 | is text/html, you should change it if you send anything else. |
2577 | <summary> | 2577 | </para><para> |
2578 | Gets or sets kind of connection used for the session. | 2578 | The second and slightly more complex way is to send the response |
2579 | </summary> | 2579 | as parts. Start with sending the header using the SendHeaders method and |
2580 | </member> | 2580 | then you can send the body using SendBody method, but do not forget |
2581 | <member name="P:HttpServer.IHttpRequest.ContentLength"> | 2581 | to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so. |
2582 | <summary> | 2582 | </para> |
2583 | Gets or sets number of bytes in the body. | 2583 | </remarks> |
2584 | </summary> | 2584 | <example> |
2585 | </member> | 2585 | <code> |
2586 | <member name="P:HttpServer.IHttpRequest.Cookies"> | 2586 | // Example using response body. |
2587 | <summary> | 2587 | class MyModule : HttpModule |
2588 | Gets cookies that was sent with the request. | 2588 | { |
2589 | </summary> | 2589 | public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) |
2590 | </member> | 2590 | { |
2591 | <member name="P:HttpServer.IHttpRequest.Form"> | 2591 | StreamWriter writer = new StreamWriter(response.Body); |
2592 | <summary> | 2592 | writer.WriteLine("Hello dear World!"); |
2593 | Gets form parameters. | 2593 | writer.Flush(); |
2594 | </summary> | 2594 | |
2595 | </member> | 2595 | // return true to tell webserver that we've handled the url |
2596 | <member name="P:HttpServer.IHttpRequest.Headers"> | 2596 | return true; |
2597 | <summary> | 2597 | } |
2598 | Gets headers sent by the client. | 2598 | } |
2599 | </summary> | 2599 | </code> |
2600 | </member> | 2600 | </example> |
2601 | <member name="P:HttpServer.IHttpRequest.HttpVersion"> | 2601 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. |
2602 | <summary> | 2602 | </member> |
2603 | Gets or sets version of HTTP protocol that's used. | 2603 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
2604 | </summary> | 2604 | <summary> |
2605 | <remarks> | 2605 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
2606 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. | 2606 | </summary> |
2607 | </remarks> | 2607 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> |
2608 | <seealso cref="T:HttpServer.HttpHelper"/> | 2608 | <param name="request">Contains information of what the client want to receive.</param> |
2609 | </member> | 2609 | <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception> |
2610 | <member name="P:HttpServer.IHttpRequest.IsAjax"> | 2610 | </member> |
2611 | <summary> | 2611 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)"> |
2612 | Gets whether the request was made by Ajax (Asynchronous JavaScript) | 2612 | <summary> |
2613 | </summary> | 2613 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. |
2614 | </member> | 2614 | </summary> |
2615 | <member name="P:HttpServer.IHttpRequest.Method"> | 2615 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> |
2616 | <summary> | 2616 | <param name="httpVersion">Version of HTTP protocol that the client uses.</param> |
2617 | Gets or sets requested method. | 2617 | <param name="connectionType">Type of HTTP connection used.</param> |
2618 | </summary> | 2618 | </member> |
2619 | <remarks> | 2619 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> |
2620 | Will always be in upper case. | 2620 | <summary> |
2621 | </remarks> | 2621 | Add another header to the document. |
2622 | <see cref="P:HttpServer.IHttpRequest.Method"/> | 2622 | </summary> |
2623 | </member> | 2623 | <param name="name">Name of the header, case sensitive, use lower cases.</param> |
2624 | <member name="P:HttpServer.IHttpRequest.Param"> | 2624 | <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> |
2625 | <summary> | 2625 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2626 | Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>. | 2626 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> |
2627 | </summary> | 2627 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> |
2628 | </member> | 2628 | </member> |
2629 | <member name="P:HttpServer.IHttpRequest.QueryString"> | 2629 | <member name="M:HttpServer.HttpResponse.Send"> |
2630 | <summary> | 2630 | <summary> |
2631 | Gets variables sent in the query string | 2631 | Send headers and body to the browser. |
2632 | </summary> | 2632 | </summary> |
2633 | </member> | 2633 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> |
2634 | <member name="P:HttpServer.IHttpRequest.Uri"> | 2634 | </member> |
2635 | <summary> | 2635 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> |
2636 | Gets or sets requested URI. | 2636 | <summary> |
2637 | </summary> | 2637 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. |
2638 | </member> | 2638 | </summary> |
2639 | <member name="P:HttpServer.IHttpRequest.UriParts"> | 2639 | <param name="buffer"></param> |
2640 | <summary> | 2640 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
2641 | Gets URI absolute path divided into parts. | 2641 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> |
2642 | </summary> | 2642 | <param name="offset">offset of first byte to send</param> |
2643 | <example> | 2643 | <param name="count">number of bytes to send.</param> |
2644 | // URI is: http://gauffin.com/code/tiny/ | 2644 | <seealso cref="M:HttpServer.HttpResponse.Send"/> |
2645 | Console.WriteLine(request.UriParts[0]); // result: code | 2645 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> |
2646 | Console.WriteLine(request.UriParts[1]); // result: tiny | 2646 | <remarks>This method can be used if you want to send body contents without caching them first. This |
2647 | </example> | 2647 | is recommended for larger files to keep the memory usage low.</remarks> |
2648 | <remarks> | 2648 | </member> |
2649 | If you're using controllers than the first part is controller name, | 2649 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> |
2650 | the second part is method name and the third part is Id property. | 2650 | <summary> |
2651 | </remarks> | 2651 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. |
2652 | <seealso cref="P:HttpServer.IHttpRequest.Uri"/> | 2652 | </summary> |
2653 | </member> | 2653 | <param name="buffer"></param> |
2654 | <member name="P:HttpServer.IHttpRequest.UriPath"> | 2654 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> |
2655 | <summary> | 2655 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> |
2656 | Gets or sets path and query. | 2656 | <seealso cref="M:HttpServer.HttpResponse.Send"/> |
2657 | </summary> | 2657 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> |
2658 | <see cref="P:HttpServer.IHttpRequest.Uri"/> | 2658 | <remarks>This method can be used if you want to send body contents without caching them first. This |
2659 | <remarks> | 2659 | is recommended for larger files to keep the memory usage low.</remarks> |
2660 | Are only used during request parsing. Cannot be set after "Host" header have been | 2660 | </member> |
2661 | added. | 2661 | <member name="M:HttpServer.HttpResponse.SendHeaders"> |
2662 | </remarks> | 2662 | <summary> |
2663 | </member> | 2663 | Send headers to the client. |
2664 | <member name="T:HttpServer.IHttpClientContext"> | 2664 | </summary> |
2665 | <summary> | 2665 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2666 | Contains a connection to a browser/client. | 2666 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> |
2667 | </summary> | 2667 | <seealso cref="M:HttpServer.HttpResponse.Send"/> |
2668 | </member> | 2668 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> |
2669 | <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> | 2669 | </member> |
2670 | <summary> | 2670 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> |
2671 | Disconnect from client | 2671 | <summary> |
2672 | </summary> | 2672 | Redirect client to somewhere else using the 302 status code. |
2673 | <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param> | 2673 | </summary> |
2674 | </member> | 2674 | <param name="uri">Destination of the redirect</param> |
2675 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> | 2675 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> |
2676 | <summary> | 2676 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last |
2677 | Send a response. | 2677 | action.</remarks> |
2678 | </summary> | 2678 | </member> |
2679 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 2679 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> |
2680 | <param name="statusCode">HTTP status code</param> | 2680 | <summary> |
2681 | <param name="reason">reason for the status code.</param> | 2681 | redirect to somewhere |
2682 | <param name="body">HTML body contents, can be null or empty.</param> | 2682 | </summary> |
2683 | <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param> | 2683 | <param name="url">where the redirect should go</param> |
2684 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | 2684 | <remarks> |
2685 | </member> | 2685 | No body are allowed when doing redirects. |
2686 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 2686 | </remarks> |
2687 | <summary> | 2687 | </member> |
2688 | Send a response. | 2688 | <member name="P:HttpServer.HttpResponse.Body"> |
2689 | </summary> | 2689 | <summary> |
2690 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 2690 | The body stream is used to cache the body contents |
2691 | <param name="statusCode">HTTP status code</param> | 2691 | before sending everything to the client. It's the simplest |
2692 | <param name="reason">reason for the status code.</param> | 2692 | way to serve documents. |
2693 | </member> | 2693 | </summary> |
2694 | <member name="M:HttpServer.IHttpClientContext.Respond(System.String)"> | 2694 | </member> |
2695 | <summary> | 2695 | <member name="P:HttpServer.HttpResponse.Chunked"> |
2696 | Send a response. | 2696 | <summary> |
2697 | </summary> | 2697 | The chunked encoding modifies the body of a message in order to |
2698 | <exception cref="T:System.ArgumentNullException"></exception> | 2698 | transfer it as a series of chunks, each with its own size indicator, |
2699 | </member> | 2699 | followed by an OPTIONAL trailer containing entity-header fields. This |
2700 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])"> | 2700 | allows dynamically produced content to be transferred along with the |
2701 | <summary> | 2701 | information necessary for the recipient to verify that it has |
2702 | send a whole buffer | 2702 | received the full message. |
2703 | </summary> | 2703 | </summary> |
2704 | <param name="buffer">buffer to send</param> | 2704 | </member> |
2705 | <exception cref="T:System.ArgumentNullException"></exception> | 2705 | <member name="P:HttpServer.HttpResponse.ProtocolVersion"> |
2706 | </member> | 2706 | <summary> |
2707 | <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> | 2707 | Defines the version of the HTTP Response for applications where it's required |
2708 | <summary> | 2708 | for this to be forced. |
2709 | Send data using the stream | 2709 | </summary> |
2710 | </summary> | 2710 | </member> |
2711 | <param name="buffer">Contains data to send</param> | 2711 | <member name="P:HttpServer.HttpResponse.Connection"> |
2712 | <param name="offset">Start position in buffer</param> | 2712 | <summary> |
2713 | <param name="size">number of bytes to send</param> | 2713 | Kind of connection |
2714 | <exception cref="T:System.ArgumentNullException"></exception> | 2714 | </summary> |
2715 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | 2715 | </member> |
2716 | </member> | 2716 | <member name="P:HttpServer.HttpResponse.Encoding"> |
2717 | <member name="M:HttpServer.IHttpClientContext.Close"> | 2717 | <summary> |
2718 | <summary> | 2718 | Encoding to use when sending stuff to the client. |
2719 | Closes the streams and disposes of the unmanaged resources | 2719 | </summary> |
2720 | </summary> | 2720 | <remarks>Default is UTF8</remarks> |
2721 | </member> | 2721 | </member> |
2722 | <member name="P:HttpServer.IHttpClientContext.Secured"> | 2722 | <member name="P:HttpServer.HttpResponse.KeepAlive"> |
2723 | <summary> | 2723 | <summary> |
2724 | Using SSL or other encryption method. | 2724 | Number of seconds to keep connection alive |
2725 | </summary> | 2725 | </summary> |
2726 | </member> | 2726 | <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks> |
2727 | <member name="P:HttpServer.IHttpClientContext.IsSecured"> | 2727 | </member> |
2728 | <summary> | 2728 | <member name="P:HttpServer.HttpResponse.Status"> |
2729 | Using SSL or other encryption method. | 2729 | <summary> |
2730 | </summary> | 2730 | Status code that is sent to the client. |
2731 | </member> | 2731 | </summary> |
2732 | <member name="E:HttpServer.IHttpClientContext.Disconnected"> | 2732 | <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks> |
2733 | <summary> | 2733 | </member> |
2734 | The context have been disconnected. | 2734 | <member name="P:HttpServer.HttpResponse.Reason"> |
2735 | </summary> | 2735 | <summary> |
2736 | <remarks> | 2736 | Information about why a specific status code was used. |
2737 | Event can be used to clean up a context, or to reuse it. | 2737 | </summary> |
2738 | </remarks> | 2738 | </member> |
2739 | </member> | 2739 | <member name="P:HttpServer.HttpResponse.ContentLength"> |
2740 | <member name="E:HttpServer.IHttpClientContext.RequestReceived"> | 2740 | <summary> |
2741 | <summary> | 2741 | Size of the body. MUST be specified before sending the header, |
2742 | A request have been received in the context. | 2742 | unless property Chunked is set to true. |
2743 | </summary> | 2743 | </summary> |
2744 | </member> | 2744 | </member> |
2745 | <member name="T:HttpServer.DisconnectedEventArgs"> | 2745 | <member name="P:HttpServer.HttpResponse.ContentType"> |
2746 | <summary> | 2746 | <summary> |
2747 | A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected. | 2747 | Kind of content in the body |
2748 | </summary> | 2748 | </summary> |
2749 | </member> | 2749 | <remarks>Default type is "text/html"</remarks> |
2750 | <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)"> | 2750 | </member> |
2751 | <summary> | 2751 | <member name="P:HttpServer.HttpResponse.HeadersSent"> |
2752 | Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class. | 2752 | <summary> |
2753 | </summary> | 2753 | Headers have been sent to the client- |
2754 | <param name="error">Reason to disconnection.</param> | 2754 | </summary> |
2755 | </member> | 2755 | <remarks>You can not send any additional headers if they have already been sent.</remarks> |
2756 | <member name="P:HttpServer.DisconnectedEventArgs.Error"> | 2756 | </member> |
2757 | <summary> | 2757 | <member name="P:HttpServer.HttpResponse.Sent"> |
2758 | Gets reason to why client disconnected. | 2758 | <summary> |
2759 | </summary> | 2759 | The whole response have been sent. |
2760 | </member> | 2760 | </summary> |
2761 | <member name="T:HttpServer.RequestEventArgs"> | 2761 | </member> |
2762 | <summary> | 2762 | <member name="P:HttpServer.HttpResponse.Cookies"> |
2763 | 2763 | <summary> | |
2764 | </summary> | 2764 | Cookies that should be created/changed. |
2765 | </member> | 2765 | </summary> |
2766 | <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)"> | 2766 | </member> |
2767 | <summary> | 2767 | <member name="T:HttpServer.HttpInputItem"> |
2768 | Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class. | 2768 | <summary> |
2769 | </summary> | 2769 | represents a HTTP input item. Each item can have multiple sub items, a sub item |
2770 | <param name="request">The request.</param> | 2770 | is made in a HTML form by using square brackets |
2771 | </member> | 2771 | </summary> |
2772 | <member name="P:HttpServer.RequestEventArgs.Request"> | 2772 | <example> |
2773 | <summary> | 2773 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: |
2774 | Gets received request. | 2774 | Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); |
2775 | </summary> | 2775 | </example> |
2776 | </member> | 2776 | <remarks> |
2777 | <member name="T:HttpServer.HttpModules.WebSiteModule"> | 2777 | All names in a form SHOULD be in lowercase. |
2778 | <summary> | 2778 | </remarks> |
2779 | The website module let's you handle multiple websites in the same server. | 2779 | </member> |
2780 | It uses the "Host" header to check which site you want. | 2780 | <member name="F:HttpServer.HttpInputItem.Empty"> |
2781 | </summary> | 2781 | <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary> |
2782 | <remarks>It's recommended that you do not | 2782 | </member> |
2783 | add any other modules to HttpServer if you are using the website module. Instead, | 2783 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> |
2784 | add all wanted modules to each website.</remarks> | 2784 | <summary> |
2785 | </member> | 2785 | Initializes an input item setting its name/identifier and value |
2786 | <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)"> | 2786 | </summary> |
2787 | <summary> | 2787 | <param name="name">Parameter name/id</param> |
2788 | 2788 | <param name="value">Parameter value</param> | |
2789 | </summary> | 2789 | </member> |
2790 | <param name="host">domain name that should be handled.</param> | 2790 | <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)"> |
2791 | <param name="name"></param> | 2791 | <summary>Creates a deep copy of the item specified</summary> |
2792 | </member> | 2792 | <param name="item">The item to copy</param> |
2793 | <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 2793 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> |
2794 | <summary> | 2794 | </member> |
2795 | Method that process the url | 2795 | <member name="M:HttpServer.HttpInputItem.Add(System.String)"> |
2796 | </summary> | 2796 | <summary> |
2797 | <param name="request">Information sent by the browser about the request</param> | 2797 | Add another value to this item |
2798 | <param name="response">Information that is being sent back to the client.</param> | 2798 | </summary> |
2799 | <param name="session">Session used to </param> | 2799 | <param name="value">Value to add.</param> |
2800 | </member> | 2800 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> |
2801 | <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName"> | 2801 | </member> |
2802 | <summary> | 2802 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> |
2803 | Name of site. | 2803 | <summary> |
2804 | </summary> | 2804 | checks if a sub-item exists (and has a value). |
2805 | </member> | 2805 | </summary> |
2806 | <member name="T:HttpServer.HttpInputItem"> | 2806 | <param name="name">name in lower case</param> |
2807 | <summary> | 2807 | <returns>true if the sub-item exists and has a value; otherwise false.</returns> |
2808 | represents a HTTP input item. Each item can have multiple sub items, a sub item | 2808 | </member> |
2809 | is made in a HTML form by using square brackets | 2809 | <member name="M:HttpServer.HttpInputItem.ToString"> |
2810 | </summary> | 2810 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> |
2811 | <example> | 2811 | </member> |
2812 | // <input type="text" name="user[FirstName]" value="jonas" /> becomes: | 2812 | <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)"> |
2813 | Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); | 2813 | <summary> |
2814 | </example> | 2814 | Outputs the string in a formatted manner |
2815 | <remarks> | 2815 | </summary> |
2816 | All names in a form SHOULD be in lowercase. | 2816 | <param name="prefix">A prefix to append, used internally</param> |
2817 | </remarks> | 2817 | <param name="asQuerySting">produce a query string</param> |
2818 | </member> | 2818 | </member> |
2819 | <member name="F:HttpServer.HttpInputItem.Empty"> | 2819 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> |
2820 | <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary> | 2820 | <summary> |
2821 | </member> | 2821 | Add a sub item. |
2822 | <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)"> | 2822 | </summary> |
2823 | <summary> | 2823 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> |
2824 | Initializes an input item setting its name/identifier and value | 2824 | <param name="value">Value to add.</param> |
2825 | </summary> | 2825 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> |
2826 | <param name="name">Parameter name/id</param> | 2826 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> |
2827 | <param name="value">Parameter value</param> | 2827 | </member> |
2828 | </member> | 2828 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> |
2829 | <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)"> | 2829 | <summary> |
2830 | <summary>Creates a deep copy of the item specified</summary> | 2830 | Returns an enumerator that iterates through the collection. |
2831 | <param name="item">The item to copy</param> | 2831 | </summary> |
2832 | <remarks>The function makes a deep copy of quite a lot which can be slow</remarks> | 2832 | |
2833 | </member> | 2833 | <returns> |
2834 | <member name="M:HttpServer.HttpInputItem.Add(System.String)"> | 2834 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
2835 | <summary> | 2835 | </returns> |
2836 | Add another value to this item | 2836 | <filterpriority>1</filterpriority> |
2837 | </summary> | 2837 | </member> |
2838 | <param name="value">Value to add.</param> | 2838 | <member name="M:HttpServer.HttpInputItem.GetEnumerator"> |
2839 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | 2839 | <summary> |
2840 | </member> | 2840 | Returns an enumerator that iterates through a collection. |
2841 | <member name="M:HttpServer.HttpInputItem.Contains(System.String)"> | 2841 | </summary> |
2842 | <summary> | 2842 | |
2843 | checks if a sub-item exists (and has a value). | 2843 | <returns> |
2844 | </summary> | 2844 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. |
2845 | <param name="name">name in lower case</param> | 2845 | </returns> |
2846 | <returns>true if the sub-item exists and has a value; otherwise false.</returns> | 2846 | <filterpriority>2</filterpriority> |
2847 | </member> | 2847 | </member> |
2848 | <member name="M:HttpServer.HttpInputItem.ToString"> | 2848 | <member name="M:HttpServer.HttpInputItem.ToString(System.String)"> |
2849 | <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary> | 2849 | <summary> |
2850 | </member> | 2850 | Outputs the string in a formatted manner |
2851 | <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)"> | 2851 | </summary> |
2852 | <summary> | 2852 | <param name="prefix">A prefix to append, used internally</param> |
2853 | Outputs the string in a formatted manner | 2853 | <returns></returns> |
2854 | </summary> | 2854 | </member> |
2855 | <param name="prefix">A prefix to append, used internally</param> | 2855 | <member name="P:HttpServer.HttpInputItem.Count"> |
2856 | <param name="asQuerySting">produce a query string</param> | 2856 | <summary> |
2857 | </member> | 2857 | Number of values |
2858 | <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)"> | 2858 | </summary> |
2859 | <summary> | 2859 | </member> |
2860 | Add a sub item. | 2860 | <member name="P:HttpServer.HttpInputItem.Item(System.String)"> |
2861 | </summary> | 2861 | <summary> |
2862 | <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param> | 2862 | Get a sub item |
2863 | <param name="value">Value to add.</param> | 2863 | </summary> |
2864 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> | 2864 | <param name="name">name in lower case.</param> |
2865 | <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception> | 2865 | <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns> |
2866 | </member> | 2866 | </member> |
2867 | <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | 2867 | <member name="P:HttpServer.HttpInputItem.Name"> |
2868 | <summary> | 2868 | <summary> |
2869 | Returns an enumerator that iterates through the collection. | 2869 | Name of item (in lower case). |
2870 | </summary> | 2870 | </summary> |
2871 | 2871 | </member> | |
2872 | <returns> | 2872 | <member name="P:HttpServer.HttpInputItem.Value"> |
2873 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 2873 | <summary> |
2874 | </returns> | 2874 | Returns the first value, or null if no value exist. |
2875 | <filterpriority>1</filterpriority> | 2875 | </summary> |
2876 | </member> | 2876 | </member> |
2877 | <member name="M:HttpServer.HttpInputItem.GetEnumerator"> | 2877 | <member name="P:HttpServer.HttpInputItem.LastValue"> |
2878 | <summary> | 2878 | <summary> |
2879 | Returns an enumerator that iterates through a collection. | 2879 | Returns the last value, or null if no value exist. |
2880 | </summary> | 2880 | </summary> |
2881 | 2881 | </member> | |
2882 | <returns> | 2882 | <member name="P:HttpServer.HttpInputItem.Values"> |
2883 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | 2883 | <summary> |
2884 | </returns> | 2884 | Returns the list with values. |
2885 | <filterpriority>2</filterpriority> | 2885 | </summary> |
2886 | </member> | 2886 | </member> |
2887 | <member name="M:HttpServer.HttpInputItem.ToString(System.String)"> | 2887 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> |
2888 | <summary> | 2888 | <summary> |
2889 | Outputs the string in a formatted manner | 2889 | |
2890 | </summary> | 2890 | </summary> |
2891 | <param name="prefix">A prefix to append, used internally</param> | 2891 | <param name="name">name in lower case</param> |
2892 | <returns></returns> | 2892 | <returns></returns> |
2893 | </member> | 2893 | </member> |
2894 | <member name="P:HttpServer.HttpInputItem.Count"> | 2894 | <member name="T:HttpServer.Helpers.FormHelper"> |
2895 | <summary> | 2895 | <summary> |
2896 | Number of values | 2896 | Helpers making it easier to work with forms. |
2897 | </summary> | 2897 | </summary> |
2898 | </member> | 2898 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> |
2899 | <member name="P:HttpServer.HttpInputItem.Item(System.String)"> | 2899 | </member> |
2900 | <summary> | 2900 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> |
2901 | Get a sub item | 2901 | <summary> |
2902 | </summary> | 2902 | Used to let the website use different JavaScript libraries. |
2903 | <param name="name">name in lower case.</param> | 2903 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> |
2904 | <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns> | 2904 | </summary> |
2905 | </member> | 2905 | </member> |
2906 | <member name="P:HttpServer.HttpInputItem.Name"> | 2906 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> |
2907 | <summary> | 2907 | <summary> |
2908 | Name of item (in lower case). | 2908 | Create a <form> tag. |
2909 | </summary> | 2909 | </summary> |
2910 | </member> | 2910 | <param name="id">name of form</param> |
2911 | <member name="P:HttpServer.HttpInputItem.Value"> | 2911 | <param name="action">action to invoke on submit</param> |
2912 | <summary> | 2912 | <param name="isAjax">form should be posted as Ajax</param> |
2913 | Returns the first value, or null if no value exist. | 2913 | <returns>HTML code</returns> |
2914 | </summary> | 2914 | <example> |
2915 | </member> | 2915 | <code> |
2916 | <member name="P:HttpServer.HttpInputItem.LastValue"> | 2916 | // without options |
2917 | <summary> | 2917 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); |
2918 | Returns the last value, or null if no value exist. | 2918 | |
2919 | </summary> | 2919 | // with options |
2920 | </member> | 2920 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); |
2921 | <member name="P:HttpServer.HttpInputItem.Values"> | 2921 | </code> |
2922 | <summary> | 2922 | </example> |
2923 | Returns the list with values. | 2923 | <param name="options">HTML attributes or JavaScript options.</param> |
2924 | </summary> | 2924 | <remarks>Method will ALWAYS be POST.</remarks> |
2925 | </member> | 2925 | <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception> |
2926 | <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)"> | 2926 | </member> |
2927 | <summary> | 2927 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
2928 | 2928 | <summary> | |
2929 | </summary> | 2929 | Creates a select list with the values in a collection. |
2930 | <param name="name">name in lower case</param> | 2930 | </summary> |
2931 | <returns></returns> | 2931 | <param name="name">Name of the SELECT-tag</param> |
2932 | </member> | 2932 | <param name="collection">collection used to generate options.</param> |
2933 | <member name="T:HttpServer.HttpFile"> | 2933 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
2934 | <summary> | 2934 | <param name="selectedValue">value that should be marked as selected.</param> |
2935 | Container class for posted files | 2935 | <param name="firstEmpty">First row should contain an empty value.</param> |
2936 | </summary> | 2936 | <returns>string containing a SELECT-tag.</returns> |
2937 | </member> | 2937 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> |
2938 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"> | 2938 | </member> |
2939 | <summary> | 2939 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
2940 | Creates a container for a posted file | 2940 | <summary> |
2941 | </summary> | 2941 | Creates a select list with the values in a collection. |
2942 | <param name="name">The identifier of the post field</param> | 2942 | </summary> |
2943 | <param name="filename">The file path</param> | 2943 | <param name="name">Name of the SELECT-tag</param> |
2944 | <param name="contentType">The content type of the file</param> | 2944 | <param name="id">Id of the SELECT-tag</param> |
2945 | <param name="uploadFilename">The name of the file uploaded</param> | 2945 | <param name="collection">collection used to generate options.</param> |
2946 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> | 2946 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
2947 | </member> | 2947 | <param name="selectedValue">value that should be marked as selected.</param> |
2948 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)"> | 2948 | <param name="firstEmpty">First row should contain an empty value.</param> |
2949 | <summary> | 2949 | <returns>string containing a SELECT-tag.</returns> |
2950 | Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/> | 2950 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> |
2951 | </summary> | 2951 | <example> |
2952 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> | 2952 | <code> |
2953 | </member> | 2953 | // Class that is going to be used in a SELECT-tag. |
2954 | <member name="M:HttpServer.HttpFile.Finalize"> | 2954 | public class User |
2955 | <summary>Destructor disposing the file</summary> | 2955 | { |
2956 | </member> | 2956 | private readonly string _realName; |
2957 | <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)"> | 2957 | private readonly int _id; |
2958 | <summary> | 2958 | public User(int id, string realName) |
2959 | Deletes the temporary file | 2959 | { |
2960 | </summary> | 2960 | _id = id; |
2961 | <param name="disposing">True if manual dispose</param> | 2961 | _realName = realName; |
2962 | </member> | 2962 | } |
2963 | <member name="M:HttpServer.HttpFile.Dispose"> | 2963 | public string RealName |
2964 | <summary> | 2964 | { |
2965 | Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization | 2965 | get { return _realName; } |
2966 | </summary> | 2966 | } |
2967 | </member> | 2967 | |
2968 | <member name="P:HttpServer.HttpFile.Name"> | 2968 | public int Id |
2969 | <summary> | 2969 | { |
2970 | The name/id of the file | 2970 | get { return _id; } |
2971 | </summary> | 2971 | } |
2972 | </member> | 2972 | } |
2973 | <member name="P:HttpServer.HttpFile.Filename"> | 2973 | |
2974 | <summary> | 2974 | // Using an inline delegate to generate the select list |
2975 | The full file path | 2975 | public void UserInlineDelegate() |
2976 | </summary> | 2976 | { |
2977 | </member> | 2977 | List<User> items = new List<User>(); |
2978 | <member name="P:HttpServer.HttpFile.UploadFilename"> | 2978 | items.Add(new User(1, "adam")); |
2979 | <summary> | 2979 | items.Add(new User(2, "bertial")); |
2980 | The name of the uploaded file | 2980 | items.Add(new User(3, "david")); |
2981 | </summary> | 2981 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) |
2982 | </member> | 2982 | { |
2983 | <member name="P:HttpServer.HttpFile.ContentType"> | 2983 | User user = (User)o; |
2984 | <summary> | 2984 | id = user.Id; |
2985 | The type of file | 2985 | value = user.RealName; |
2986 | </summary> | 2986 | }, 2, true); |
2987 | </member> | 2987 | } |
2988 | <member name="T:HttpServer.Helpers.Implementations.PrototypeImp"> | 2988 | |
2989 | <summary> | 2989 | // Using an method as delegate to generate the select list. |
2990 | PrototypeJS implementation of the javascript functions. | 2990 | public void UseExternalDelegate() |
2991 | </summary> | 2991 | { |
2992 | </member> | 2992 | List<User> items = new List<User>(); |
2993 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])"> | 2993 | items.Add(new User(1, "adam")); |
2994 | <summary> | 2994 | items.Add(new User(2, "bertial")); |
2995 | Requests a url through ajax | 2995 | items.Add(new User(3, "david")); |
2996 | </summary> | 2996 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); |
2997 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 2997 | } |
2998 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> | 2998 | |
2999 | <returns>a link tag</returns> | 2999 | // delegate returning id and title |
3000 | <remarks>onclick attribute is used by this method.</remarks> | 3000 | public static void UserOptions(object o, out object id, out object title) |
3001 | <example> | 3001 | { |
3002 | <code> | 3002 | User user = (User)o; |
3003 | // plain text | 3003 | id = user.Id; |
3004 | JSHelper.AjaxRequest("'/user/show/1'"); | 3004 | value = user.RealName; |
3005 | 3005 | } | |
3006 | // ajax request using this.href | 3006 | </code> |
3007 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; | 3007 | </example> |
3008 | </code> | 3008 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> |
3009 | </example> | 3009 | </member> |
3010 | </member> | 3010 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])"> |
3011 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)"> | 3011 | <summary> |
3012 | <summary> | 3012 | Creates a select list with the values in a collection. |
3013 | Determins if a list of strings contains a specific value | 3013 | </summary> |
3014 | </summary> | 3014 | <param name="name">Name of the SELECT-tag</param> |
3015 | <param name="options">options to check in</param> | 3015 | <param name="id">Id of the SELECT-tag</param> |
3016 | <param name="value">value to find</param> | 3016 | <param name="collection">collection used to generate options.</param> |
3017 | <returns>true if value was found</returns> | 3017 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
3018 | <remarks>case insensitive</remarks> | 3018 | <param name="selectedValue">value that should be marked as selected.</param> |
3019 | </member> | 3019 | <param name="firstEmpty">First row should contain an empty value.</param> |
3020 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])"> | 3020 | <param name="htmlAttributes">name, value collection of extra HTML attributes.</param> |
3021 | <summary> | 3021 | <returns>string containing a SELECT-tag.</returns> |
3022 | Ajax requests that updates an element with | 3022 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> |
3023 | the fetched content | 3023 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> |
3024 | </summary> | 3024 | <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception> |
3025 | <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> | 3025 | </member> |
3026 | <param name="targetId">element to update</param> | 3026 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
3027 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> | 3027 | <summary> |
3028 | <returns>A link tag.</returns> | 3028 | Generate a list of HTML options |
3029 | <example> | 3029 | </summary> |
3030 | <code> | 3030 | <param name="collection">collection used to generate options.</param> |
3031 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); | 3031 | <param name="getIdTitle">delegate used to return id and title from objects.</param> |
3032 | </code> | 3032 | <param name="selectedValue">value that should be marked as selected.</param> |
3033 | </example> | 3033 | <param name="firstEmpty">First row should contain an empty value.</param> |
3034 | </member> | 3034 | <returns></returns> |
3035 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"> | 3035 | <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception> |
3036 | <summary> | 3036 | </member> |
3037 | A link that pop ups a Dialog (overlay div) | 3037 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
3038 | </summary> | 3038 | <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception> |
3039 | <param name="url">URL to contents of dialog</param> | 3039 | </member> |
3040 | <param name="title">link title</param> | 3040 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])"> |
3041 | <param name="htmlAttributes">name, value, name, value</param> | 3041 | <summary> |
3042 | <returns> | 3042 | Creates a check box. |
3043 | A "a"-tag that popups a dialog when clicked | 3043 | </summary> |
3044 | </returns> | 3044 | <param name="name">element name</param> |
3045 | <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para> | 3045 | <param name="value">element value</param> |
3046 | And the following JavaScript (load it in application.js): | 3046 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the |
3047 | <code> | 3047 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
3048 | Event.observe(window, 'load', | 3048 | the box is checked or not. </param> |
3049 | function() { | 3049 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
3050 | document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); | 3050 | <returns>a generated radio button</returns> |
3051 | } | 3051 | </member> |
3052 | ); | 3052 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])"> |
3053 | </code> | 3053 | <summary> |
3054 | </remarks> | 3054 | Creates a check box. |
3055 | <example> | 3055 | </summary> |
3056 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); | 3056 | <param name="name">element name</param> |
3057 | </example> | 3057 | <param name="id">element id</param> |
3058 | </member> | 3058 | <param name="value">element value</param> |
3059 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])"> | 3059 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the |
3060 | <summary> | 3060 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
3061 | create a modal dialog (usually using DIVs) | 3061 | the box is checked or not. </param> |
3062 | </summary> | 3062 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
3063 | <param name="url">url to fetch</param> | 3063 | <returns>a generated radio button</returns> |
3064 | <param name="title">dialog title</param> | 3064 | <remarks> |
3065 | <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param> | 3065 | value in your business object. (check box will be selected if it matches the element value) |
3066 | <returns></returns> | 3066 | </remarks> |
3067 | </member> | 3067 | </member> |
3068 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog"> | 3068 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])"> |
3069 | <summary> | 3069 | <summary> |
3070 | Close a javascript dialog window/div. | 3070 | Creates a check box. |
3071 | </summary> | 3071 | </summary> |
3072 | <returns>javascript for closing a dialog.</returns> | 3072 | <param name="name">element name</param> |
3073 | <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/> | 3073 | <param name="id">element id</param> |
3074 | </member> | 3074 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the |
3075 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])"> | 3075 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
3076 | <summary> | 3076 | the box is checked or not. </param> |
3077 | javascript action that should be added to the "onsubmit" event in the form tag. | 3077 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
3078 | </summary> | 3078 | <returns>a generated radio button</returns> |
3079 | <param name="options">remember to encapsulate strings in ''</param> | 3079 | <remarks>will set value to "1".</remarks> |
3080 | <returns></returns> | 3080 | </member> |
3081 | <remarks>All javascript option names should end with colon.</remarks> | 3081 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> |
3082 | <example> | 3082 | <summary> |
3083 | <code> | 3083 | Creates a RadioButton. |
3084 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); | 3084 | </summary> |
3085 | </code> | 3085 | <param name="name">element name</param> |
3086 | </example> | 3086 | <param name="value">element value</param> |
3087 | </member> | 3087 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the |
3088 | <member name="T:HttpServer.Exceptions.UnauthorizedException"> | 3088 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if |
3089 | <summary> | 3089 | the box is checked or not. </param> |
3090 | The request requires user authentication. The response MUST include a | 3090 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
3091 | WWW-Authenticate header field (section 14.47) containing a challenge | 3091 | <returns>a generated radio button</returns> |
3092 | applicable to the requested resource. | 3092 | </member> |
3093 | 3093 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> | |
3094 | The client MAY repeat the request with a suitable Authorization header | 3094 | <summary> |
3095 | field (section 14.8). If the request already included Authorization | 3095 | Creates a RadioButton. |
3096 | credentials, then the 401 response indicates that authorization has been | 3096 | </summary> |
3097 | refused for those credentials. If the 401 response contains the same challenge | 3097 | <param name="name">element name</param> |
3098 | as the prior response, and the user agent has already attempted authentication | 3098 | <param name="id">element id</param> |
3099 | at least once, then the user SHOULD be presented the entity that was given in the response, | 3099 | <param name="value">element value</param> |
3100 | since that entity might include relevant diagnostic information. | 3100 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the |
3101 | 3101 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | |
3102 | HTTP access authentication is explained in rfc2617: | 3102 | the box is checked or not. </param> |
3103 | http://www.ietf.org/rfc/rfc2617.txt | 3103 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> |
3104 | 3104 | <returns>a generated radio button</returns> | |
3105 | (description is taken from | 3105 | </member> |
3106 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) | 3106 | <member name="M:HttpServer.Helpers.FormHelper.End"> |
3107 | </summary> | 3107 | <summary> |
3108 | </member> | 3108 | form close tag |
3109 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor"> | 3109 | </summary> |
3110 | <summary> | 3110 | <returns></returns> |
3111 | Create a new unauhtorized exception. | 3111 | </member> |
3112 | </summary> | 3112 | <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)"> |
3113 | <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/> | 3113 | <summary> |
3114 | </member> | 3114 | Add a component instance |
3115 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)"> | 3115 | </summary> |
3116 | <summary> | 3116 | <typeparam name="T">Interface type</typeparam> |
3117 | Create a new unauhtorized exception. | 3117 | <param name="instance">Instance to add</param> |
3118 | </summary> | 3118 | </member> |
3119 | <param name="message">reason to why the request was unauthorized.</param> | 3119 | <member name="M:HttpServer.ComponentProvider.Get``1"> |
3120 | <param name="inner">inner exception</param> | 3120 | <summary> |
3121 | </member> | 3121 | Get a component. |
3122 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)"> | 3122 | </summary> |
3123 | <summary> | 3123 | <typeparam name="T">Interface type</typeparam> |
3124 | Create a new unauhtorized exception. | 3124 | <returns>Component if registered, otherwise null.</returns> |
3125 | </summary> | 3125 | <remarks> |
3126 | <param name="message">reason to why the request was unauthorized.</param> | 3126 | Component will get created if needed. |
3127 | </member> | 3127 | </remarks> |
3128 | <member name="T:HttpServer.Exceptions.ForbiddenException"> | 3128 | </member> |
3129 | <summary> | 3129 | <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)"> |
3130 | The server understood the request, but is refusing to fulfill it. | 3130 | <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception> |
3131 | Authorization will not help and the request SHOULD NOT be repeated. | 3131 | </member> |
3132 | If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, | 3132 | <member name="M:HttpServer.ComponentProvider.Contains(System.Type)"> |
3133 | it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information | 3133 | <summary> |
3134 | available to the client, the status code 404 (Not Found) can be used instead. | 3134 | Checks if the specified component interface have been added. |
3135 | 3135 | </summary> | |
3136 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php | 3136 | <param name="interfaceType"></param> |
3137 | </summary> | 3137 | <returns>true if found; otherwise false.</returns> |
3138 | </member> | 3138 | </member> |
3139 | <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)"> | 3139 | <member name="M:HttpServer.ComponentProvider.Add``2"> |
3140 | <summary> | 3140 | <summary> |
3141 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class. | 3141 | Add a component. |
3142 | </summary> | 3142 | </summary> |
3143 | <param name="errorMsg">error message</param> | 3143 | <typeparam name="InterfaceType">Type being requested.</typeparam> |
3144 | </member> | 3144 | <typeparam name="InstanceType">Type being created.</typeparam> |
3145 | <member name="T:HttpServer.Authentication.BasicAuthentication"> | 3145 | <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception> |
3146 | <summary> | 3146 | </member> |
3147 | The "basic" authentication scheme is based on the model that the | 3147 | <member name="T:HttpServer.Parser.BodyEventArgs"> |
3148 | client must authenticate itself with a user-ID and a password for | 3148 | <summary> |
3149 | each realm. The realm value should be considered an opaque string | 3149 | Arguments used when more body bytes have come. |
3150 | which can only be compared for equality with other realms on that | 3150 | </summary> |
3151 | server. The server will service the request only if it can validate | 3151 | </member> |
3152 | the user-ID and password for the protection space of the Request-URI. | 3152 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)"> |
3153 | There are no optional authentication parameters. | 3153 | <summary> |
3154 | </summary> | 3154 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
3155 | </member> | 3155 | </summary> |
3156 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> | 3156 | <param name="buffer">buffer that contains the received bytes.</param> |
3157 | <summary> | 3157 | <param name="offset">offset in buffer where to start processing.</param> |
3158 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 3158 | <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param> |
3159 | </summary> | 3159 | </member> |
3160 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 3160 | <member name="M:HttpServer.Parser.BodyEventArgs.#ctor"> |
3161 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> | 3161 | <summary> |
3162 | </member> | 3162 | Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class. |
3163 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> | 3163 | </summary> |
3164 | <summary> | 3164 | </member> |
3165 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. | 3165 | <member name="P:HttpServer.Parser.BodyEventArgs.Buffer"> |
3166 | </summary> | 3166 | <summary> |
3167 | <param name="authenticator">Delegate used to provide information used during authentication.</param> | 3167 | Gets or sets buffer that contains the received bytes. |
3168 | </member> | 3168 | </summary> |
3169 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> | 3169 | </member> |
3170 | <summary> | 3170 | <member name="P:HttpServer.Parser.BodyEventArgs.Count"> |
3171 | Create a response that can be sent in the WWW-Authenticate header. | 3171 | <summary> |
3172 | </summary> | 3172 | Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed. |
3173 | <param name="realm">Realm that the user should authenticate in</param> | 3173 | </summary> |
3174 | <param name="options">Not used in basic auth</param> | 3174 | </member> |
3175 | <returns>A correct auth request.</returns> | 3175 | <member name="P:HttpServer.Parser.BodyEventArgs.Offset"> |
3176 | </member> | 3176 | <summary> |
3177 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> | 3177 | Gets or sets offset in buffer where to start processing. |
3178 | <summary> | 3178 | </summary> |
3179 | An authentication response have been received from the web browser. | 3179 | </member> |
3180 | Check if it's correct | 3180 | <member name="T:HttpServer.HttpContextFactory"> |
3181 | </summary> | 3181 | <summary> |
3182 | <param name="authenticationHeader">Contents from the Authorization header</param> | 3182 | Used to create and reuse contexts. |
3183 | <param name="realm">Realm that should be authenticated</param> | 3183 | </summary> |
3184 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> | 3184 | </member> |
3185 | <param name="options">Not used in basic auth</param> | 3185 | <member name="T:HttpServer.IHttpContextFactory"> |
3186 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> | 3186 | <summary> |
3187 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> | 3187 | Used to create <see cref="T:HttpServer.IHttpClientContext"/>es. |
3188 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> | 3188 | </summary> |
3189 | </member> | 3189 | </member> |
3190 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> | 3190 | <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
3191 | <summary> | 3191 | <summary> |
3192 | name used in http request. | 3192 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
3193 | </summary> | 3193 | </summary> |
3194 | </member> | 3194 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
3195 | <member name="T:HttpServer.Sessions.IHttpSessionStore"> | 3195 | <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns> |
3196 | <summary> | 3196 | </member> |
3197 | A session store is used to store and load sessions on a media. | 3197 | <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
3198 | The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory. | 3198 | <summary> |
3199 | </summary> | 3199 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
3200 | </member> | 3200 | </summary> |
3201 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create"> | 3201 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
3202 | <summary> | 3202 | <param name="certificate">HTTPS certificate to use.</param> |
3203 | Creates a new http session with a generated id. | 3203 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> |
3204 | </summary> | 3204 | <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns> |
3205 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns> | 3205 | </member> |
3206 | </member> | 3206 | <member name="E:HttpServer.IHttpContextFactory.RequestReceived"> |
3207 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)"> | 3207 | <summary> |
3208 | <summary> | 3208 | A request have been received from one of the contexts. |
3209 | Creates a new http session with a specific id | 3209 | </summary> |
3210 | </summary> | 3210 | </member> |
3211 | <param name="id">Id used to identify the new cookie..</param> | 3211 | <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)"> |
3212 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | 3212 | <summary> |
3213 | <remarks> | 3213 | Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class. |
3214 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. | 3214 | </summary> |
3215 | </remarks> | 3215 | <param name="writer">The writer.</param> |
3216 | </member> | 3216 | <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param> |
3217 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)"> | 3217 | <param name="factory">Used to create a request parser.</param> |
3218 | <summary> | 3218 | </member> |
3219 | Load an existing session. | 3219 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
3220 | </summary> | 3220 | <summary> |
3221 | <param name="sessionId">Session id (usually retrieved from a client side cookie).</param> | 3221 | Create a new context. |
3222 | <returns>A session if found; otherwise null.</returns> | 3222 | </summary> |
3223 | </member> | 3223 | <param name="isSecured">true if socket is running HTTPS.</param> |
3224 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)"> | 3224 | <param name="endPoint">Client that connected</param> |
3225 | <summary> | 3225 | <param name="stream">Network/SSL stream.</param> |
3226 | Save an updated session to the store. | 3226 | <returns>A context.</returns> |
3227 | </summary> | 3227 | </member> |
3228 | <param name="session">Session id (usually retrieved from a client side cookie).</param> | 3228 | <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> |
3229 | <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception> | 3229 | <summary> |
3230 | </member> | 3230 | Create a new context. |
3231 | <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> | 3231 | </summary> |
3232 | <summary> | 3232 | <param name="isSecured">true if HTTPS is used.</param> |
3233 | We use the flyweight pattern which reuses small objects | 3233 | <param name="endPoint">Remote client</param> |
3234 | instead of creating new each time. | 3234 | <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param> |
3235 | </summary> | 3235 | <returns>A new context (always).</returns> |
3236 | <param name="session">Unused session that should be reused next time Create is called.</param> | 3236 | </member> |
3237 | </member> | 3237 | <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
3238 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup"> | 3238 | <summary> |
3239 | <summary> | 3239 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. |
3240 | Remove expired sessions | 3240 | </summary> |
3241 | </summary> | 3241 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
3242 | </member> | 3242 | <param name="certificate">HTTPS certificate to use.</param> |
3243 | <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)"> | 3243 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> |
3244 | <summary> | 3244 | <returns> |
3245 | Remove a session | 3245 | A created <see cref="T:HttpServer.IHttpClientContext"/>. |
3246 | </summary> | 3246 | </returns> |
3247 | <param name="sessionId">id of the session.</param> | 3247 | </member> |
3248 | </member> | 3248 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> |
3249 | <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)"> | 3249 | <summary> |
3250 | <summary> | 3250 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. |
3251 | Load a session from the store | 3251 | </summary> |
3252 | </summary> | 3252 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> |
3253 | <param name="sessionId"></param> | 3253 | <returns> |
3254 | <returns>null if session is not found.</returns> | 3254 | A creates <see cref="T:HttpServer.IHttpClientContext"/>. |
3255 | </member> | 3255 | </returns> |
3256 | <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime"> | 3256 | </member> |
3257 | <summary> | 3257 | <member name="P:HttpServer.HttpContextFactory.UseTraceLogs"> |
3258 | Number of minutes before a session expires. | 3258 | <summary> |
3259 | </summary> | 3259 | True if detailed trace logs should be written. |
3260 | <value>Default time is 20 minutes.</value> | 3260 | </summary> |
3261 | </member> | 3261 | </member> |
3262 | <member name="T:HttpServer.RequestCookies"> | 3262 | <member name="E:HttpServer.HttpContextFactory.RequestReceived"> |
3263 | <summary> | 3263 | <summary> |
3264 | This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). | 3264 | A request have been received from one of the contexts. |
3265 | The framework might switch class in the future and we dont want to have to replace all instances | 3265 | </summary> |
3266 | </summary> | 3266 | </member> |
3267 | </member> | 3267 | <member name="T:HttpServer.ReusableSocketNetworkStream"> |
3268 | <member name="M:HttpServer.RequestCookies.#ctor(System.String)"> | 3268 | <summary> |
3269 | <summary> | 3269 | Custom network stream to mark sockets as reusable when disposing the stream. |
3270 | Let's copy all the cookies. | 3270 | </summary> |
3271 | </summary> | 3271 | </member> |
3272 | <param name="cookies">value from cookie header.</param> | 3272 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)"> |
3273 | </member> | 3273 | <summary> |
3274 | <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)"> | 3274 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />. |
3275 | <summary> | 3275 | </summary> |
3276 | Adds a cookie in the collection. | 3276 | <param name="socket"> |
3277 | </summary> | 3277 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
3278 | <param name="cookie">cookie to add</param> | 3278 | </param> |
3279 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> | 3279 | <exception cref="T:System.ArgumentNullException"> |
3280 | </member> | 3280 | The <paramref name="socket" /> parameter is null. |
3281 | <member name="M:HttpServer.RequestCookies.GetEnumerator"> | 3281 | </exception> |
3282 | <summary> | 3282 | <exception cref="T:System.IO.IOException"> |
3283 | Gets a collection enumerator on the cookie list. | 3283 | The <paramref name="socket" /> parameter is not connected. |
3284 | </summary> | 3284 | -or- |
3285 | <returns>collection enumerator</returns> | 3285 | 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" />. |
3286 | </member> | 3286 | -or- |
3287 | <member name="M:HttpServer.RequestCookies.Clear"> | 3287 | The <paramref name="socket" /> parameter is in a nonblocking state. |
3288 | <summary> | 3288 | </exception> |
3289 | Remove all cookies. | 3289 | </member> |
3290 | </summary> | 3290 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)"> |
3291 | </member> | 3291 | <summary> |
3292 | <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator"> | 3292 | 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. |
3293 | <summary> | 3293 | </summary> |
3294 | Returns an enumerator that iterates through the collection. | 3294 | <param name="socket"> |
3295 | </summary> | 3295 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
3296 | 3296 | </param> | |
3297 | <returns> | 3297 | <param name="ownsSocket"> |
3298 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 3298 | 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. |
3299 | </returns> | 3299 | </param> |
3300 | <filterpriority>1</filterpriority> | 3300 | <exception cref="T:System.ArgumentNullException"> |
3301 | </member> | 3301 | The <paramref name="socket" /> parameter is null. |
3302 | <member name="M:HttpServer.RequestCookies.Remove(System.String)"> | 3302 | </exception> |
3303 | <summary> | 3303 | <exception cref="T:System.IO.IOException"> |
3304 | Remove a cookie from the collection. | 3304 | The <paramref name="socket" /> parameter is not connected. |
3305 | </summary> | 3305 | -or- |
3306 | <param name="cookieName">Name of cookie.</param> | 3306 | 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" />. |
3307 | </member> | 3307 | -or- |
3308 | <member name="P:HttpServer.RequestCookies.Count"> | 3308 | the <paramref name="socket" /> parameter is in a nonblocking state. |
3309 | <summary> | 3309 | </exception> |
3310 | Gets the count of cookies in the collection. | 3310 | </member> |
3311 | </summary> | 3311 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)"> |
3312 | </member> | 3312 | <summary> |
3313 | <member name="P:HttpServer.RequestCookies.Item(System.String)"> | 3313 | 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. |
3314 | <summary> | 3314 | </summary> |
3315 | Gets the cookie of a given identifier (null if not existing). | 3315 | <param name="socket"> |
3316 | </summary> | 3316 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
3317 | </member> | 3317 | </param> |
3318 | <member name="T:HttpServer.IComponentProvider"> | 3318 | <param name="access"> |
3319 | <summary> | 3319 | 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" />. |
3320 | Inversion of control interface. | 3320 | </param> |
3321 | </summary> | 3321 | <exception cref="T:System.ArgumentNullException"> |
3322 | </member> | 3322 | The <paramref name="socket" /> parameter is null. |
3323 | <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)"> | 3323 | </exception> |
3324 | <summary> | 3324 | <exception cref="T:System.IO.IOException"> |
3325 | Add a component instance | 3325 | The <paramref name="socket" /> parameter is not connected. |
3326 | </summary> | 3326 | -or- |
3327 | <typeparam name="T">Interface type</typeparam> | 3327 | 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" />. |
3328 | <param name="instance">Instance to add</param> | 3328 | -or- |
3329 | </member> | 3329 | the <paramref name="socket" /> parameter is in a nonblocking state. |
3330 | <member name="M:HttpServer.IComponentProvider.Get``1"> | 3330 | </exception> |
3331 | <summary> | 3331 | </member> |
3332 | Get a component. | 3332 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)"> |
3333 | </summary> | 3333 | <summary> |
3334 | <typeparam name="T">Interface type</typeparam> | 3334 | 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. |
3335 | <returns>Component if registered, otherwise null.</returns> | 3335 | </summary> |
3336 | <remarks> | 3336 | <param name="socket"> |
3337 | Component will get created if needed. | 3337 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. |
3338 | </remarks> | 3338 | </param> |
3339 | </member> | 3339 | <param name="access"> |
3340 | <member name="M:HttpServer.IComponentProvider.Contains(System.Type)"> | 3340 | 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" />. |
3341 | <summary> | 3341 | </param> |
3342 | Checks if the specified component interface have been added. | 3342 | <param name="ownsSocket"> |
3343 | </summary> | 3343 | 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. |
3344 | <param name="interfaceType"></param> | 3344 | </param> |
3345 | <returns>true if found; otherwise false.</returns> | 3345 | <exception cref="T:System.ArgumentNullException"> |
3346 | </member> | 3346 | The <paramref name="socket" /> parameter is null. |
3347 | <member name="M:HttpServer.IComponentProvider.Add``2"> | 3347 | </exception> |
3348 | <summary> | 3348 | <exception cref="T:System.IO.IOException"> |
3349 | Add a component. | 3349 | The <paramref name="socket" /> parameter is not connected. |
3350 | </summary> | 3350 | -or- |
3351 | <typeparam name="InterfaceType">Type being requested.</typeparam> | 3351 | 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" />. |
3352 | <typeparam name="InstanceType">Type being created.</typeparam> | 3352 | -or- |
3353 | </member> | 3353 | The <paramref name="socket" /> parameter is in a nonblocking state. |
3354 | <member name="T:HttpServer.HttpRequest"> | 3354 | </exception> |
3355 | <summary> | 3355 | </member> |
3356 | Contains server side HTTP request information. | 3356 | <member name="M:HttpServer.ReusableSocketNetworkStream.Close"> |
3357 | </summary> | 3357 | <summary> |
3358 | </member> | 3358 | Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. |
3359 | <member name="F:HttpServer.HttpRequest.UriSplitters"> | 3359 | </summary> |
3360 | <summary> | 3360 | </member> |
3361 | Chars used to split an URL path into multiple parts. | 3361 | <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)"> |
3362 | </summary> | 3362 | <summary> |
3363 | </member> | 3363 | Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources. |
3364 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> | 3364 | </summary> |
3365 | <summary> | 3365 | <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> |
3366 | Assign a form. | 3366 | </member> |
3367 | </summary> | 3367 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> |
3368 | <param name="form"></param> | 3368 | <summary> |
3369 | </member> | 3369 | Serves files that are stored in embedded resources. |
3370 | <member name="M:HttpServer.HttpRequest.Clone"> | 3370 | </summary> |
3371 | <summary> | 3371 | </member> |
3372 | Creates a new object that is a copy of the current instance. | 3372 | <member name="T:HttpServer.HttpModules.HttpModule"> |
3373 | </summary> | 3373 | <summary> |
3374 | 3374 | A HttpModule can be used to serve Uri's. The module itself | |
3375 | <returns> | 3375 | decides if it should serve a Uri or not. In this way, you can |
3376 | A new object that is a copy of this instance. | 3376 | get a very flexible http application since you can let multiple modules |
3377 | </returns> | 3377 | serve almost similar urls. |
3378 | <filterpriority>2</filterpriority> | 3378 | </summary> |
3379 | </member> | 3379 | <remarks> |
3380 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> | 3380 | 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. |
3381 | <summary> | 3381 | </remarks> |
3382 | Decode body into a form. | 3382 | </member> |
3383 | </summary> | 3383 | <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
3384 | <param name="providers">A list with form decoders.</param> | 3384 | <summary> |
3385 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> | 3385 | Method that process the url |
3386 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> | 3386 | </summary> |
3387 | </member> | 3387 | <param name="request">Information sent by the browser about the request</param> |
3388 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> | 3388 | <param name="response">Information that is being sent back to the client.</param> |
3389 | <summary> | 3389 | <param name="session">Session used to </param> |
3390 | Cookies | 3390 | <returns>true if this module handled the request.</returns> |
3391 | </summary> | 3391 | </member> |
3392 | <param name="cookies">the cookies</param> | 3392 | <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)"> |
3393 | </member> | 3393 | <summary> |
3394 | <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> | 3394 | Set the log writer to use. |
3395 | <summary> | 3395 | </summary> |
3396 | Create a response object. | 3396 | <param name="writer">logwriter to use.</param> |
3397 | </summary> | 3397 | </member> |
3398 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> | 3398 | <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)"> |
3399 | </member> | 3399 | <summary> |
3400 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> | 3400 | Log something. |
3401 | <summary> | 3401 | </summary> |
3402 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. | 3402 | <param name="prio">importance of log message</param> |
3403 | </summary> | 3403 | <param name="message">message</param> |
3404 | <param name="name">Name of the header, should not be URL encoded</param> | 3404 | </member> |
3405 | <param name="value">Value of the header, should not be URL encoded</param> | 3405 | <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing"> |
3406 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> | 3406 | <summary> |
3407 | </member> | 3407 | If true specifies that the module doesn't consume the processing of a request so that subsequent modules |
3408 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> | 3408 | can continue processing afterwards. Default is false. |
3409 | <summary> | 3409 | </summary> |
3410 | Add bytes to the body | 3410 | </member> |
3411 | </summary> | 3411 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> |
3412 | <param name="bytes">buffer to read bytes from</param> | 3412 | <summary> |
3413 | <param name="offset">where to start read</param> | 3413 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
3414 | <param name="length">number of bytes to read</param> | 3414 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later |
3415 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | 3415 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. |
3416 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> | 3416 | </summary> |
3417 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> | 3417 | </member> |
3418 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> | 3418 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)"> |
3419 | </member> | 3419 | <summary> |
3420 | <member name="M:HttpServer.HttpRequest.Clear"> | 3420 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. |
3421 | <summary> | 3421 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later |
3422 | Clear everything in the request | 3422 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. |
3423 | </summary> | 3423 | </summary> |
3424 | </member> | 3424 | <param name="logWriter">The log writer to use when logging events</param> |
3425 | <member name="P:HttpServer.HttpRequest.Secure"> | 3425 | </member> |
3426 | <summary> | 3426 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> |
3427 | Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure. | 3427 | <summary> |
3428 | </summary> | 3428 | Mimtypes that this class can handle per default |
3429 | </member> | 3429 | </summary> |
3430 | <member name="P:HttpServer.HttpRequest.UriPath"> | 3430 | </member> |
3431 | <summary> | 3431 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> |
3432 | Path and query (will be merged with the host header) and put in Uri | 3432 | <summary> |
3433 | </summary> | 3433 | Loads resources from a namespace in the given assembly to an uri |
3434 | <see cref="P:HttpServer.HttpRequest.Uri"/> | 3434 | </summary> |
3435 | </member> | 3435 | <param name="toUri">The uri to map the resources to</param> |
3436 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> | 3436 | <param name="fromAssembly">The assembly in which the resources reside</param> |
3437 | <summary> | 3437 | <param name="fromNamespace">The namespace from which to load the resources</param> |
3438 | Gets whether the body is complete. | 3438 | <usage> |
3439 | </summary> | 3439 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); |
3440 | </member> | 3440 | |
3441 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> | 3441 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css |
3442 | <summary> | 3442 | </usage> |
3443 | Gets kind of types accepted by the client. | 3443 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> |
3444 | </summary> | 3444 | </member> |
3445 | </member> | 3445 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> |
3446 | <member name="P:HttpServer.HttpRequest.Body"> | 3446 | <summary> |
3447 | <summary> | 3447 | Returns true if the module can handle the request |
3448 | Gets or sets body stream. | 3448 | </summary> |
3449 | </summary> | 3449 | </member> |
3450 | </member> | 3450 | <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
3451 | <member name="P:HttpServer.HttpRequest.Connection"> | 3451 | <summary> |
3452 | <summary> | 3452 | Method that process the url |
3453 | Gets or sets kind of connection used for the session. | 3453 | </summary> |
3454 | </summary> | 3454 | <param name="request">Information sent by the browser about the request</param> |
3455 | </member> | 3455 | <param name="response">Information that is being sent back to the client.</param> |
3456 | <member name="P:HttpServer.HttpRequest.ContentLength"> | 3456 | <param name="session">Session used to </param> |
3457 | <summary> | 3457 | <returns>true if this module handled the request.</returns> |
3458 | Gets or sets number of bytes in the body. | 3458 | </member> |
3459 | </summary> | 3459 | <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"> |
3460 | </member> | 3460 | <summary> |
3461 | <member name="P:HttpServer.HttpRequest.Headers"> | 3461 | List with all mime-type that are allowed. |
3462 | <summary> | 3462 | </summary> |
3463 | Gets headers sent by the client. | 3463 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> |
3464 | </summary> | 3464 | </member> |
3465 | </member> | 3465 | <member name="T:HttpServer.HttpModules.FileModule"> |
3466 | <member name="P:HttpServer.HttpRequest.HttpVersion"> | 3466 | <summary> |
3467 | <summary> | 3467 | The purpose of this module is to serve files. |
3468 | Gets or sets version of HTTP protocol that's used. | 3468 | </summary> |
3469 | </summary> | 3469 | </member> |
3470 | <remarks> | 3470 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)"> |
3471 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. | 3471 | <summary> |
3472 | </remarks> | 3472 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. |
3473 | <seealso cref="T:HttpServer.HttpHelper"/> | 3473 | </summary> |
3474 | </member> | 3474 | <param name="baseUri">Uri to serve, for instance "/files/"</param> |
3475 | <member name="P:HttpServer.HttpRequest.Method"> | 3475 | <param name="basePath">Path on hard drive where we should start looking for files</param> |
3476 | <summary> | 3476 | <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param> |
3477 | Gets or sets requested method. | 3477 | </member> |
3478 | </summary> | 3478 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)"> |
3479 | <value></value> | 3479 | <summary> |
3480 | <remarks> | 3480 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. |
3481 | Will always be in upper case. | 3481 | </summary> |
3482 | </remarks> | 3482 | <param name="baseUri">Uri to serve, for instance "/files/"</param> |
3483 | <see cref="!:HttpServer.Method"/> | 3483 | <param name="basePath">Path on hard drive where we should start looking for files</param> |
3484 | </member> | 3484 | </member> |
3485 | <member name="P:HttpServer.HttpRequest.QueryString"> | 3485 | <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes"> |
3486 | <summary> | 3486 | <summary> |
3487 | Gets variables sent in the query string | 3487 | Mimtypes that this class can handle per default |
3488 | </summary> | 3488 | </summary> |
3489 | </member> | 3489 | </member> |
3490 | <member name="P:HttpServer.HttpRequest.Uri"> | 3490 | <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)"> |
3491 | <summary> | 3491 | <summary> |
3492 | Gets or sets requested URI. | 3492 | Determines if the request should be handled by this module. |
3493 | </summary> | 3493 | Invoked by the <see cref="T:HttpServer.HttpServer"/> |
3494 | </member> | 3494 | </summary> |
3495 | <member name="P:HttpServer.HttpRequest.UriParts"> | 3495 | <param name="uri"></param> |
3496 | <summary> | 3496 | <returns>true if this module should handle it.</returns> |
3497 | Uri absolute path splitted into parts. | 3497 | </member> |
3498 | </summary> | 3498 | <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)"> |
3499 | <example> | 3499 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception> |
3500 | // uri is: http://gauffin.com/code/tiny/ | 3500 | </member> |
3501 | Console.WriteLine(request.UriParts[0]); // result: code | 3501 | <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})"> |
3502 | Console.WriteLine(request.UriParts[1]); // result: tiny | 3502 | <summary> |
3503 | </example> | 3503 | check if source contains any of the chars. |
3504 | <remarks> | 3504 | </summary> |
3505 | If you're using controllers than the first part is controller name, | 3505 | <param name="source"></param> |
3506 | the second part is method name and the third part is Id property. | 3506 | <param name="chars"></param> |
3507 | </remarks> | 3507 | <returns></returns> |
3508 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> | 3508 | </member> |
3509 | </member> | 3509 | <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
3510 | <member name="P:HttpServer.HttpRequest.Param"> | 3510 | <summary> |
3511 | <summary> | 3511 | Method that process the Uri. |
3512 | Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>. | 3512 | </summary> |
3513 | </summary> | 3513 | <param name="request">Information sent by the browser about the request</param> |
3514 | </member> | 3514 | <param name="response">Information that is being sent back to the client.</param> |
3515 | <member name="P:HttpServer.HttpRequest.Form"> | 3515 | <param name="session">Session used to </param> |
3516 | <summary> | 3516 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception> |
3517 | Gets form parameters. | 3517 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception> |
3518 | </summary> | 3518 | </member> |
3519 | </member> | 3519 | <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)"> |
3520 | <member name="P:HttpServer.HttpRequest.IsAjax"> | 3520 | <summary> |
3521 | <summary> | 3521 | return a file extension from an absolute Uri path (or plain filename) |
3522 | Gets whether the request was made by Ajax (Asynchronous JavaScript) | 3522 | </summary> |
3523 | </summary> | 3523 | <param name="uri"></param> |
3524 | </member> | 3524 | <returns></returns> |
3525 | <member name="P:HttpServer.HttpRequest.Cookies"> | 3525 | </member> |
3526 | <summary> | 3526 | <member name="P:HttpServer.HttpModules.FileModule.MimeTypes"> |
3527 | Gets cookies that was sent with the request. | 3527 | <summary> |
3528 | </summary> | 3528 | List with all mime-type that are allowed. |
3529 | </member> | 3529 | </summary> |
3530 | <member name="T:HttpServer.Helpers.ObjectForm"> | 3530 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> |
3531 | <summary> | 3531 | </member> |
3532 | The object form class takes an object and creates form items for it. | 3532 | <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars"> |
3533 | </summary> | 3533 | <summary> |
3534 | </member> | 3534 | characters that may not exist in a path. |
3535 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)"> | 3535 | </summary> |
3536 | <summary> | 3536 | <example> |
3537 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 3537 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; |
3538 | </summary> | 3538 | </example> |
3539 | <param name="method"></param> | 3539 | </member> |
3540 | <param name="name">form name *and* id.</param> | 3540 | <member name="T:HttpServer.Exceptions.InternalServerException"> |
3541 | <param name="action">action to do when form is posted.</param> | 3541 | <summary> |
3542 | <param name="obj"></param> | 3542 | The server encountered an unexpected condition which prevented it from fulfilling the request. |
3543 | </member> | 3543 | </summary> |
3544 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)"> | 3544 | </member> |
3545 | <summary> | 3545 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor"> |
3546 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 3546 | <summary> |
3547 | </summary> | 3547 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
3548 | <param name="name">form name *and* id.</param> | 3548 | </summary> |
3549 | <param name="action">action to do when form is posted.</param> | 3549 | </member> |
3550 | <param name="obj">object to get values from</param> | 3550 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)"> |
3551 | </member> | 3551 | <summary> |
3552 | <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)"> | 3552 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
3553 | <summary> | 3553 | </summary> |
3554 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class. | 3554 | <param name="message">error message.</param> |
3555 | </summary> | 3555 | </member> |
3556 | <param name="action">form action.</param> | 3556 | <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)"> |
3557 | <param name="obj">object to get values from.</param> | 3557 | <summary> |
3558 | </member> | 3558 | Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class. |
3559 | <member name="M:HttpServer.Helpers.ObjectForm.Begin"> | 3559 | </summary> |
3560 | <summary> | 3560 | <param name="message">error message.</param> |
3561 | write out the FORM-tag. | 3561 | <param name="inner">inner exception.</param> |
3562 | </summary> | 3562 | </member> |
3563 | <returns>generated html code</returns> | 3563 | <member name="T:HttpServer.Rules.RegexRedirectRule"> |
3564 | </member> | 3564 | <summary> |
3565 | <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)"> | 3565 | Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules |
3566 | <summary> | 3566 | a regular expression can be used to identify redirect URLs and their targets. |
3567 | Writeout the form tag | 3567 | </summary> |
3568 | </summary> | 3568 | <example> |
3569 | <param name="isAjax">form should be posted through ajax.</param> | 3569 | <![CDATA[ |
3570 | <returns>generated html code</returns> | 3570 | new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) |
3571 | </member> | 3571 | ]]> |
3572 | <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])"> | 3572 | </example> |
3573 | <summary> | 3573 | </member> |
3574 | Generates a text box. | 3574 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)"> |
3575 | </summary> | 3575 | <summary> |
3576 | <param name="propertyName"></param> | 3576 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
3577 | <param name="options"></param> | 3577 | </summary> |
3578 | <returns>generated html code</returns> | 3578 | <param name="fromUrlExpression">Expression to match URL</param> |
3579 | </member> | 3579 | <param name="toUrlExpression">Expression to generate URL</param> |
3580 | <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])"> | 3580 | <example> |
3581 | <summary> | 3581 | <![CDATA[ |
3582 | password box | 3582 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}")); |
3583 | </summary> | 3583 | Result of ie. /employee1 will then be /user/employee1 |
3584 | <param name="propertyName"></param> | 3584 | ]]> |
3585 | <param name="options"></param> | 3585 | </example> |
3586 | <returns>generated html code</returns> | 3586 | </member> |
3587 | </member> | 3587 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)"> |
3588 | <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])"> | 3588 | <summary> |
3589 | <summary> | 3589 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
3590 | Hiddens the specified property name. | 3590 | </summary> |
3591 | </summary> | 3591 | <param name="fromUrlExpression">Expression to match URL</param> |
3592 | <param name="propertyName">Name of the property.</param> | 3592 | <param name="toUrlExpression">Expression to generate URL</param> |
3593 | <param name="options">The options.</param> | 3593 | <param name="options">Regular expression options to use, can be null</param> |
3594 | <returns>generated html code</returns> | 3594 | <example> |
3595 | </member> | 3595 | <![CDATA[ |
3596 | <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)"> | 3596 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); |
3597 | <summary> | 3597 | Result of ie. /employee1 will then be /user/employee1 |
3598 | Labels the specified property name. | 3598 | ]]> |
3599 | </summary> | 3599 | </example> |
3600 | <param name="propertyName">property in object.</param> | 3600 | </member> |
3601 | <param name="label">caption</param> | 3601 | <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)"> |
3602 | <returns>generated html code</returns> | 3602 | <summary> |
3603 | </member> | 3603 | Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class. |
3604 | <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])"> | 3604 | </summary> |
3605 | <summary> | 3605 | <param name="fromUrlExpression">Expression to match URL</param> |
3606 | Generate a checkbox | 3606 | <param name="toUrlExpression">Expression to generate URL</param> |
3607 | </summary> | 3607 | <param name="options">Regular expression options to apply</param> |
3608 | <param name="propertyName">property in object</param> | 3608 | <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param> |
3609 | <param name="value">checkbox value</param> | 3609 | <example> |
3610 | <param name="options">additional html attributes.</param> | 3610 | <![CDATA[ |
3611 | <returns>generated html code</returns> | 3611 | server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); |
3612 | </member> | 3612 | Result of ie. /employee1 will then be /user/employee1 |
3613 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])"> | 3613 | ]]> |
3614 | <summary> | 3614 | </example> |
3615 | Write a html select tag | 3615 | <exception cref="T:System.ArgumentNullException">Argument is null.</exception> |
3616 | </summary> | 3616 | <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/> |
3617 | <param name="propertyName">object property.</param> | 3617 | </member> |
3618 | <param name="idColumn">id column</param> | 3618 | <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
3619 | <param name="titleColumn">The title column.</param> | 3619 | <summary> |
3620 | <param name="options">The options.</param> | 3620 | Process the incoming request. |
3621 | <returns></returns> | 3621 | </summary> |
3622 | </member> | 3622 | <param name="request">incoming HTTP request</param> |
3623 | <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])"> | 3623 | <param name="response">outgoing HTTP response</param> |
3624 | <summary> | 3624 | <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns> |
3625 | Selects the specified property name. | 3625 | <remarks> |
3626 | </summary> | 3626 | returning true means that no modules will get the request. Returning true is typically being done |
3627 | <param name="propertyName">Name of the property.</param> | 3627 | for redirects. |
3628 | <param name="items">The items.</param> | 3628 | </remarks> |
3629 | <param name="idColumn">The id column.</param> | 3629 | <exception cref="T:System.ArgumentNullException">If request or response is null</exception> |
3630 | <param name="titleColumn">The title column.</param> | 3630 | </member> |
3631 | <param name="options">The options.</param> | 3631 | <member name="T:HttpServer.Parser.RequestLineEventArgs"> |
3632 | <returns></returns> | 3632 | <summary> |
3633 | </member> | 3633 | Used when the request line have been successfully parsed. |
3634 | <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)"> | 3634 | </summary> |
3635 | <summary> | 3635 | </member> |
3636 | Write a submit tag. | 3636 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)"> |
3637 | </summary> | 3637 | <summary> |
3638 | <param name="value">button caption</param> | 3638 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
3639 | <returns>html submit tag</returns> | 3639 | </summary> |
3640 | </member> | 3640 | <param name="httpMethod">The HTTP method.</param> |
3641 | <member name="M:HttpServer.Helpers.ObjectForm.End"> | 3641 | <param name="uriPath">The URI path.</param> |
3642 | <summary> | 3642 | <param name="httpVersion">The HTTP version.</param> |
3643 | html end form tag | 3643 | </member> |
3644 | </summary> | 3644 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor"> |
3645 | <returns>html</returns> | 3645 | <summary> |
3646 | </member> | 3646 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. |
3647 | <member name="T:HttpServer.FormDecoders.UrlDecoder"> | 3647 | </summary> |
3648 | <summary> | 3648 | </member> |
3649 | Can handle application/x-www-form-urlencoded | 3649 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod"> |
3650 | </summary> | 3650 | <summary> |
3651 | </member> | 3651 | Gets or sets http method. |
3652 | <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 3652 | </summary> |
3653 | <summary> | 3653 | <remarks> |
3654 | </summary> | 3654 | Should be one of the methods declared in <see cref="T:HttpServer.Method"/>. |
3655 | <param name="stream">Stream containing the content</param> | 3655 | </remarks> |
3656 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | 3656 | </member> |
3657 | <param name="encoding">Stream encoding</param> | 3657 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion"> |
3658 | <returns> | 3658 | <summary> |
3659 | A HTTP form, or null if content could not be parsed. | 3659 | Gets or sets the version of the HTTP protocol that the client want to use. |
3660 | </returns> | 3660 | </summary> |
3661 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | 3661 | </member> |
3662 | </member> | 3662 | <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath"> |
3663 | <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)"> | 3663 | <summary> |
3664 | <summary> | 3664 | Gets or sets requested URI path. |
3665 | Checks if the decoder can handle the mime type | 3665 | </summary> |
3666 | </summary> | 3666 | </member> |
3667 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 3667 | <member name="T:HttpServer.RealmHandler"> |
3668 | <returns>True if the decoder can parse the specified content type</returns> | 3668 | <summary> |
3669 | </member> | 3669 | Delegate used to find a realm/domain. |
3670 | <member name="T:HttpServer.FormDecoders.MultipartDecoder"> | 3670 | </summary> |
3671 | <summary> | 3671 | <param name="domain"></param> |
3672 | 3672 | <returns></returns> | |
3673 | </summary> | 3673 | <remarks> |
3674 | <remarks> | 3674 | Realms are used during HTTP Authentication |
3675 | http://www.faqs.org/rfcs/rfc1867.html | 3675 | </remarks> |
3676 | </remarks> | 3676 | <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/> |
3677 | </member> | 3677 | <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/> |
3678 | <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType"> | 3678 | </member> |
3679 | <summary> | 3679 | <member name="T:HttpServer.HttpServer"> |
3680 | multipart/form-data | 3680 | <summary> |
3681 | </summary> | 3681 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. |
3682 | </member> | 3682 | </summary> |
3683 | <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData"> | 3683 | <example> |
3684 | <summary> | 3684 | <code> |
3685 | form-data | 3685 | // this small example will add two web site modules, thus handling |
3686 | </summary> | 3686 | // two different sites. In reality you should add Controller modules or something |
3687 | </member> | 3687 | // two the website modules to be able to handle different requests. |
3688 | <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> | 3688 | HttpServer server = new HttpServer(); |
3689 | <summary> | 3689 | server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); |
3690 | 3690 | server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); | |
3691 | </summary> | 3691 | |
3692 | <param name="stream">Stream containing the content</param> | 3692 | // start regular http |
3693 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> | 3693 | server.Start(IPAddress.Any, 80); |
3694 | <param name="encoding">Stream enconding</param> | 3694 | |
3695 | <returns>A http form, or null if content could not be parsed.</returns> | 3695 | // start https |
3696 | <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception> | 3696 | server.Start(IPAddress.Any, 443, myCertificate); |
3697 | <exception cref="T:System.ArgumentNullException">If any parameter is null</exception> | 3697 | </code> |
3698 | </member> | 3698 | </example> |
3699 | <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)"> | 3699 | <seealso cref="T:HttpServer.HttpModules.HttpModule"/> |
3700 | <summary> | 3700 | <seealso cref="T:HttpServer.HttpModules.FileModule"/> |
3701 | Checks if the decoder can handle the mime type | 3701 | <seealso cref="T:HttpServer.HttpListener"/> |
3702 | </summary> | 3702 | </member> |
3703 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> | 3703 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)"> |
3704 | <returns>True if the decoder can parse the specified content type</returns> | 3704 | <summary> |
3705 | </member> | 3705 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3706 | <member name="T:HttpServer.ClientAcceptedEventArgs"> | 3706 | </summary> |
3707 | <summary> | 3707 | <param name="provider">Used to get all components used in the server..</param> |
3708 | Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/> | 3708 | </member> |
3709 | </summary> | 3709 | <member name="M:HttpServer.HttpServer.#ctor"> |
3710 | <remarks> | 3710 | <summary> |
3711 | Can be used to revoke incoming connections | 3711 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3712 | </remarks> | 3712 | </summary> |
3713 | </member> | 3713 | </member> |
3714 | <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)"> | 3714 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)"> |
3715 | <summary> | 3715 | <summary> |
3716 | Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class. | 3716 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3717 | </summary> | 3717 | </summary> |
3718 | <param name="socket">The socket.</param> | 3718 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
3719 | </member> | 3719 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
3720 | <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke"> | 3720 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
3721 | <summary> | 3721 | </member> |
3722 | Client may not be handled. | 3722 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)"> |
3723 | </summary> | 3723 | <summary> |
3724 | </member> | 3724 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3725 | <member name="P:HttpServer.ClientAcceptedEventArgs.Socket"> | 3725 | </summary> |
3726 | <summary> | 3726 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> |
3727 | Accepted socket. | 3727 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> |
3728 | </summary> | 3728 | </member> |
3729 | </member> | 3729 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)"> |
3730 | <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked"> | 3730 | <summary> |
3731 | <summary> | 3731 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3732 | Client should be revoked. | 3732 | </summary> |
3733 | </summary> | 3733 | <param name="logWriter">The log writer.</param> |
3734 | </member> | 3734 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
3735 | <member name="T:HttpServer.HttpModules.FileModule"> | 3735 | </member> |
3736 | <summary> | 3736 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)"> |
3737 | The purpose of this module is to serve files. | 3737 | <summary> |
3738 | </summary> | 3738 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3739 | </member> | 3739 | </summary> |
3740 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)"> | 3740 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
3741 | <summary> | 3741 | <param name="logWriter">The log writer.</param> |
3742 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. | 3742 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
3743 | </summary> | 3743 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
3744 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | 3744 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
3745 | <param name="basePath">Path on hard drive where we should start looking for files</param> | 3745 | </member> |
3746 | <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param> | 3746 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)"> |
3747 | </member> | 3747 | <summary> |
3748 | <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)"> | 3748 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. |
3749 | <summary> | 3749 | </summary> |
3750 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class. | 3750 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> |
3751 | </summary> | 3751 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> |
3752 | <param name="baseUri">Uri to serve, for instance "/files/"</param> | 3752 | <param name="logWriter">The log writer.</param> |
3753 | <param name="basePath">Path on hard drive where we should start looking for files</param> | 3753 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> |
3754 | </member> | 3754 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> |
3755 | <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes"> | 3755 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
3756 | <summary> | 3756 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> |
3757 | Mimtypes that this class can handle per default | 3757 | </member> |
3758 | </summary> | 3758 | <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)"> |
3759 | </member> | 3759 | <summary> |
3760 | <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)"> | 3760 | Adds the specified rule. |
3761 | <summary> | 3761 | </summary> |
3762 | Determines if the request should be handled by this module. | 3762 | <param name="rule">The rule.</param> |
3763 | Invoked by the <see cref="T:HttpServer.HttpServer"/> | 3763 | </member> |
3764 | </summary> | 3764 | <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)"> |
3765 | <param name="uri"></param> | 3765 | <summary> |
3766 | <returns>true if this module should handle it.</returns> | 3766 | Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server. |
3767 | </member> | 3767 | </summary> |
3768 | <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)"> | 3768 | <param name="module">mode to add</param> |
3769 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception> | 3769 | </member> |
3770 | </member> | 3770 | <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)"> |
3771 | <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})"> | 3771 | <summary> |
3772 | <summary> | 3772 | Decodes the request body. |
3773 | check if source contains any of the chars. | 3773 | </summary> |
3774 | </summary> | 3774 | <param name="request">The request.</param> |
3775 | <param name="source"></param> | 3775 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception> |
3776 | <param name="chars"></param> | 3776 | </member> |
3777 | <returns></returns> | 3777 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)"> |
3778 | </member> | 3778 | <summary> |
3779 | <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 3779 | Generate a HTTP error page (that will be added to the response body). |
3780 | <summary> | 3780 | response status code is also set. |
3781 | Method that process the Uri. | 3781 | </summary> |
3782 | </summary> | 3782 | <param name="response">Response that the page will be generated in.</param> |
3783 | <param name="request">Information sent by the browser about the request</param> | 3783 | <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param> |
3784 | <param name="response">Information that is being sent back to the client.</param> | 3784 | <param name="body">response body contents.</param> |
3785 | <param name="session">Session used to </param> | 3785 | </member> |
3786 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception> | 3786 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)"> |
3787 | <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception> | 3787 | <summary> |
3788 | </member> | 3788 | Generate a HTTP error page (that will be added to the response body). |
3789 | <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)"> | 3789 | response status code is also set. |
3790 | <summary> | 3790 | </summary> |
3791 | return a file extension from an absolute Uri path (or plain filename) | 3791 | <param name="response">Response that the page will be generated in.</param> |
3792 | </summary> | 3792 | <param name="err">exception.</param> |
3793 | <param name="uri"></param> | 3793 | </member> |
3794 | <returns></returns> | 3794 | <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)"> |
3795 | </member> | 3795 | <summary> |
3796 | <member name="P:HttpServer.HttpModules.FileModule.MimeTypes"> | 3796 | Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s. |
3797 | <summary> | 3797 | </summary> |
3798 | List with all mime-type that are allowed. | 3798 | <param name="request">HTTP request</param> |
3799 | </summary> | 3799 | <returns>domain/realm.</returns> |
3800 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | 3800 | </member> |
3801 | </member> | 3801 | <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
3802 | <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars"> | 3802 | <summary> |
3803 | <summary> | 3803 | Process an incoming request. |
3804 | characters that may not exist in a path. | 3804 | </summary> |
3805 | </summary> | 3805 | <param name="context">connection to client</param> |
3806 | <example> | 3806 | <param name="request">request information</param> |
3807 | fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; | 3807 | <param name="response">response that should be filled</param> |
3808 | </example> | 3808 | <param name="session">session information</param> |
3809 | </member> | 3809 | </member> |
3810 | <member name="T:HttpServer.Helpers.XmlHelper"> | 3810 | <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> |
3811 | <summary> | 3811 | <summary> |
3812 | Helpers to make XML handling easier | 3812 | Can be overloaded to implement stuff when a client have been connected. |
3813 | </summary> | 3813 | </summary> |
3814 | </member> | 3814 | <remarks> |
3815 | <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)"> | 3815 | Default implementation does nothing. |
3816 | <summary> | 3816 | </remarks> |
3817 | Serializes object to XML. | 3817 | <param name="client">client that disconnected</param> |
3818 | </summary> | 3818 | <param name="error">disconnect reason</param> |
3819 | <param name="value">object to serialize.</param> | 3819 | </member> |
3820 | <returns>XML</returns> | 3820 | <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
3821 | <remarks> | 3821 | <summary> |
3822 | Removes name spaces and adds indentation | 3822 | Handle authentication |
3823 | </remarks> | 3823 | </summary> |
3824 | </member> | 3824 | <param name="request"></param> |
3825 | <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)"> | 3825 | <param name="response"></param> |
3826 | <summary> | 3826 | <param name="session"></param> |
3827 | Create an object from a XML string | 3827 | <returns>true if request can be handled; false if not.</returns> |
3828 | </summary> | 3828 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception> |
3829 | <typeparam name="T">Type of object</typeparam> | 3829 | </member> |
3830 | <param name="xml">XML string</param> | 3830 | <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> |
3831 | <returns>object</returns> | 3831 | <summary> |
3832 | </member> | 3832 | Will request authentication. |
3833 | <member name="T:HttpServer.Exceptions.NotFoundException"> | 3833 | </summary> |
3834 | <summary> | 3834 | <remarks> |
3835 | The requested resource was not found in the web server. | 3835 | Sends respond to client, nothing else can be done with the response after this. |
3836 | </summary> | 3836 | </remarks> |
3837 | </member> | 3837 | <param name="mod"></param> |
3838 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)"> | 3838 | <param name="request"></param> |
3839 | <summary> | 3839 | <param name="response"></param> |
3840 | Create a new exception | 3840 | </member> |
3841 | </summary> | 3841 | <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)"> |
3842 | <param name="message">message describing the error</param> | 3842 | <summary> |
3843 | <param name="inner">inner exception</param> | 3843 | Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully. |
3844 | </member> | 3844 | </summary> |
3845 | <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)"> | 3845 | <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param> |
3846 | <summary> | 3846 | <param name="args">The request.</param> |
3847 | Create a new exception | 3847 | </member> |
3848 | </summary> | 3848 | <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> |
3849 | <param name="message">message describing the error</param> | 3849 | <summary> |
3850 | </member> | 3850 | To be able to track request count. |
3851 | <member name="T:HttpServer.RequestCookie"> | 3851 | </summary> |
3852 | <summary> | 3852 | <param name="context"></param> |
3853 | cookie sent by the client/browser | 3853 | <param name="request"></param> |
3854 | </summary> | 3854 | </member> |
3855 | <seealso cref="T:HttpServer.ResponseCookie"/> | 3855 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)"> |
3856 | </member> | 3856 | <summary> |
3857 | <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)"> | 3857 | Start the web server using regular HTTP. |
3858 | <summary> | 3858 | </summary> |
3859 | Constructor. | 3859 | <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param> |
3860 | </summary> | 3860 | <param name="port">Port to listen on. 80 can be a good idea =)</param> |
3861 | <param name="id">cookie identifier</param> | 3861 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> |
3862 | <param name="content">cookie content</param> | 3862 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> |
3863 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | 3863 | </member> |
3864 | <exception cref="T:System.ArgumentException">id is empty</exception> | 3864 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
3865 | </member> | 3865 | <summary> |
3866 | <member name="M:HttpServer.RequestCookie.ToString"> | 3866 | Accept secure connections. |
3867 | <summary> | 3867 | </summary> |
3868 | Gets the cookie HTML representation. | 3868 | <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> |
3869 | </summary> | 3869 | <param name="port">Port to listen on. 80 can be a good idea =)</param> |
3870 | <returns>cookie string</returns> | 3870 | <param name="certificate">Certificate to use</param> |
3871 | </member> | 3871 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> |
3872 | <member name="P:HttpServer.RequestCookie.Name"> | 3872 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> |
3873 | <summary> | 3873 | </member> |
3874 | Gets the cookie identifier. | 3874 | <member name="M:HttpServer.HttpServer.Stop"> |
3875 | </summary> | 3875 | <summary> |
3876 | </member> | 3876 | shut down the server and listeners |
3877 | <member name="P:HttpServer.RequestCookie.Value"> | 3877 | </summary> |
3878 | <summary> | 3878 | </member> |
3879 | Cookie value. Set to null to remove cookie. | 3879 | <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)"> |
3880 | </summary> | 3880 | <summary> |
3881 | </member> | 3881 | write an entry to the log file |
3882 | <member name="T:HttpServer.HttpParam"> | 3882 | </summary> |
3883 | <summary> | 3883 | <param name="prio">importance of the message</param> |
3884 | Returns item either from a form or a query string (checks them in that order) | 3884 | <param name="message">log message</param> |
3885 | </summary> | 3885 | </member> |
3886 | </member> | 3886 | <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)"> |
3887 | <member name="F:HttpServer.HttpParam.Empty"> | 3887 | <summary> |
3888 | <summary> Representation of a non-initialized HttpParam </summary> | 3888 | write an entry to the log file |
3889 | </member> | 3889 | </summary> |
3890 | <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)"> | 3890 | <param name="source">object that wrote the message</param> |
3891 | <summary>Initialises the class to hold a value either from a post request or a querystring request</summary> | 3891 | <param name="prio">importance of the message</param> |
3892 | </member> | 3892 | <param name="message">log message</param> |
3893 | <member name="M:HttpServer.HttpParam.Add(System.String,System.String)"> | 3893 | </member> |
3894 | <summary> | 3894 | <member name="P:HttpServer.HttpServer.Current"> |
3895 | The add method is not availible for HttpParam | 3895 | <summary> |
3896 | since HttpParam checks both Request.Form and Request.QueryString | 3896 | Server that is handling the current request. |
3897 | </summary> | 3897 | </summary> |
3898 | <param name="name">name identifying the value</param> | 3898 | <remarks> |
3899 | <param name="value">value to add</param> | 3899 | Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object. |
3900 | <exception cref="T:System.NotImplementedException"></exception> | 3900 | </remarks> |
3901 | </member> | 3901 | </member> |
3902 | <member name="M:HttpServer.HttpParam.Contains(System.String)"> | 3902 | <member name="P:HttpServer.HttpServer.AuthenticationModules"> |
3903 | <summary> | 3903 | <summary> |
3904 | Checks whether the form or querystring has the specified value | 3904 | Modules used for authentication. The module that is is added first is used as |
3905 | </summary> | 3905 | the default authentication module. |
3906 | <param name="name">Name, case sensitive</param> | 3906 | </summary> |
3907 | <returns>true if found; otherwise false.</returns> | 3907 | <remarks>Use the corresponding property |
3908 | </member> | 3908 | in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks> |
3909 | <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator"> | 3909 | </member> |
3910 | <summary> | 3910 | <member name="P:HttpServer.HttpServer.FormDecoderProviders"> |
3911 | Returns an enumerator that iterates through the collection. | 3911 | <summary> |
3912 | </summary> | 3912 | Form decoder providers are used to decode request body (which normally contains form data). |
3913 | 3913 | </summary> | |
3914 | <returns> | 3914 | </member> |
3915 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. | 3915 | <member name="P:HttpServer.HttpServer.ServerName"> |
3916 | </returns> | 3916 | <summary> |
3917 | <filterpriority>1</filterpriority> | 3917 | Server name sent in HTTP responses. |
3918 | </member> | 3918 | </summary> |
3919 | <member name="M:HttpServer.HttpParam.GetEnumerator"> | 3919 | <remarks> |
3920 | <summary> | 3920 | Do NOT include version in name, since it makes it |
3921 | Returns an enumerator that iterates through a collection. | 3921 | easier for hackers. |
3922 | </summary> | 3922 | </remarks> |
3923 | 3923 | </member> | |
3924 | <returns> | 3924 | <member name="P:HttpServer.HttpServer.SessionCookieName"> |
3925 | An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection. | 3925 | <summary> |
3926 | </returns> | 3926 | Name of cookie where session id is stored. |
3927 | <filterpriority>2</filterpriority> | 3927 | </summary> |
3928 | </member> | 3928 | </member> |
3929 | <member name="P:HttpServer.HttpParam.Item(System.String)"> | 3929 | <member name="P:HttpServer.HttpServer.LogWriter"> |
3930 | <summary> | 3930 | <summary> |
3931 | Fetch an item from the form or querystring (in that order). | 3931 | Specified where logging should go. |
3932 | </summary> | 3932 | </summary> |
3933 | <param name="name"></param> | 3933 | <seealso cref="T:HttpServer.NullLogWriter"/> |
3934 | <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns> | 3934 | <seealso cref="T:HttpServer.ConsoleLogWriter"/> |
3935 | </member> | 3935 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> |
3936 | <member name="T:HttpServer.HttpClientContext"> | 3936 | </member> |
3937 | <summary> | 3937 | <member name="P:HttpServer.HttpServer.BackLog"> |
3938 | Contains a connection to a browser/client. | 3938 | <summary> |
3939 | </summary> | 3939 | Number of connections that can wait to be accepted by the server. |
3940 | <remarks> | 3940 | </summary> |
3941 | Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event. | 3941 | <remarks>Default is 10.</remarks> |
3942 | </remarks> | 3942 | </member> |
3943 | TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? | 3943 | <member name="P:HttpServer.HttpServer.MaxRequestCount"> |
3944 | </member> | 3944 | <summary> |
3945 | <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)"> | 3945 | Gets or sets maximum number of allowed simultaneous requests. |
3946 | <summary> | 3946 | </summary> |
3947 | Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class. | 3947 | <remarks> |
3948 | </summary> | 3948 | <para> |
3949 | <param name="secured">true if the connection is secured (SSL/TLS)</param> | 3949 | This property is useful in busy systems. The HTTP server |
3950 | <param name="remoteEndPoint">client that connected.</param> | 3950 | will start queuing new requests if this limit is hit, instead |
3951 | <param name="stream">Stream used for communication</param> | 3951 | of trying to process all incoming requests directly. |
3952 | <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param> | 3952 | </para> |
3953 | <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param> | 3953 | <para> |
3954 | <exception cref="T:System.Net.Sockets.SocketException">If <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> fails</exception> | 3954 | The default number if allowed simultaneous requests are 10. |
3955 | <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception> | 3955 | </para> |
3956 | </member> | 3956 | </remarks> |
3957 | <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)"> | 3957 | </member> |
3958 | <summary> | 3958 | <member name="P:HttpServer.HttpServer.MaxQueueSize"> |
3959 | Process incoming body bytes. | 3959 | <summary> |
3960 | </summary> | 3960 | Gets or sets maximum number of requests queuing to be handled. |
3961 | <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param> | 3961 | </summary> |
3962 | <param name="e">Bytes</param> | 3962 | <remarks> |
3963 | </member> | 3963 | <para> |
3964 | <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)"> | 3964 | The WebServer will start turning requests away if response code |
3965 | <summary> | 3965 | <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server |
3966 | 3966 | is too busy to be able to handle the request. | |
3967 | </summary> | 3967 | </para> |
3968 | <param name="sender"></param> | 3968 | </remarks> |
3969 | <param name="e"></param> | 3969 | </member> |
3970 | </member> | 3970 | <member name="E:HttpServer.HttpServer.RealmWanted"> |
3971 | <member name="M:HttpServer.HttpClientContext.Start"> | 3971 | <summary> |
3972 | <summary> | 3972 | Realms are used during HTTP authentication. |
3973 | Start reading content. | 3973 | Default realm is same as server name. |
3974 | </summary> | 3974 | </summary> |
3975 | <remarks> | 3975 | </member> |
3976 | Make sure to call base.Start() if you override this method. | 3976 | <member name="E:HttpServer.HttpServer.ExceptionThrown"> |
3977 | </remarks> | 3977 | <summary> |
3978 | </member> | 3978 | Let's to receive unhandled exceptions from the threads. |
3979 | <member name="M:HttpServer.HttpClientContext.Cleanup"> | 3979 | </summary> |
3980 | <summary> | 3980 | <remarks> |
3981 | Clean up context. | 3981 | Exceptions will be thrown during debug mode if this event is not used, |
3982 | </summary> | 3982 | exceptions will be printed to console and suppressed during release mode. |
3983 | <remarks> | 3983 | </remarks> |
3984 | Make sure to call base.Cleanup() if you override the method. | 3984 | </member> |
3985 | </remarks> | 3985 | <member name="T:HttpServer.Exceptions.UnauthorizedException"> |
3986 | </member> | 3986 | <summary> |
3987 | <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)"> | 3987 | The request requires user authentication. The response MUST include a |
3988 | <summary> | 3988 | WWW-Authenticate header field (section 14.47) containing a challenge |
3989 | Disconnect from client | 3989 | applicable to the requested resource. |
3990 | </summary> | 3990 | |
3991 | <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param> | 3991 | The client MAY repeat the request with a suitable Authorization header |
3992 | </member> | 3992 | field (section 14.8). If the request already included Authorization |
3993 | <member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)"> | 3993 | credentials, then the 401 response indicates that authorization has been |
3994 | <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception> | 3994 | refused for those credentials. If the 401 response contains the same challenge |
3995 | </member> | 3995 | as the prior response, and the user agent has already attempted authentication |
3996 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)"> | 3996 | at least once, then the user SHOULD be presented the entity that was given in the response, |
3997 | <summary> | 3997 | since that entity might include relevant diagnostic information. |
3998 | Send a response. | 3998 | |
3999 | </summary> | 3999 | HTTP access authentication is explained in rfc2617: |
4000 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 4000 | http://www.ietf.org/rfc/rfc2617.txt |
4001 | <param name="statusCode">HTTP status code</param> | 4001 | |
4002 | <param name="reason">reason for the status code.</param> | 4002 | (description is taken from |
4003 | <param name="body">HTML body contents, can be null or empty.</param> | 4003 | http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) |
4004 | <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param> | 4004 | </summary> |
4005 | <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception> | 4005 | </member> |
4006 | </member> | 4006 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor"> |
4007 | <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)"> | 4007 | <summary> |
4008 | <summary> | 4008 | Create a new unauhtorized exception. |
4009 | Send a response. | 4009 | </summary> |
4010 | </summary> | 4010 | <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/> |
4011 | <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param> | 4011 | </member> |
4012 | <param name="statusCode">HTTP status code</param> | 4012 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)"> |
4013 | <param name="reason">reason for the status code.</param> | 4013 | <summary> |
4014 | </member> | 4014 | Create a new unauhtorized exception. |
4015 | <member name="M:HttpServer.HttpClientContext.Respond(System.String)"> | 4015 | </summary> |
4016 | <summary> | 4016 | <param name="message">reason to why the request was unauthorized.</param> |
4017 | Send a response. | 4017 | <param name="inner">inner exception</param> |
4018 | </summary> | 4018 | </member> |
4019 | <exception cref="T:System.ArgumentNullException"></exception> | 4019 | <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)"> |
4020 | </member> | 4020 | <summary> |
4021 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])"> | 4021 | Create a new unauhtorized exception. |
4022 | <summary> | 4022 | </summary> |
4023 | send a whole buffer | 4023 | <param name="message">reason to why the request was unauthorized.</param> |
4024 | </summary> | 4024 | </member> |
4025 | <param name="buffer">buffer to send</param> | 4025 | <member name="T:HttpServer.ContentType"> |
4026 | <exception cref="T:System.ArgumentNullException"></exception> | 4026 | <summary> |
4027 | </member> | 4027 | Lists content type mime types. |
4028 | <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)"> | 4028 | </summary> |
4029 | <summary> | 4029 | </member> |
4030 | Send data using the stream | 4030 | <member name="F:HttpServer.ContentType.Text"> |
4031 | </summary> | 4031 | <summary> |
4032 | <param name="buffer">Contains data to send</param> | 4032 | text/plain |
4033 | <param name="offset">Start position in buffer</param> | 4033 | </summary> |
4034 | <param name="size">number of bytes to send</param> | 4034 | </member> |
4035 | <exception cref="T:System.ArgumentNullException"></exception> | 4035 | <member name="F:HttpServer.ContentType.Html"> |
4036 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> | 4036 | <summary> |
4037 | </member> | 4037 | text/haml |
4038 | <member name="E:HttpServer.HttpClientContext.Cleaned"> | 4038 | </summary> |
4039 | <summary> | 4039 | </member> |
4040 | This context have been cleaned, which means that it can be reused. | 4040 | <member name="F:HttpServer.ContentType.Javascript"> |
4041 | </summary> | 4041 | <summary> |
4042 | </member> | 4042 | content type for javascript documents = application/javascript |
4043 | <member name="E:HttpServer.HttpClientContext.Started"> | 4043 | </summary> |
4044 | <summary> | 4044 | <remarks> |
4045 | Context have been started (a new client have connected) | 4045 | <para> |
4046 | </summary> | 4046 | RFC 4329 states that text/javascript have been superseeded by |
4047 | </member> | 4047 | application/javascript. You might still want to check browser versions |
4048 | <member name="P:HttpServer.HttpClientContext.CurrentRequest"> | 4048 | since older ones do not support application/javascript. |
4049 | <summary> | 4049 | </para> |
4050 | Overload to specify own type. | 4050 | <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para> |
4051 | </summary> | 4051 | </remarks> |
4052 | <remarks> | 4052 | </member> |
4053 | Must be specified before the context is being used. | 4053 | <member name="F:HttpServer.ContentType.Xml"> |
4054 | </remarks> | 4054 | <summary> |
4055 | </member> | 4055 | text/xml |
4056 | <member name="P:HttpServer.HttpClientContext.Secured"> | 4056 | </summary> |
4057 | <summary> | 4057 | </member> |
4058 | Using SSL or other encryption method. | 4058 | <member name="T:HttpServer.ContentTypes"> |
4059 | </summary> | 4059 | <summary> |
4060 | </member> | 4060 | A list of content types |
4061 | <member name="P:HttpServer.HttpClientContext.IsSecured"> | 4061 | </summary> |
4062 | <summary> | 4062 | </member> |
4063 | Using SSL or other encryption method. | 4063 | <member name="M:HttpServer.ContentTypes.#ctor(System.String)"> |
4064 | </summary> | 4064 | <summary> |
4065 | </member> | 4065 | |
4066 | <member name="P:HttpServer.HttpClientContext.LogWriter"> | 4066 | </summary> |
4067 | <summary> | 4067 | <param name="types">Semicolon separated content types.</param> |
4068 | Specify which logger to use. | 4068 | </member> |
4069 | </summary> | 4069 | <member name="M:HttpServer.ContentTypes.GetEnumerator"> |
4070 | </member> | 4070 | <summary> |
4071 | <member name="P:HttpServer.HttpClientContext.Stream"> | 4071 | Returns an enumerator that iterates through a collection. |
4072 | <summary> | 4072 | </summary> |
4073 | Gets or sets the network stream. | 4073 | <returns> |
4074 | </summary> | 4074 | An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. |
4075 | </member> | 4075 | </returns> |
4076 | <member name="P:HttpServer.HttpClientContext.RemoteAddress"> | 4076 | </member> |
4077 | <summary> | 4077 | <member name="M:HttpServer.ContentTypes.Contains(System.String)"> |
4078 | Gets or sets IP address that the client connected from. | 4078 | <summary> |
4079 | </summary> | 4079 | Searches for the specified type |
4080 | </member> | 4080 | </summary> |
4081 | <member name="P:HttpServer.HttpClientContext.RemotePort"> | 4081 | <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param> |
4082 | <summary> | 4082 | <returns>true if type was found.</returns> |
4083 | Gets or sets port that the client connected from. | 4083 | </member> |
4084 | </summary> | 4084 | <member name="P:HttpServer.ContentTypes.First"> |
4085 | </member> | 4085 | <summary> |
4086 | <member name="E:HttpServer.HttpClientContext.Disconnected"> | 4086 | Get this first content type. |
4087 | <summary> | 4087 | </summary> |
4088 | The context have been disconnected. | 4088 | </member> |
4089 | </summary> | 4089 | <member name="P:HttpServer.ContentTypes.Item(System.String)"> |
4090 | <remarks> | 4090 | <summary> |
4091 | Event can be used to clean up a context, or to reuse it. | 4091 | Fetch a content type |
4092 | </remarks> | 4092 | </summary> |
4093 | </member> | 4093 | <param name="type">Part of type ("xml" would return "application/xml")</param> |
4094 | <member name="E:HttpServer.HttpClientContext.RequestReceived"> | 4094 | <returns></returns> |
4095 | <summary> | 4095 | <remarks>All content types are in lower case.</remarks> |
4096 | A request have been received in the context. | 4096 | </member> |
4097 | </summary> | 4097 | <member name="T:HttpServer.Sessions.MemorySessionStore"> |
4098 | </member> | 4098 | <summary> |
4099 | <member name="T:HttpServer.Helpers.ResourceManager"> | 4099 | Session store using memory for each session. |
4100 | <summary>Class to handle loading of resource files</summary> | 4100 | </summary> |
4101 | </member> | 4101 | </member> |
4102 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor"> | 4102 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> |
4103 | <summary> | 4103 | <summary> |
4104 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. | 4104 | Initializes the class setting the expirationtimer to clean the session every minute |
4105 | </summary> | 4105 | </summary> |
4106 | </member> | 4106 | </member> |
4107 | <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)"> | 4107 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> |
4108 | <summary> | 4108 | <summary> |
4109 | Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class. | 4109 | Delegate for the cleanup timer |
4110 | </summary> | 4110 | </summary> |
4111 | <param name="writer">logger.</param> | 4111 | </member> |
4112 | </member> | 4112 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> |
4113 | <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)"> | 4113 | <summary> |
4114 | <summary> | 4114 | Creates a new http session |
4115 | Loads resources from a namespace in the given assembly to an URI | 4115 | </summary> |
4116 | </summary> | 4116 | <returns></returns> |
4117 | <param name="toUri">The URI to map the resources to</param> | 4117 | </member> |
4118 | <param name="fromAssembly">The assembly in which the resources reside</param> | 4118 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> |
4119 | <param name="fromNamespace">The namespace from which to load the resources</param> | 4119 | <summary> |
4120 | <usage> | 4120 | Creates a new http session with a specific id |
4121 | <code> | 4121 | </summary> |
4122 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | 4122 | <param name="id">Id used to identify the new cookie..</param> |
4123 | </code> | 4123 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> |
4124 | Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ | 4124 | <remarks> |
4125 | </usage> | 4125 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. |
4126 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | 4126 | </remarks> |
4127 | <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception> | 4127 | </member> |
4128 | </member> | 4128 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> |
4129 | <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)"> | 4129 | <summary> |
4130 | <summary> | 4130 | Load an existing session. |
4131 | Retrieves a stream for the specified resource path if loaded otherwise null | 4131 | </summary> |
4132 | </summary> | 4132 | <param name="sessionId"></param> |
4133 | <param name="path">Path to the resource to retrieve a stream for</param> | 4133 | <returns></returns> |
4134 | <returns>A stream or null if the resource couldn't be found</returns> | 4134 | </member> |
4135 | </member> | 4135 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> |
4136 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)"> | 4136 | <summary> |
4137 | <summary> | 4137 | Save an updated session to the store. |
4138 | Fetch all files from the resource that matches the specified arguments. | 4138 | </summary> |
4139 | </summary> | 4139 | <param name="session"></param> |
4140 | <param name="path">The path to the resource to extract</param> | 4140 | </member> |
4141 | <returns> | 4141 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> |
4142 | a list of files if found; or an empty array if no files are found. | 4142 | <summary> |
4143 | </returns> | 4143 | We use the flyweight pattern which reuses small objects |
4144 | <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception> | 4144 | instead of creating new each time. |
4145 | </member> | 4145 | </summary> |
4146 | <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)"> | 4146 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> |
4147 | <summary> | 4147 | </member> |
4148 | Fetch all files from the resource that matches the specified arguments. | 4148 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> |
4149 | </summary> | 4149 | <summary> |
4150 | <param name="path">Where the file should reside.</param> | 4150 | Remove expired sessions |
4151 | <param name="filename">Files to check</param> | 4151 | </summary> |
4152 | <returns> | 4152 | </member> |
4153 | a list of files if found; or an empty array if no files are found. | 4153 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)"> |
4154 | </returns> | 4154 | <summary> |
4155 | </member> | 4155 | Remove a session |
4156 | <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)"> | 4156 | </summary> |
4157 | <summary> | 4157 | <param name="sessionId">id of the session.</param> |
4158 | Returns whether or not the loader has an instance of the file requested | 4158 | </member> |
4159 | </summary> | 4159 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> |
4160 | <param name="filename">The name of the template/file</param> | 4160 | <summary> |
4161 | <returns>True if the loader can provide the file</returns> | 4161 | Load a session from the store |
4162 | </member> | 4162 | </summary> |
4163 | <member name="T:HttpServer.Check"> | 4163 | <param name="sessionId"></param> |
4164 | <summary> | 4164 | <returns>null if session is not found.</returns> |
4165 | Small design by contract implementation. | 4165 | </member> |
4166 | </summary> | 4166 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> |
4167 | </member> | 4167 | <summary> |
4168 | <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)"> | 4168 | Number of minutes before a session expires. |
4169 | <summary> | 4169 | Default is 20 minutes. |
4170 | Check whether a parameter is empty. | 4170 | </summary> |
4171 | </summary> | 4171 | </member> |
4172 | <param name="value">Parameter value</param> | 4172 | <member name="T:HttpServer.Helpers.WebHelper"> |
4173 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | 4173 | <summary> |
4174 | <exception cref="T:System.ArgumentException">value is empty.</exception> | 4174 | Webhelper provides helpers for common tasks in HTML. |
4175 | </member> | 4175 | </summary> |
4176 | <member name="M:HttpServer.Check.Require(System.Object,System.String)"> | 4176 | </member> |
4177 | <summary> | 4177 | <member name="F:HttpServer.Helpers.WebHelper.JSImplementation"> |
4178 | Checks whether a parameter is null. | 4178 | <summary> |
4179 | </summary> | 4179 | Used to let the website use different javascript libraries. |
4180 | <param name="value">Parameter value</param> | 4180 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> |
4181 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | 4181 | </summary> |
4182 | <exception cref="T:System.ArgumentNullException">value is null.</exception> | 4182 | </member> |
4183 | </member> | 4183 | <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])"> |
4184 | <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)"> | 4184 | <summary> |
4185 | <summary> | 4185 | Creates a link that invokes through ajax. |
4186 | Checks whether a parameter is null. | 4186 | </summary> |
4187 | </summary> | 4187 | <param name="url">url to fetch</param> |
4188 | <param name="minValue"></param> | 4188 | <param name="title">link title</param> |
4189 | <param name="value">Parameter value</param> | 4189 | <param name="options"> |
4190 | <param name="parameterOrErrorMessage">Parameter name, or error description.</param> | 4190 | optional options in format "key, value, key, value". |
4191 | <exception cref="T:System.ArgumentException">value is null.</exception> | 4191 | Javascript options starts with ':'. |
4192 | </member> | 4192 | </param> |
4193 | <member name="T:HttpServer.ResponseCookie"> | 4193 | <returns>a link tag</returns> |
4194 | <summary> | 4194 | <example> |
4195 | cookie being sent back to the browser. | 4195 | WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); |
4196 | </summary> | 4196 | </example> |
4197 | <seealso cref="T:HttpServer.ResponseCookie"/> | 4197 | </member> |
4198 | </member> | 4198 | <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])"> |
4199 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)"> | 4199 | <summary> |
4200 | <summary> | 4200 | Builds a link that updates an element with the fetched ajax content. |
4201 | Constructor. | 4201 | </summary> |
4202 | </summary> | 4202 | <param name="url">Url to fetch content from</param> |
4203 | <param name="id">cookie identifier</param> | 4203 | <param name="title">link title</param> |
4204 | <param name="content">cookie content</param> | 4204 | <param name="targetId">html element to update with the results of the ajax request.</param> |
4205 | <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param> | 4205 | <param name="options">optional options in format "key, value, key, value"</param> |
4206 | <exception cref="T:System.ArgumentNullException">id or content is null</exception> | 4206 | <returns>A link tag.</returns> |
4207 | <exception cref="T:System.ArgumentException">id is empty</exception> | 4207 | </member> |
4208 | </member> | 4208 | <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"> |
4209 | <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)"> | 4209 | <summary> |
4210 | <summary> | 4210 | A link that pop ups a Dialog (overlay div) |
4211 | Create a new cookie | 4211 | </summary> |
4212 | </summary> | 4212 | <param name="url">url to contents of dialog</param> |
4213 | <param name="name">name identifying the cookie</param> | 4213 | <param name="title">link title</param> |
4214 | <param name="value">cookie value</param> | 4214 | <param name="htmlAttributes">name/value of html attributes.</param> |
4215 | <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param> | 4215 | <returns>A "a"-tag that popups a dialog when clicked</returns> |
4216 | <param name="path">Path to where the cookie is valid</param> | 4216 | <example> |
4217 | <param name="domain">Domain that the cookie is valid for.</param> | 4217 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); |
4218 | </member> | 4218 | </example> |
4219 | <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)"> | 4219 | </member> |
4220 | <summary> | 4220 | <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])"> |
4221 | Create a new cookie | 4221 | <summary> |
4222 | </summary> | 4222 | Create/Open a dialog box using ajax |
4223 | <param name="cookie">Name and value will be used</param> | 4223 | </summary> |
4224 | <param name="expires">when the cookie expires.</param> | 4224 | <param name="url"></param> |
4225 | </member> | 4225 | <param name="title"></param> |
4226 | <member name="M:HttpServer.ResponseCookie.ToString"> | 4226 | <param name="parameters"></param> |
4227 | <summary> | 4227 | <returns></returns> |
4228 | Gets the cookie HTML representation. | 4228 | </member> |
4229 | </summary> | 4229 | <member name="M:HttpServer.Helpers.WebHelper.CloseDialog"> |
4230 | <returns>cookie string</returns> | 4230 | <summary> |
4231 | </member> | 4231 | Close a javascript dialog window/div. |
4232 | <member name="P:HttpServer.ResponseCookie.Expires"> | 4232 | </summary> |
4233 | <summary> | 4233 | <returns>javascript for closing a dialog.</returns> |
4234 | When the cookie expires. | 4234 | <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/> |
4235 | DateTime.MinValue means that the cookie expires when the session do so. | 4235 | </member> |
4236 | </summary> | 4236 | <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)"> |
4237 | </member> | 4237 | <summary> |
4238 | <member name="P:HttpServer.ResponseCookie.Path"> | 4238 | Create a <form> tag. |
4239 | <summary> | 4239 | </summary> |
4240 | Cookie is only valid under this path. | 4240 | <param name="name">name of form</param> |
4241 | </summary> | 4241 | <param name="action">action to invoke on submit</param> |
4242 | </member> | 4242 | <param name="isAjax">form should be posted as ajax</param> |
4243 | <member name="T:HttpServer.Parser.RequestLineEventArgs"> | 4243 | <returns>html code</returns> |
4244 | <summary> | 4244 | <example> |
4245 | Used when the request line have been successfully parsed. | 4245 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); |
4246 | </summary> | 4246 | </example> |
4247 | </member> | 4247 | </member> |
4248 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)"> | 4248 | <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])"> |
4249 | <summary> | 4249 | <summary> |
4250 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. | 4250 | Create a link tag. |
4251 | </summary> | 4251 | </summary> |
4252 | <param name="httpMethod">The HTTP method.</param> | 4252 | <param name="url">url to go to</param> |
4253 | <param name="uriPath">The URI path.</param> | 4253 | <param name="title">link title (text that is displayed)</param> |
4254 | <param name="httpVersion">The HTTP version.</param> | 4254 | <param name="htmlAttributes">html attributes, name, value, name, value</param> |
4255 | </member> | 4255 | <returns>html code</returns> |
4256 | <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor"> | 4256 | <example> |
4257 | <summary> | 4257 | WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); |
4258 | Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class. | 4258 | </example> |
4259 | </summary> | 4259 | </member> |
4260 | </member> | 4260 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])"> |
4261 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod"> | 4261 | <summary> |
4262 | <summary> | 4262 | Build a link |
4263 | Gets or sets http method. | 4263 | </summary> |
4264 | </summary> | 4264 | <param name="url">url to go to.</param> |
4265 | <remarks> | 4265 | <param name="title">title of link (displayed text)</param> |
4266 | Should be one of the methods declared in <see cref="T:HttpServer.Method"/>. | 4266 | <param name="htmlAttributes">extra html attributes.</param> |
4267 | </remarks> | 4267 | <returns>a complete link</returns> |
4268 | </member> | 4268 | </member> |
4269 | <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion"> | 4269 | <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])"> |
4270 | <summary> | 4270 | <summary> |
4271 | Gets or sets the version of the HTTP protocol that the client want to use. | 4271 | Build a link |
4272 | </summary> | 4272 | </summary> |
4273 | </member> | 4273 | <param name="url">url to go to.</param> |
4274 | <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath"> | 4274 | <param name="title">title of link (displayed text)</param> |
4275 | <summary> | 4275 | <param name="htmlAttributes">extra html attributes.</param> |
4276 | Gets or sets requested URI path. | 4276 | <returns>a complete link</returns> |
4277 | </summary> | 4277 | <param name="options">more options</param> |
4278 | </member> | 4278 | </member> |
4279 | <member name="T:HttpServer.RealmHandler"> | 4279 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4280 | <summary> | 4280 | <summary> |
4281 | Delegate used to find a realm/domain. | 4281 | Obsolete |
4282 | </summary> | 4282 | </summary> |
4283 | <param name="domain"></param> | 4283 | <param name="name">Obsolete</param> |
4284 | <returns></returns> | 4284 | <param name="collection">Obsolete</param> |
4285 | <remarks> | 4285 | <param name="getIdTitle">Obsolete</param> |
4286 | Realms are used during HTTP Authentication | 4286 | <param name="selectedValue">Obsolete</param> |
4287 | </remarks> | 4287 | <param name="firstEmpty">Obsolete</param> |
4288 | <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/> | 4288 | <returns>Obsolete</returns> |
4289 | <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/> | 4289 | </member> |
4290 | </member> | 4290 | <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> |
4291 | <member name="T:HttpServer.HttpServer"> | 4291 | <summary> |
4292 | <summary> | 4292 | Obsolete |
4293 | A complete HTTP server, you need to add a module to it to be able to handle incoming requests. | 4293 | </summary> |
4294 | </summary> | 4294 | <param name="name">Obsolete</param> |
4295 | <example> | 4295 | <param name="id">Obsolete</param> |
4296 | <code> | 4296 | <param name="collection">Obsolete</param> |
4297 | // this small example will add two web site modules, thus handling | 4297 | <param name="getIdTitle">Obsolete</param> |
4298 | // two different sites. In reality you should add Controller modules or something | 4298 | <param name="selectedValue">Obsolete</param> |
4299 | // two the website modules to be able to handle different requests. | 4299 | <param name="firstEmpty">Obsolete</param> |
4300 | HttpServer server = new HttpServer(); | 4300 | <returns>Obsolete</returns> |
4301 | server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB")); | 4301 | </member> |
4302 | server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX")); | 4302 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)"> |
4303 | 4303 | <summary> | |
4304 | // start regular http | 4304 | Render errors into a UL with class "errors" |
4305 | server.Start(IPAddress.Any, 80); | 4305 | </summary> |
4306 | 4306 | <param name="className">class used by UL-tag.</param> | |
4307 | // start https | 4307 | <param name="theList">items to list</param> |
4308 | server.Start(IPAddress.Any, 443, myCertificate); | 4308 | <returns>an unordered html list.</returns> |
4309 | </code> | 4309 | </member> |
4310 | </example> | 4310 | <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)"> |
4311 | <seealso cref="T:HttpServer.HttpModules.HttpModule"/> | 4311 | <summary> |
4312 | <seealso cref="T:HttpServer.HttpModules.FileModule"/> | 4312 | Render errors into a UL with class "errors" |
4313 | <seealso cref="T:HttpServer.HttpListener"/> | 4313 | </summary> |
4314 | </member> | 4314 | <param name="className">class used by UL-tag.</param> |
4315 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)"> | 4315 | <param name="theList">items to list</param> |
4316 | <summary> | 4316 | <returns>an unordered html list.</returns> |
4317 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4317 | </member> |
4318 | </summary> | 4318 | <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)"> |
4319 | <param name="provider">Used to get all components used in the server..</param> | 4319 | <summary> |
4320 | </member> | 4320 | Render errors into a UL with class "errors" |
4321 | <member name="M:HttpServer.HttpServer.#ctor"> | 4321 | </summary> |
4322 | <summary> | 4322 | <param name="errors"></param> |
4323 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4323 | <returns></returns> |
4324 | </summary> | 4324 | </member> |
4325 | </member> | 4325 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])"> |
4326 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)"> | 4326 | <summary> |
4327 | <summary> | 4327 | Generates a list with html attributes. |
4328 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4328 | </summary> |
4329 | </summary> | 4329 | <param name="sb">StringBuilder that the options should be added to.</param> |
4330 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | 4330 | <param name="firstOptions">attributes set by user.</param> |
4331 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | 4331 | <param name="secondOptions">attributes set by any of the helper classes.</param> |
4332 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | 4332 | </member> |
4333 | </member> | 4333 | <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])"> |
4334 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)"> | 4334 | <summary> |
4335 | <summary> | 4335 | Generates a list with html attributes. |
4336 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4336 | </summary> |
4337 | </summary> | 4337 | <param name="sb">StringBuilder that the options should be added to.</param> |
4338 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | 4338 | <param name="options"></param> |
4339 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | 4339 | </member> |
4340 | </member> | 4340 | <member name="T:HttpServer.Helpers.JavascriptHelperImplementation"> |
4341 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)"> | 4341 | <summary> |
4342 | <summary> | 4342 | Purpose of this class is to create a javascript toolkit independent javascript helper. |
4343 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4343 | </summary> |
4344 | </summary> | 4344 | </member> |
4345 | <param name="logWriter">The log writer.</param> | 4345 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)"> |
4346 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | 4346 | <summary> |
4347 | </member> | 4347 | Generates a list with JS options. |
4348 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)"> | 4348 | </summary> |
4349 | <summary> | 4349 | <param name="sb">StringBuilder that the options should be added to.</param> |
4350 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4350 | <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param> |
4351 | </summary> | 4351 | <param name="startWithComma">true if we should start with a comma.</param> |
4352 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | 4352 | </member> |
4353 | <param name="logWriter">The log writer.</param> | 4353 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])"> |
4354 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | 4354 | <summary> |
4355 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | 4355 | Removes any javascript parameters from an array of parameters |
4356 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | 4356 | </summary> |
4357 | </member> | 4357 | <param name="options">The array of parameters to remove javascript params from</param> |
4358 | <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)"> | 4358 | <returns>An array of html parameters</returns> |
4359 | <summary> | 4359 | </member> |
4360 | Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class. | 4360 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])"> |
4361 | </summary> | 4361 | <summary> |
4362 | <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param> | 4362 | javascript action that should be added to the "onsubmit" event in the form tag. |
4363 | <param name="sessionStore">A session store is used to save and retrieve sessions</param> | 4363 | </summary> |
4364 | <param name="logWriter">The log writer.</param> | 4364 | <returns></returns> |
4365 | <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/> | 4365 | <remarks>All javascript option names should end with colon.</remarks> |
4366 | <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/> | 4366 | <example> |
4367 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | 4367 | <code> |
4368 | <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/> | 4368 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); |
4369 | </member> | 4369 | </code> |
4370 | <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)"> | 4370 | </example> |
4371 | <summary> | 4371 | </member> |
4372 | Adds the specified rule. | 4372 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])"> |
4373 | </summary> | 4373 | <summary> |
4374 | <param name="rule">The rule.</param> | 4374 | Requests a url through ajax |
4375 | </member> | 4375 | </summary> |
4376 | <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)"> | 4376 | <param name="url">url to fetch</param> |
4377 | <summary> | 4377 | <param name="options">optional options in format "key, value, key, value", used in JS request object.</param> |
4378 | Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server. | 4378 | <returns>a link tag</returns> |
4379 | </summary> | 4379 | <remarks>All javascript option names should end with colon.</remarks> |
4380 | <param name="module">mode to add</param> | 4380 | <example> |
4381 | </member> | 4381 | <code> |
4382 | <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)"> | 4382 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); |
4383 | <summary> | 4383 | </code> |
4384 | Decodes the request body. | 4384 | </example> |
4385 | </summary> | 4385 | </member> |
4386 | <param name="request">The request.</param> | 4386 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])"> |
4387 | <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception> | 4387 | <summary> |
4388 | </member> | 4388 | Ajax requests that updates an element with |
4389 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)"> | 4389 | the fetched content |
4390 | <summary> | 4390 | </summary> |
4391 | Generate a HTTP error page (that will be added to the response body). | 4391 | <param name="url">Url to fetch content from</param> |
4392 | response status code is also set. | 4392 | <param name="targetId">element to update</param> |
4393 | </summary> | 4393 | <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param> |
4394 | <param name="response">Response that the page will be generated in.</param> | 4394 | <returns>A link tag.</returns> |
4395 | <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param> | 4395 | <remarks>All javascript option names should end with colon.</remarks> |
4396 | <param name="body">response body contents.</param> | 4396 | <example> |
4397 | </member> | 4397 | <code> |
4398 | <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)"> | 4398 | JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');"); |
4399 | <summary> | 4399 | </code> |
4400 | Generate a HTTP error page (that will be added to the response body). | 4400 | </example> |
4401 | response status code is also set. | 4401 | </member> |
4402 | </summary> | 4402 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"> |
4403 | <param name="response">Response that the page will be generated in.</param> | 4403 | <summary> |
4404 | <param name="err">exception.</param> | 4404 | A link that pop ups a Dialog (overlay div) |
4405 | </member> | 4405 | </summary> |
4406 | <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)"> | 4406 | <param name="url">url to contents of dialog</param> |
4407 | <summary> | 4407 | <param name="title">link title</param> |
4408 | Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s. | 4408 | <returns>A "a"-tag that popups a dialog when clicked</returns> |
4409 | </summary> | 4409 | <param name="htmlAttributes">name/value of html attributes</param> |
4410 | <param name="request">HTTP request</param> | 4410 | <example> |
4411 | <returns>domain/realm.</returns> | 4411 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); |
4412 | </member> | 4412 | </example> |
4413 | <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 4413 | </member> |
4414 | <summary> | 4414 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog"> |
4415 | Process an incoming request. | 4415 | <summary> |
4416 | </summary> | 4416 | Close a javascript dialog window/div. |
4417 | <param name="context">connection to client</param> | 4417 | </summary> |
4418 | <param name="request">request information</param> | 4418 | <returns>javascript for closing a dialog.</returns> |
4419 | <param name="response">response that should be filled</param> | 4419 | <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/> |
4420 | <param name="session">session information</param> | 4420 | </member> |
4421 | </member> | 4421 | <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])"> |
4422 | <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)"> | 4422 | <summary> |
4423 | <summary> | 4423 | Creates a new modal dialog window |
4424 | Can be overloaded to implement stuff when a client have been connected. | 4424 | </summary> |
4425 | </summary> | 4425 | <param name="url">url to open in window.</param> |
4426 | <remarks> | 4426 | <param name="title">window title (may not be supported by all js implementations)</param> |
4427 | Default implementation does nothing. | 4427 | <param name="options"></param> |
4428 | </remarks> | 4428 | <returns></returns> |
4429 | <param name="client">client that disconnected</param> | 4429 | </member> |
4430 | <param name="error">disconnect reason</param> | 4430 | <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine"> |
4431 | </member> | 4431 | <summary> |
4432 | <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 4432 | |
4433 | <summary> | 4433 | </summary> |
4434 | Handle authentication | 4434 | <returns></returns> |
4435 | </summary> | 4435 | <exception cref="T:System.ArgumentOutOfRangeException"></exception> |
4436 | <param name="request"></param> | 4436 | <exception cref="T:System.ObjectDisposedException"></exception> |
4437 | <param name="response"></param> | 4437 | </member> |
4438 | <param name="session"></param> | 4438 | <member name="T:HttpServer.FormDecoders.HttpMultipart.Element"> |
4439 | <returns>true if request can be handled; false if not.</returns> | 4439 | <summary>Represents a field in a multipart form</summary> |
4440 | <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception> | 4440 | </member> |
4441 | </member> | 4441 | <member name="T:HttpServer.Exceptions.BadRequestException"> |
4442 | <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)"> | 4442 | <summary> |
4443 | <summary> | 4443 | The request could not be understood by the server due to malformed syntax. |
4444 | Will request authentication. | 4444 | The client SHOULD NOT repeat the request without modifications. |
4445 | </summary> | 4445 | |
4446 | <remarks> | 4446 | Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php |
4447 | Sends respond to client, nothing else can be done with the response after this. | 4447 | </summary> |
4448 | </remarks> | 4448 | </member> |
4449 | <param name="mod"></param> | 4449 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)"> |
4450 | <param name="request"></param> | 4450 | <summary> |
4451 | <param name="response"></param> | 4451 | Create a new bad request exception. |
4452 | </member> | 4452 | </summary> |
4453 | <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)"> | 4453 | <param name="errMsg">reason to why the request was bad.</param> |
4454 | <summary> | 4454 | </member> |
4455 | Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully. | 4455 | <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)"> |
4456 | </summary> | 4456 | <summary> |
4457 | <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param> | 4457 | Create a new bad request exception. |
4458 | <param name="args">The request.</param> | 4458 | </summary> |
4459 | </member> | 4459 | <param name="errMsg">reason to why the request was bad.</param> |
4460 | <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 4460 | <param name="inner">inner exception</param> |
4461 | <summary> | 4461 | </member> |
4462 | To be able to track request count. | 4462 | <member name="T:HttpServer.HttpFile"> |
4463 | </summary> | 4463 | <summary> |
4464 | <param name="context"></param> | 4464 | Container class for posted files |
4465 | <param name="request"></param> | 4465 | </summary> |
4466 | </member> | 4466 | </member> |
4467 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)"> | 4467 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"> |
4468 | <summary> | 4468 | <summary> |
4469 | Start the web server using regular HTTP. | 4469 | Creates a container for a posted file |
4470 | </summary> | 4470 | </summary> |
4471 | <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param> | 4471 | <param name="name">The identifier of the post field</param> |
4472 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | 4472 | <param name="filename">The file path</param> |
4473 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 4473 | <param name="contentType">The content type of the file</param> |
4474 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | 4474 | <param name="uploadFilename">The name of the file uploaded</param> |
4475 | </member> | 4475 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> |
4476 | <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> | 4476 | </member> |
4477 | <summary> | 4477 | <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)"> |
4478 | Accept secure connections. | 4478 | <summary> |
4479 | </summary> | 4479 | Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/> |
4480 | <param name="address">IP Address to listen on, use <see cref="F:System.Net.IPAddress.Any"/> to accept connections on all IP Addresses / network cards.</param> | 4480 | </summary> |
4481 | <param name="port">Port to listen on. 80 can be a good idea =)</param> | 4481 | <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception> |
4482 | <param name="certificate">Certificate to use</param> | 4482 | </member> |
4483 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> | 4483 | <member name="M:HttpServer.HttpFile.Finalize"> |
4484 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> | 4484 | <summary>Destructor disposing the file</summary> |
4485 | </member> | 4485 | </member> |
4486 | <member name="M:HttpServer.HttpServer.Stop"> | 4486 | <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)"> |
4487 | <summary> | 4487 | <summary> |
4488 | shut down the server and listeners | 4488 | Deletes the temporary file |
4489 | </summary> | 4489 | </summary> |
4490 | </member> | 4490 | <param name="disposing">True if manual dispose</param> |
4491 | <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)"> | 4491 | </member> |
4492 | <summary> | 4492 | <member name="M:HttpServer.HttpFile.Dispose"> |
4493 | write an entry to the log file | 4493 | <summary> |
4494 | </summary> | 4494 | Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization |
4495 | <param name="prio">importance of the message</param> | 4495 | </summary> |
4496 | <param name="message">log message</param> | 4496 | </member> |
4497 | </member> | 4497 | <member name="P:HttpServer.HttpFile.Name"> |
4498 | <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)"> | 4498 | <summary> |
4499 | <summary> | 4499 | The name/id of the file |
4500 | write an entry to the log file | 4500 | </summary> |
4501 | </summary> | 4501 | </member> |
4502 | <param name="source">object that wrote the message</param> | 4502 | <member name="P:HttpServer.HttpFile.Filename"> |
4503 | <param name="prio">importance of the message</param> | 4503 | <summary> |
4504 | <param name="message">log message</param> | 4504 | The full file path |
4505 | </member> | 4505 | </summary> |
4506 | <member name="P:HttpServer.HttpServer.Current"> | 4506 | </member> |
4507 | <summary> | 4507 | <member name="P:HttpServer.HttpFile.UploadFilename"> |
4508 | Server that is handling the current request. | 4508 | <summary> |
4509 | </summary> | 4509 | The name of the uploaded file |
4510 | <remarks> | 4510 | </summary> |
4511 | Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object. | 4511 | </member> |
4512 | </remarks> | 4512 | <member name="P:HttpServer.HttpFile.ContentType"> |
4513 | </member> | 4513 | <summary> |
4514 | <member name="P:HttpServer.HttpServer.AuthenticationModules"> | 4514 | The type of file |
4515 | <summary> | 4515 | </summary> |
4516 | Modules used for authentication. The module that is is added first is used as | 4516 | </member> |
4517 | the default authentication module. | 4517 | <member name="T:HttpServer.Helpers.JSHelper"> |
4518 | </summary> | 4518 | <summary> |
4519 | <remarks>Use the corresponding property | 4519 | Will contain helper functions for javascript. |
4520 | in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks> | 4520 | </summary> |
4521 | </member> | 4521 | </member> |
4522 | <member name="P:HttpServer.HttpServer.FormDecoderProviders"> | 4522 | <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])"> |
4523 | <summary> | 4523 | <summary> |
4524 | Form decoder providers are used to decode request body (which normally contains form data). | 4524 | Requests a url through ajax |
4525 | </summary> | 4525 | </summary> |
4526 | </member> | 4526 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
4527 | <member name="P:HttpServer.HttpServer.ServerName"> | 4527 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> |
4528 | <summary> | 4528 | <returns>a link tag</returns> |
4529 | Server name sent in HTTP responses. | 4529 | <remarks>onclick attribute is used by this method.</remarks> |
4530 | </summary> | 4530 | <example> |
4531 | <remarks> | 4531 | <code> |
4532 | Do NOT include version in name, since it makes it | 4532 | // plain text |
4533 | easier for hackers. | 4533 | JSHelper.AjaxRequest("'/user/show/1'"); |
4534 | </remarks> | 4534 | |
4535 | </member> | 4535 | // ajax request using this.href |
4536 | <member name="P:HttpServer.HttpServer.SessionCookieName"> | 4536 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; |
4537 | <summary> | 4537 | </code> |
4538 | Name of cookie where session id is stored. | 4538 | </example> |
4539 | </summary> | 4539 | </member> |
4540 | </member> | 4540 | <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])"> |
4541 | <member name="P:HttpServer.HttpServer.LogWriter"> | 4541 | <summary> |
4542 | <summary> | 4542 | Ajax requests that updates an element with |
4543 | Specified where logging should go. | 4543 | the fetched content |
4544 | </summary> | 4544 | </summary> |
4545 | <seealso cref="T:HttpServer.NullLogWriter"/> | 4545 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
4546 | <seealso cref="T:HttpServer.ConsoleLogWriter"/> | 4546 | <param name="targetId">element to update</param> |
4547 | <seealso cref="P:HttpServer.HttpServer.LogWriter"/> | 4547 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> |
4548 | </member> | 4548 | <returns>A link tag.</returns> |
4549 | <member name="P:HttpServer.HttpServer.BackLog"> | 4549 | <example> |
4550 | <summary> | 4550 | <code> |
4551 | Number of connections that can wait to be accepted by the server. | 4551 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); |
4552 | </summary> | 4552 | </code> |
4553 | <remarks>Default is 10.</remarks> | 4553 | </example> |
4554 | </member> | 4554 | </member> |
4555 | <member name="P:HttpServer.HttpServer.MaxRequestCount"> | 4555 | <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"> |
4556 | <summary> | 4556 | <summary> |
4557 | Gets or sets maximum number of allowed simultaneous requests. | 4557 | Opens contents in a dialog window. |
4558 | </summary> | 4558 | </summary> |
4559 | <remarks> | 4559 | <param name="url">url to contents of dialog</param> |
4560 | <para> | 4560 | <param name="title">link title</param> |
4561 | This property is useful in busy systems. The HTTP server | 4561 | <param name="options">name, value, name, value, all parameter names should end with colon.</param> |
4562 | will start queuing new requests if this limit is hit, instead | 4562 | </member> |
4563 | of trying to process all incoming requests directly. | 4563 | <member name="M:HttpServer.Helpers.JSHelper.CloseDialog"> |
4564 | </para> | 4564 | <summary> |
4565 | <para> | 4565 | Close a javascript dialog window/div. |
4566 | The default number if allowed simultaneous requests are 10. | 4566 | </summary> |
4567 | </para> | 4567 | <returns>javascript for closing a dialog.</returns> |
4568 | </remarks> | 4568 | <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/> |
4569 | </member> | 4569 | </member> |
4570 | <member name="P:HttpServer.HttpServer.MaxQueueSize"> | 4570 | <member name="T:HttpServer.HttpRequest"> |
4571 | <summary> | 4571 | <summary> |
4572 | Gets or sets maximum number of requests queuing to be handled. | 4572 | Contains server side HTTP request information. |
4573 | </summary> | 4573 | </summary> |
4574 | <remarks> | 4574 | </member> |
4575 | <para> | 4575 | <member name="F:HttpServer.HttpRequest.UriSplitters"> |
4576 | The WebServer will start turning requests away if response code | 4576 | <summary> |
4577 | <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server | 4577 | Chars used to split an URL path into multiple parts. |
4578 | is too busy to be able to handle the request. | 4578 | </summary> |
4579 | </para> | 4579 | </member> |
4580 | </remarks> | 4580 | <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)"> |
4581 | </member> | 4581 | <summary> |
4582 | <member name="E:HttpServer.HttpServer.RealmWanted"> | 4582 | Assign a form. |
4583 | <summary> | 4583 | </summary> |
4584 | Realms are used during HTTP authentication. | 4584 | <param name="form"></param> |
4585 | Default realm is same as server name. | 4585 | </member> |
4586 | </summary> | 4586 | <member name="M:HttpServer.HttpRequest.Clone"> |
4587 | </member> | 4587 | <summary> |
4588 | <member name="E:HttpServer.HttpServer.ExceptionThrown"> | 4588 | Creates a new object that is a copy of the current instance. |
4589 | <summary> | 4589 | </summary> |
4590 | Let's to receive unhandled exceptions from the threads. | 4590 | |
4591 | </summary> | 4591 | <returns> |
4592 | <remarks> | 4592 | A new object that is a copy of this instance. |
4593 | Exceptions will be thrown during debug mode if this event is not used, | 4593 | </returns> |
4594 | exceptions will be printed to console and suppressed during release mode. | 4594 | <filterpriority>2</filterpriority> |
4595 | </remarks> | 4595 | </member> |
4596 | </member> | 4596 | <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)"> |
4597 | <member name="T:HttpServer.HttpModules.ResourceFileModule"> | 4597 | <summary> |
4598 | <summary> | 4598 | Decode body into a form. |
4599 | Serves files that are stored in embedded resources. | 4599 | </summary> |
4600 | </summary> | 4600 | <param name="providers">A list with form decoders.</param> |
4601 | </member> | 4601 | <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception> |
4602 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor"> | 4602 | <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception> |
4603 | <summary> | 4603 | </member> |
4604 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. | 4604 | <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)"> |
4605 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | 4605 | <summary> |
4606 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | 4606 | Cookies |
4607 | </summary> | 4607 | </summary> |
4608 | </member> | 4608 | <param name="cookies">the cookies</param> |
4609 | <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)"> | 4609 | </member> |
4610 | <summary> | 4610 | <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)"> |
4611 | Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class. | 4611 | <summary> |
4612 | Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later | 4612 | Create a response object. |
4613 | through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired. | 4613 | </summary> |
4614 | </summary> | 4614 | <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns> |
4615 | <param name="logWriter">The log writer to use when logging events</param> | 4615 | </member> |
4616 | </member> | 4616 | <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)"> |
4617 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"> | 4617 | <summary> |
4618 | <summary> | 4618 | Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>. |
4619 | Mimtypes that this class can handle per default | 4619 | </summary> |
4620 | </summary> | 4620 | <param name="name">Name of the header, should not be URL encoded</param> |
4621 | </member> | 4621 | <param name="value">Value of the header, should not be URL encoded</param> |
4622 | <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)"> | 4622 | <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception> |
4623 | <summary> | 4623 | </member> |
4624 | Loads resources from a namespace in the given assembly to an uri | 4624 | <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)"> |
4625 | </summary> | 4625 | <summary> |
4626 | <param name="toUri">The uri to map the resources to</param> | 4626 | Add bytes to the body |
4627 | <param name="fromAssembly">The assembly in which the resources reside</param> | 4627 | </summary> |
4628 | <param name="fromNamespace">The namespace from which to load the resources</param> | 4628 | <param name="bytes">buffer to read bytes from</param> |
4629 | <usage> | 4629 | <param name="offset">where to start read</param> |
4630 | resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); | 4630 | <param name="length">number of bytes to read</param> |
4631 | 4631 | <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns> | |
4632 | will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css | 4632 | <exception cref="T:System.InvalidOperationException">If body is not writable</exception> |
4633 | </usage> | 4633 | <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception> |
4634 | <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns> | 4634 | <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception> |
4635 | </member> | 4635 | </member> |
4636 | <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)"> | 4636 | <member name="M:HttpServer.HttpRequest.Clear"> |
4637 | <summary> | 4637 | <summary> |
4638 | Returns true if the module can handle the request | 4638 | Clear everything in the request |
4639 | </summary> | 4639 | </summary> |
4640 | </member> | 4640 | </member> |
4641 | <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> | 4641 | <member name="P:HttpServer.HttpRequest.Secure"> |
4642 | <summary> | 4642 | <summary> |
4643 | Method that process the url | 4643 | Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure. |
4644 | </summary> | 4644 | </summary> |
4645 | <param name="request">Information sent by the browser about the request</param> | 4645 | </member> |
4646 | <param name="response">Information that is being sent back to the client.</param> | 4646 | <member name="P:HttpServer.HttpRequest.UriPath"> |
4647 | <param name="session">Session used to </param> | 4647 | <summary> |
4648 | <returns>true if this module handled the request.</returns> | 4648 | Path and query (will be merged with the host header) and put in Uri |
4649 | </member> | 4649 | </summary> |
4650 | <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"> | 4650 | <see cref="P:HttpServer.HttpRequest.Uri"/> |
4651 | <summary> | 4651 | </member> |
4652 | List with all mime-type that are allowed. | 4652 | <member name="P:HttpServer.HttpRequest.BodyIsComplete"> |
4653 | </summary> | 4653 | <summary> |
4654 | <remarks>All other mime types will result in a Forbidden http status code.</remarks> | 4654 | Gets whether the body is complete. |
4655 | </member> | 4655 | </summary> |
4656 | <member name="T:HttpServer.Helpers.ResourceInfo"> | 4656 | </member> |
4657 | <summary> | 4657 | <member name="P:HttpServer.HttpRequest.AcceptTypes"> |
4658 | Container to bind resource names to assemblies | 4658 | <summary> |
4659 | </summary> | 4659 | Gets kind of types accepted by the client. |
4660 | </member> | 4660 | </summary> |
4661 | <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)"> | 4661 | </member> |
4662 | <summary> | 4662 | <member name="P:HttpServer.HttpRequest.Body"> |
4663 | Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/> | 4663 | <summary> |
4664 | </summary> | 4664 | Gets or sets body stream. |
4665 | <param name="uri">The dot seperated uri the resource maps to</param> | 4665 | </summary> |
4666 | <param name="resourceName">The full resource name</param> | 4666 | </member> |
4667 | <param name="assembly">The assembly the resource exists in</param> | 4667 | <member name="P:HttpServer.HttpRequest.Connection"> |
4668 | </member> | 4668 | <summary> |
4669 | <member name="M:HttpServer.Helpers.ResourceInfo.GetStream"> | 4669 | Gets or sets kind of connection used for the session. |
4670 | <summary> | 4670 | </summary> |
4671 | Retrieves a stream to the resource | 4671 | </member> |
4672 | </summary> | 4672 | <member name="P:HttpServer.HttpRequest.ContentLength"> |
4673 | <returns>Null if the resource couldn't be located somehow</returns> | 4673 | <summary> |
4674 | </member> | 4674 | Gets or sets number of bytes in the body. |
4675 | <member name="P:HttpServer.Helpers.ResourceInfo.Assembly"> | 4675 | </summary> |
4676 | <summary> | 4676 | </member> |
4677 | Retrieves the assembly the resource resides in | 4677 | <member name="P:HttpServer.HttpRequest.Headers"> |
4678 | </summary> | 4678 | <summary> |
4679 | </member> | 4679 | Gets headers sent by the client. |
4680 | <member name="P:HttpServer.Helpers.ResourceInfo.Uri"> | 4680 | </summary> |
4681 | <summary> | 4681 | </member> |
4682 | Retrieves the full name/path of the assembly | 4682 | <member name="P:HttpServer.HttpRequest.HttpVersion"> |
4683 | </summary> | 4683 | <summary> |
4684 | </member> | 4684 | Gets or sets version of HTTP protocol that's used. |
4685 | <member name="P:HttpServer.Helpers.ResourceInfo.Extension"> | 4685 | </summary> |
4686 | <summary> | 4686 | <remarks> |
4687 | Retrieves the extension of the resource | 4687 | Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>. |
4688 | </summary> | 4688 | </remarks> |
4689 | </member> | 4689 | <seealso cref="T:HttpServer.HttpHelper"/> |
4690 | <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri"> | 4690 | </member> |
4691 | <summary>Returns the Uri without extension</summary> | 4691 | <member name="P:HttpServer.HttpRequest.Method"> |
4692 | </member> | 4692 | <summary> |
4693 | <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName"> | 4693 | Gets or sets requested method. |
4694 | <summary>Retrieves the full path name to the resource file</summary> | 4694 | </summary> |
4695 | </member> | 4695 | <value></value> |
4696 | <member name="T:HttpServer.Helpers.FormHelper"> | 4696 | <remarks> |
4697 | <summary> | 4697 | Will always be in upper case. |
4698 | Helpers making it easier to work with forms. | 4698 | </remarks> |
4699 | </summary> | 4699 | <see cref="!:HttpServer.Method"/> |
4700 | <seealso cref="T:HttpServer.Helpers.ObjectForm"/> | 4700 | </member> |
4701 | </member> | 4701 | <member name="P:HttpServer.HttpRequest.QueryString"> |
4702 | <member name="F:HttpServer.Helpers.FormHelper.JSImplementation"> | 4702 | <summary> |
4703 | <summary> | 4703 | Gets variables sent in the query string |
4704 | Used to let the website use different JavaScript libraries. | 4704 | </summary> |
4705 | Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/> | 4705 | </member> |
4706 | </summary> | 4706 | <member name="P:HttpServer.HttpRequest.Uri"> |
4707 | </member> | 4707 | <summary> |
4708 | <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])"> | 4708 | Gets or sets requested URI. |
4709 | <summary> | 4709 | </summary> |
4710 | Create a <form> tag. | 4710 | </member> |
4711 | </summary> | 4711 | <member name="P:HttpServer.HttpRequest.UriParts"> |
4712 | <param name="id">name of form</param> | 4712 | <summary> |
4713 | <param name="action">action to invoke on submit</param> | 4713 | Uri absolute path splitted into parts. |
4714 | <param name="isAjax">form should be posted as Ajax</param> | 4714 | </summary> |
4715 | <returns>HTML code</returns> | 4715 | <example> |
4716 | <example> | 4716 | // uri is: http://gauffin.com/code/tiny/ |
4717 | <code> | 4717 | Console.WriteLine(request.UriParts[0]); // result: code |
4718 | // without options | 4718 | Console.WriteLine(request.UriParts[1]); // result: tiny |
4719 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); | 4719 | </example> |
4720 | 4720 | <remarks> | |
4721 | // with options | 4721 | If you're using controllers than the first part is controller name, |
4722 | WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); | 4722 | the second part is method name and the third part is Id property. |
4723 | </code> | 4723 | </remarks> |
4724 | </example> | 4724 | <seealso cref="P:HttpServer.HttpRequest.Uri"/> |
4725 | <param name="options">HTML attributes or JavaScript options.</param> | 4725 | </member> |
4726 | <remarks>Method will ALWAYS be POST.</remarks> | 4726 | <member name="P:HttpServer.HttpRequest.Param"> |
4727 | <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception> | 4727 | <summary> |
4728 | </member> | 4728 | Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>. |
4729 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4729 | </summary> |
4730 | <summary> | 4730 | </member> |
4731 | Creates a select list with the values in a collection. | 4731 | <member name="P:HttpServer.HttpRequest.Form"> |
4732 | </summary> | 4732 | <summary> |
4733 | <param name="name">Name of the SELECT-tag</param> | 4733 | Gets form parameters. |
4734 | <param name="collection">collection used to generate options.</param> | 4734 | </summary> |
4735 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | 4735 | </member> |
4736 | <param name="selectedValue">value that should be marked as selected.</param> | 4736 | <member name="P:HttpServer.HttpRequest.IsAjax"> |
4737 | <param name="firstEmpty">First row should contain an empty value.</param> | 4737 | <summary> |
4738 | <returns>string containing a SELECT-tag.</returns> | 4738 | Gets whether the request was made by Ajax (Asynchronous JavaScript) |
4739 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | 4739 | </summary> |
4740 | </member> | 4740 | </member> |
4741 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4741 | <member name="P:HttpServer.HttpRequest.Cookies"> |
4742 | <summary> | 4742 | <summary> |
4743 | Creates a select list with the values in a collection. | 4743 | Gets cookies that was sent with the request. |
4744 | </summary> | 4744 | </summary> |
4745 | <param name="name">Name of the SELECT-tag</param> | 4745 | </member> |
4746 | <param name="id">Id of the SELECT-tag</param> | 4746 | <member name="T:HttpServer.HttpModules.WebSiteModule"> |
4747 | <param name="collection">collection used to generate options.</param> | 4747 | <summary> |
4748 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | 4748 | The website module let's you handle multiple websites in the same server. |
4749 | <param name="selectedValue">value that should be marked as selected.</param> | 4749 | It uses the "Host" header to check which site you want. |
4750 | <param name="firstEmpty">First row should contain an empty value.</param> | 4750 | </summary> |
4751 | <returns>string containing a SELECT-tag.</returns> | 4751 | <remarks>It's recommended that you do not |
4752 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | 4752 | add any other modules to HttpServer if you are using the website module. Instead, |
4753 | <example> | 4753 | add all wanted modules to each website.</remarks> |
4754 | <code> | 4754 | </member> |
4755 | // Class that is going to be used in a SELECT-tag. | 4755 | <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)"> |
4756 | public class User | 4756 | <summary> |
4757 | { | 4757 | |
4758 | private readonly string _realName; | 4758 | </summary> |
4759 | private readonly int _id; | 4759 | <param name="host">domain name that should be handled.</param> |
4760 | public User(int id, string realName) | 4760 | <param name="name"></param> |
4761 | { | 4761 | </member> |
4762 | _id = id; | 4762 | <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
4763 | _realName = realName; | 4763 | <summary> |
4764 | } | 4764 | Method that process the url |
4765 | public string RealName | 4765 | </summary> |
4766 | { | 4766 | <param name="request">Information sent by the browser about the request</param> |
4767 | get { return _realName; } | 4767 | <param name="response">Information that is being sent back to the client.</param> |
4768 | } | 4768 | <param name="session">Session used to </param> |
4769 | 4769 | </member> | |
4770 | public int Id | 4770 | <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName"> |
4771 | { | 4771 | <summary> |
4772 | get { return _id; } | 4772 | Name of site. |
4773 | } | 4773 | </summary> |
4774 | } | 4774 | </member> |
4775 | 4775 | <member name="T:HttpServer.Helpers.ResourceInfo"> | |
4776 | // Using an inline delegate to generate the select list | 4776 | <summary> |
4777 | public void UserInlineDelegate() | 4777 | Container to bind resource names to assemblies |
4778 | { | 4778 | </summary> |
4779 | List<User> items = new List<User>(); | 4779 | </member> |
4780 | items.Add(new User(1, "adam")); | 4780 | <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)"> |
4781 | items.Add(new User(2, "bertial")); | 4781 | <summary> |
4782 | items.Add(new User(3, "david")); | 4782 | Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/> |
4783 | string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) | 4783 | </summary> |
4784 | { | 4784 | <param name="uri">The dot seperated uri the resource maps to</param> |
4785 | User user = (User)o; | 4785 | <param name="resourceName">The full resource name</param> |
4786 | id = user.Id; | 4786 | <param name="assembly">The assembly the resource exists in</param> |
4787 | value = user.RealName; | 4787 | </member> |
4788 | }, 2, true); | 4788 | <member name="M:HttpServer.Helpers.ResourceInfo.GetStream"> |
4789 | } | 4789 | <summary> |
4790 | 4790 | Retrieves a stream to the resource | |
4791 | // Using an method as delegate to generate the select list. | 4791 | </summary> |
4792 | public void UseExternalDelegate() | 4792 | <returns>Null if the resource couldn't be located somehow</returns> |
4793 | { | 4793 | </member> |
4794 | List<User> items = new List<User>(); | 4794 | <member name="P:HttpServer.Helpers.ResourceInfo.Assembly"> |
4795 | items.Add(new User(1, "adam")); | 4795 | <summary> |
4796 | items.Add(new User(2, "bertial")); | 4796 | Retrieves the assembly the resource resides in |
4797 | items.Add(new User(3, "david")); | 4797 | </summary> |
4798 | string htmlSelect = Select("users", "users", items, UserOptions, 1, true); | 4798 | </member> |
4799 | } | 4799 | <member name="P:HttpServer.Helpers.ResourceInfo.Uri"> |
4800 | 4800 | <summary> | |
4801 | // delegate returning id and title | 4801 | Retrieves the full name/path of the assembly |
4802 | public static void UserOptions(object o, out object id, out object title) | 4802 | </summary> |
4803 | { | 4803 | </member> |
4804 | User user = (User)o; | 4804 | <member name="P:HttpServer.Helpers.ResourceInfo.Extension"> |
4805 | id = user.Id; | 4805 | <summary> |
4806 | value = user.RealName; | 4806 | Retrieves the extension of the resource |
4807 | } | 4807 | </summary> |
4808 | </code> | 4808 | </member> |
4809 | </example> | 4809 | <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri"> |
4810 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | 4810 | <summary>Returns the Uri without extension</summary> |
4811 | </member> | 4811 | </member> |
4812 | <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])"> | 4812 | <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName"> |
4813 | <summary> | 4813 | <summary>Retrieves the full path name to the resource file</summary> |
4814 | Creates a select list with the values in a collection. | 4814 | </member> |
4815 | </summary> | 4815 | <member name="T:HttpServer.RequestParserFactory"> |
4816 | <param name="name">Name of the SELECT-tag</param> | 4816 | <summary> |
4817 | <param name="id">Id of the SELECT-tag</param> | 4817 | Creates request parsers when needed. |
4818 | <param name="collection">collection used to generate options.</param> | 4818 | </summary> |
4819 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | 4819 | </member> |
4820 | <param name="selectedValue">value that should be marked as selected.</param> | 4820 | <member name="T:HttpServer.IRequestParserFactory"> |
4821 | <param name="firstEmpty">First row should contain an empty value.</param> | 4821 | <summary> |
4822 | <param name="htmlAttributes">name, value collection of extra HTML attributes.</param> | 4822 | Creates request parsers when needed. |
4823 | <returns>string containing a SELECT-tag.</returns> | 4823 | </summary> |
4824 | <seealso cref="T:HttpServer.Helpers.GetIdTitle"/> | 4824 | </member> |
4825 | <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception> | 4825 | <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)"> |
4826 | <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception> | 4826 | <summary> |
4827 | </member> | 4827 | Create a new request parser. |
4828 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4828 | </summary> |
4829 | <summary> | 4829 | <param name="logWriter">Used when logging should be enabled.</param> |
4830 | Generate a list of HTML options | 4830 | <returns>A new request parser.</returns> |
4831 | </summary> | 4831 | </member> |
4832 | <param name="collection">collection used to generate options.</param> | 4832 | <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)"> |
4833 | <param name="getIdTitle">delegate used to return id and title from objects.</param> | 4833 | <summary> |
4834 | <param name="selectedValue">value that should be marked as selected.</param> | 4834 | Create a new request parser. |
4835 | <param name="firstEmpty">First row should contain an empty value.</param> | 4835 | </summary> |
4836 | <returns></returns> | 4836 | <param name="logWriter">Used when logging should be enabled.</param> |
4837 | <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception> | 4837 | <returns>A new request parser.</returns> |
4838 | </member> | 4838 | </member> |
4839 | <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"> | 4839 | <member name="T:HttpServer.Authentication.BasicAuthentication"> |
4840 | <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception> | 4840 | <summary> |
4841 | </member> | 4841 | The "basic" authentication scheme is based on the model that the |
4842 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])"> | 4842 | client must authenticate itself with a user-ID and a password for |
4843 | <summary> | 4843 | each realm. The realm value should be considered an opaque string |
4844 | Creates a check box. | 4844 | which can only be compared for equality with other realms on that |
4845 | </summary> | 4845 | server. The server will service the request only if it can validate |
4846 | <param name="name">element name</param> | 4846 | the user-ID and password for the protection space of the Request-URI. |
4847 | <param name="value">element value</param> | 4847 | There are no optional authentication parameters. |
4848 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | 4848 | </summary> |
4849 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | 4849 | </member> |
4850 | the box is checked or not. </param> | 4850 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
4851 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 4851 | <summary> |
4852 | <returns>a generated radio button</returns> | 4852 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
4853 | </member> | 4853 | </summary> |
4854 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])"> | 4854 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
4855 | <summary> | 4855 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
4856 | Creates a check box. | 4856 | </member> |
4857 | </summary> | 4857 | <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
4858 | <param name="name">element name</param> | 4858 | <summary> |
4859 | <param name="id">element id</param> | 4859 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class. |
4860 | <param name="value">element value</param> | 4860 | </summary> |
4861 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | 4861 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
4862 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | 4862 | </member> |
4863 | the box is checked or not. </param> | 4863 | <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])"> |
4864 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 4864 | <summary> |
4865 | <returns>a generated radio button</returns> | 4865 | Create a response that can be sent in the WWW-Authenticate header. |
4866 | <remarks> | 4866 | </summary> |
4867 | value in your business object. (check box will be selected if it matches the element value) | 4867 | <param name="realm">Realm that the user should authenticate in</param> |
4868 | </remarks> | 4868 | <param name="options">Not used in basic auth</param> |
4869 | </member> | 4869 | <returns>A correct auth request.</returns> |
4870 | <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])"> | 4870 | </member> |
4871 | <summary> | 4871 | <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
4872 | Creates a check box. | 4872 | <summary> |
4873 | </summary> | 4873 | An authentication response have been received from the web browser. |
4874 | <param name="name">element name</param> | 4874 | Check if it's correct |
4875 | <param name="id">element id</param> | 4875 | </summary> |
4876 | <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the | 4876 | <param name="authenticationHeader">Contents from the Authorization header</param> |
4877 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | 4877 | <param name="realm">Realm that should be authenticated</param> |
4878 | the box is checked or not. </param> | 4878 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> |
4879 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 4879 | <param name="options">Not used in basic auth</param> |
4880 | <returns>a generated radio button</returns> | 4880 | <returns>Authentication object that is stored for the request. A user class or something like that.</returns> |
4881 | <remarks>will set value to "1".</remarks> | 4881 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> |
4882 | </member> | 4882 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> |
4883 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])"> | 4883 | </member> |
4884 | <summary> | 4884 | <member name="P:HttpServer.Authentication.BasicAuthentication.Name"> |
4885 | Creates a RadioButton. | 4885 | <summary> |
4886 | </summary> | 4886 | name used in http request. |
4887 | <param name="name">element name</param> | 4887 | </summary> |
4888 | <param name="value">element value</param> | 4888 | </member> |
4889 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | 4889 | <member name="T:HttpServer.RequestParserState"> |
4890 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | 4890 | <summary> |
4891 | the box is checked or not. </param> | 4891 | Current state in the parsing. |
4892 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 4892 | </summary> |
4893 | <returns>a generated radio button</returns> | 4893 | </member> |
4894 | </member> | 4894 | <member name="F:HttpServer.RequestParserState.FirstLine"> |
4895 | <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])"> | 4895 | <summary> |
4896 | <summary> | 4896 | Should parse the request line |
4897 | Creates a RadioButton. | 4897 | </summary> |
4898 | </summary> | 4898 | </member> |
4899 | <param name="name">element name</param> | 4899 | <member name="F:HttpServer.RequestParserState.HeaderName"> |
4900 | <param name="id">element id</param> | 4900 | <summary> |
4901 | <param name="value">element value</param> | 4901 | Searching for a complete header name |
4902 | <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the | 4902 | </summary> |
4903 | type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if | 4903 | </member> |
4904 | the box is checked or not. </param> | 4904 | <member name="F:HttpServer.RequestParserState.AfterName"> |
4905 | <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param> | 4905 | <summary> |
4906 | <returns>a generated radio button</returns> | 4906 | Searching for colon after header name (ignoring white spaces) |
4907 | </member> | 4907 | </summary> |
4908 | <member name="M:HttpServer.Helpers.FormHelper.End"> | 4908 | </member> |
4909 | <summary> | 4909 | <member name="F:HttpServer.RequestParserState.Between"> |
4910 | form close tag | 4910 | <summary> |
4911 | </summary> | 4911 | Searching for start of header value (ignoring white spaces) |
4912 | <returns></returns> | 4912 | </summary> |
4913 | </member> | 4913 | </member> |
4914 | <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)"> | 4914 | <member name="F:HttpServer.RequestParserState.HeaderValue"> |
4915 | <summary> | 4915 | <summary> |
4916 | Add a component instance | 4916 | Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces) |
4917 | </summary> | 4917 | </summary> |
4918 | <typeparam name="T">Interface type</typeparam> | 4918 | </member> |
4919 | <param name="instance">Instance to add</param> | 4919 | <member name="F:HttpServer.RequestParserState.Body"> |
4920 | </member> | 4920 | <summary> |
4921 | <member name="M:HttpServer.ComponentProvider.Get``1"> | 4921 | Adding bytes to body |
4922 | <summary> | 4922 | </summary> |
4923 | Get a component. | 4923 | </member> |
4924 | </summary> | 4924 | <member name="T:HttpServer.FormDecoders.XmlDecoder"> |
4925 | <typeparam name="T">Interface type</typeparam> | 4925 | <summary> |
4926 | <returns>Component if registered, otherwise null.</returns> | 4926 | This decoder converts XML documents to form items. |
4927 | <remarks> | 4927 | Each element becomes a subitem in the form, and each attribute becomes an item. |
4928 | Component will get created if needed. | 4928 | </summary> |
4929 | </remarks> | 4929 | <example> |
4930 | </member> | 4930 | // xml: <hello id="1">something<world id="2">data</world></hello> |
4931 | <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)"> | 4931 | // result: |
4932 | <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception> | 4932 | // form["hello"].Value = "something" |
4933 | </member> | 4933 | // form["hello"]["id"].Value = 1 |
4934 | <member name="M:HttpServer.ComponentProvider.Contains(System.Type)"> | 4934 | // form["hello"]["world]["id"].Value = 1 |
4935 | <summary> | 4935 | // form["hello"]["world"].Value = "data" |
4936 | Checks if the specified component interface have been added. | 4936 | </example> |
4937 | </summary> | 4937 | <remarks> |
4938 | <param name="interfaceType"></param> | 4938 | The original xml document is stored in form["__xml__"].Value. |
4939 | <returns>true if found; otherwise false.</returns> | 4939 | </remarks> |
4940 | </member> | 4940 | </member> |
4941 | <member name="M:HttpServer.ComponentProvider.Add``2"> | 4941 | <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)"> |
4942 | <summary> | 4942 | <summary> |
4943 | Add a component. | 4943 | |
4944 | </summary> | 4944 | </summary> |
4945 | <typeparam name="InterfaceType">Type being requested.</typeparam> | 4945 | <param name="stream">Stream containing the content</param> |
4946 | <typeparam name="InstanceType">Type being created.</typeparam> | 4946 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param> |
4947 | <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception> | 4947 | <param name="encoding">Stream encoding</param> |
4948 | </member> | 4948 | Note: contentType and encoding are not used? |
4949 | <member name="T:HttpServer.Sessions.MemorySessionStore"> | 4949 | <returns>A http form, or null if content could not be parsed.</returns> |
4950 | <summary> | 4950 | <exception cref="T:System.IO.InvalidDataException"></exception> |
4951 | Session store using memory for each session. | 4951 | </member> |
4952 | </summary> | 4952 | <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)"> |
4953 | </member> | 4953 | <summary> |
4954 | <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor"> | 4954 | Recursive function that will go through an xml element and store it's content |
4955 | <summary> | 4955 | to the form item. |
4956 | Initializes the class setting the expirationtimer to clean the session every minute | 4956 | </summary> |
4957 | </summary> | 4957 | <param name="item">(parent) Item in form that content should be added to.</param> |
4958 | </member> | 4958 | <param name="node">Node that should be parsed.</param> |
4959 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)"> | 4959 | </member> |
4960 | <summary> | 4960 | <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)"> |
4961 | Delegate for the cleanup timer | 4961 | <summary> |
4962 | </summary> | 4962 | Checks if the decoder can handle the mime type |
4963 | </member> | 4963 | </summary> |
4964 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create"> | 4964 | <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param> |
4965 | <summary> | 4965 | <returns>True if the decoder can parse the specified content type</returns> |
4966 | Creates a new http session | 4966 | </member> |
4967 | </summary> | 4967 | <member name="T:HttpServer.ResponseCookies"> |
4968 | <returns></returns> | 4968 | <summary> |
4969 | </member> | 4969 | Cookies that should be set. |
4970 | <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)"> | 4970 | </summary> |
4971 | <summary> | 4971 | </member> |
4972 | Creates a new http session with a specific id | 4972 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)"> |
4973 | </summary> | 4973 | <summary> |
4974 | <param name="id">Id used to identify the new cookie..</param> | 4974 | Adds a cookie in the collection. |
4975 | <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns> | 4975 | </summary> |
4976 | <remarks> | 4976 | <param name="cookie">cookie to add</param> |
4977 | Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>. | 4977 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> |
4978 | </remarks> | 4978 | </member> |
4979 | </member> | 4979 | <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)"> |
4980 | <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)"> | 4980 | <summary> |
4981 | <summary> | 4981 | Copy a request cookie |
4982 | Load an existing session. | 4982 | </summary> |
4983 | </summary> | 4983 | <param name="cookie"></param> |
4984 | <param name="sessionId"></param> | 4984 | <param name="expires">When the cookie should expire</param> |
4985 | <returns></returns> | 4985 | </member> |
4986 | </member> | 4986 | <member name="M:HttpServer.ResponseCookies.GetEnumerator"> |
4987 | <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)"> | 4987 | <summary> |
4988 | <summary> | 4988 | Gets a collection enumerator on the cookie list. |
4989 | Save an updated session to the store. | 4989 | </summary> |
4990 | </summary> | 4990 | <returns>collection enumerator</returns> |
4991 | <param name="session"></param> | 4991 | </member> |
4992 | </member> | 4992 | <member name="M:HttpServer.ResponseCookies.Clear"> |
4993 | <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)"> | 4993 | <summary> |
4994 | <summary> | 4994 | Remove all cookies |
4995 | We use the flyweight pattern which reuses small objects | 4995 | </summary> |
4996 | instead of creating new each time. | 4996 | </member> |
4997 | </summary> | 4997 | <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator"> |
4998 | <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param> | 4998 | <summary> |
4999 | </member> | 4999 | Returns an enumerator that iterates through the collection. |
5000 | <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup"> | 5000 | </summary> |
5001 | <summary> | 5001 | |
5002 | Remove expired sessions | 5002 | <returns> |
5003 | </summary> | 5003 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
5004 | </member> | 5004 | </returns> |
5005 | <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)"> | 5005 | <filterpriority>1</filterpriority> |
5006 | <summary> | 5006 | </member> |
5007 | Remove a session | 5007 | <member name="P:HttpServer.ResponseCookies.Count"> |
5008 | </summary> | 5008 | <summary> |
5009 | <param name="sessionId">id of the session.</param> | 5009 | Gets the count of cookies in the collection. |
5010 | </member> | 5010 | </summary> |
5011 | <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)"> | 5011 | </member> |
5012 | <summary> | 5012 | <member name="P:HttpServer.ResponseCookies.Item(System.String)"> |
5013 | Load a session from the store | 5013 | <summary> |
5014 | </summary> | 5014 | Gets the cookie of a given identifier (null if not existing). |
5015 | <param name="sessionId"></param> | 5015 | </summary> |
5016 | <returns>null if session is not found.</returns> | 5016 | </member> |
5017 | </member> | 5017 | <member name="T:HttpServer.RequestCookies"> |
5018 | <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime"> | 5018 | <summary> |
5019 | <summary> | 5019 | This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). |
5020 | Number of minutes before a session expires. | 5020 | The framework might switch class in the future and we dont want to have to replace all instances |
5021 | Default is 20 minutes. | 5021 | </summary> |
5022 | </summary> | 5022 | </member> |
5023 | </member> | 5023 | <member name="M:HttpServer.RequestCookies.#ctor(System.String)"> |
5024 | <member name="T:HttpServer.RequestQueue"> | 5024 | <summary> |
5025 | <summary> | 5025 | Let's copy all the cookies. |
5026 | Used to queue incoming requests. | 5026 | </summary> |
5027 | </summary> | 5027 | <param name="cookies">value from cookie header.</param> |
5028 | </member> | 5028 | </member> |
5029 | <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)"> | 5029 | <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)"> |
5030 | <summary> | 5030 | <summary> |
5031 | Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class. | 5031 | Adds a cookie in the collection. |
5032 | </summary> | 5032 | </summary> |
5033 | <param name="handler">Called when a request should be processed.</param> | 5033 | <param name="cookie">cookie to add</param> |
5034 | </member> | 5034 | <exception cref="T:System.ArgumentNullException">cookie is null</exception> |
5035 | <member name="M:HttpServer.RequestQueue.QueueThread"> | 5035 | </member> |
5036 | <summary> | 5036 | <member name="M:HttpServer.RequestCookies.GetEnumerator"> |
5037 | Used to process queued requests. | 5037 | <summary> |
5038 | </summary> | 5038 | Gets a collection enumerator on the cookie list. |
5039 | </member> | 5039 | </summary> |
5040 | <member name="P:HttpServer.RequestQueue.MaxRequestCount"> | 5040 | <returns>collection enumerator</returns> |
5041 | <summary> | 5041 | </member> |
5042 | Gets or sets maximum number of allowed simultaneous requests. | 5042 | <member name="M:HttpServer.RequestCookies.Clear"> |
5043 | </summary> | 5043 | <summary> |
5044 | </member> | 5044 | Remove all cookies. |
5045 | <member name="P:HttpServer.RequestQueue.MaxQueueSize"> | 5045 | </summary> |
5046 | <summary> | 5046 | </member> |
5047 | Gets or sets maximum number of requests queuing to be handled. | 5047 | <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator"> |
5048 | </summary> | 5048 | <summary> |
5049 | </member> | 5049 | Returns an enumerator that iterates through the collection. |
5050 | <member name="P:HttpServer.RequestQueue.CurrentRequestCount"> | 5050 | </summary> |
5051 | <summary> | 5051 | |
5052 | Specifies how many requests the HTTP server is currently processing. | 5052 | <returns> |
5053 | </summary> | 5053 | A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection. |
5054 | </member> | 5054 | </returns> |
5055 | <member name="T:HttpServer.RequestQueue.QueueItem"> | 5055 | <filterpriority>1</filterpriority> |
5056 | <summary> | 5056 | </member> |
5057 | Used two queue incoming requests to avoid | 5057 | <member name="M:HttpServer.RequestCookies.Remove(System.String)"> |
5058 | thread starvation. | 5058 | <summary> |
5059 | </summary> | 5059 | Remove a cookie from the collection. |
5060 | </member> | 5060 | </summary> |
5061 | <member name="T:HttpServer.ProcessRequestHandler"> | 5061 | <param name="cookieName">Name of cookie.</param> |
5062 | <summary> | 5062 | </member> |
5063 | Method used to process a queued request | 5063 | <member name="P:HttpServer.RequestCookies.Count"> |
5064 | </summary> | 5064 | <summary> |
5065 | <param name="context">Context that the request was received from.</param> | 5065 | Gets the count of cookies in the collection. |
5066 | <param name="request">Request to process.</param> | 5066 | </summary> |
5067 | </member> | 5067 | </member> |
5068 | <member name="T:HttpServer.HttpResponse"> | 5068 | <member name="P:HttpServer.RequestCookies.Item(System.String)"> |
5069 | <summary> | 5069 | <summary> |
5070 | Response that is sent back to the web browser / client. | 5070 | Gets the cookie of a given identifier (null if not existing). |
5071 | </summary> | 5071 | </summary> |
5072 | <remarks> | 5072 | </member> |
5073 | <para> | 5073 | <member name="T:HttpServer.HttpListener"> |
5074 | A response can be sent if different ways. The easiest one is | 5074 | <summary> |
5075 | to just fill the Body stream with content, everything else | 5075 | New implementation of the HTTP listener. |
5076 | will then be taken care of by the framework. The default content-type | 5076 | </summary> |
5077 | is text/html, you should change it if you send anything else. | 5077 | <remarks> |
5078 | </para><para> | 5078 | Use the <c>Create</c> methods to create a default listener. |
5079 | The second and slightly more complex way is to send the response | 5079 | </remarks> |
5080 | as parts. Start with sending the header using the SendHeaders method and | 5080 | </member> |
5081 | then you can send the body using SendBody method, but do not forget | 5081 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)"> |
5082 | to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so. | 5082 | <summary> |
5083 | </para> | 5083 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
5084 | </remarks> | 5084 | </summary> |
5085 | <example> | 5085 | <param name="address">IP Address to accept connections on</param> |
5086 | <code> | 5086 | <param name="port">TCP Port to listen on, default HTTP port is 80.</param> |
5087 | // Example using response body. | 5087 | <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param> |
5088 | class MyModule : HttpModule | 5088 | <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception> |
5089 | { | 5089 | <exception cref="T:System.ArgumentException">Port must be a positive number.</exception> |
5090 | public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) | 5090 | </member> |
5091 | { | 5091 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
5092 | StreamWriter writer = new StreamWriter(response.Body); | 5092 | <summary> |
5093 | writer.WriteLine("Hello dear World!"); | 5093 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
5094 | writer.Flush(); | 5094 | </summary> |
5095 | 5095 | <param name="address">The address.</param> | |
5096 | // return true to tell webserver that we've handled the url | 5096 | <param name="port">The port.</param> |
5097 | return true; | 5097 | <param name="factory">The factory.</param> |
5098 | } | 5098 | <param name="certificate">The certificate.</param> |
5099 | } | 5099 | </member> |
5100 | </code> | 5100 | <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
5101 | </example> | 5101 | <summary> |
5102 | todo: add two examples, using SendHeaders/SendBody and just the Body stream. | 5102 | Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class. |
5103 | </member> | 5103 | </summary> |
5104 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)"> | 5104 | <param name="address">The address.</param> |
5105 | <summary> | 5105 | <param name="port">The port.</param> |
5106 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. | 5106 | <param name="factory">The factory.</param> |
5107 | </summary> | 5107 | <param name="certificate">The certificate.</param> |
5108 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | 5108 | <param name="protocol">The protocol.</param> |
5109 | <param name="request">Contains information of what the client want to receive.</param> | 5109 | </member> |
5110 | <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception> | 5110 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)"> |
5111 | </member> | 5111 | <summary> |
5112 | <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)"> | 5112 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
5113 | <summary> | 5113 | </summary> |
5114 | Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class. | 5114 | <param name="address">Address that the listener should accept connections on.</param> |
5115 | </summary> | 5115 | <param name="port">Port that listener should accept connections on.</param> |
5116 | <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param> | 5116 | <returns>Created HTTP listener.</returns> |
5117 | <param name="httpVersion">Version of HTTP protocol that the client uses.</param> | 5117 | </member> |
5118 | <param name="connectionType">Type of HTTP connection used.</param> | 5118 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)"> |
5119 | </member> | 5119 | <summary> |
5120 | <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"> | 5120 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
5121 | <summary> | 5121 | </summary> |
5122 | Add another header to the document. | 5122 | <param name="address">Address that the listener should accept connections on.</param> |
5123 | </summary> | 5123 | <param name="port">Port that listener should accept connections on.</param> |
5124 | <param name="name">Name of the header, case sensitive, use lower cases.</param> | 5124 | <param name="certificate">Certificate to use</param> |
5125 | <param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param> | 5125 | <returns>Created HTTP listener.</returns> |
5126 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 5126 | </member> |
5127 | <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception> | 5127 | <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> |
5128 | <remarks>Adding any header will override the default ones and those specified by properties.</remarks> | 5128 | <summary> |
5129 | </member> | 5129 | Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories. |
5130 | <member name="M:HttpServer.HttpResponse.Send"> | 5130 | </summary> |
5131 | <summary> | 5131 | <param name="address">Address that the listener should accept connections on.</param> |
5132 | Send headers and body to the browser. | 5132 | <param name="port">Port that listener should accept connections on.</param> |
5133 | </summary> | 5133 | <param name="certificate">Certificate to use</param> |
5134 | <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception> | 5134 | <param name="protocol">which HTTPS protocol to use, default is TLS.</param> |
5135 | </member> | 5135 | <returns>Created HTTP listener.</returns> |
5136 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)"> | 5136 | </member> |
5137 | <summary> | 5137 | <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)"> |
5138 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. | 5138 | <summary> |
5139 | </summary> | 5139 | Can be used to create filtering of new connections. |
5140 | <param name="buffer"></param> | 5140 | </summary> |
5141 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 5141 | <param name="socket">Accepted socket</param> |
5142 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 5142 | <returns> |
5143 | <param name="offset">offset of first byte to send</param> | 5143 | true if connection can be accepted; otherwise false. |
5144 | <param name="count">number of bytes to send.</param> | 5144 | </returns> |
5145 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 5145 | </member> |
5146 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | 5146 | <member name="E:HttpServer.HttpListener.Accepted"> |
5147 | <remarks>This method can be used if you want to send body contents without caching them first. This | 5147 | <summary> |
5148 | is recommended for larger files to keep the memory usage low.</remarks> | 5148 | A client have been accepted, but not handled, by the listener. |
5149 | </member> | 5149 | </summary> |
5150 | <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])"> | 5150 | </member> |
5151 | <summary> | 5151 | <member name="T:HttpServer.HttpHelper"> |
5152 | Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first. | 5152 | <summary> |
5153 | </summary> | 5153 | Generic helper functions for HTTP |
5154 | <param name="buffer"></param> | 5154 | </summary> |
5155 | <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception> | 5155 | </member> |
5156 | <see cref="M:HttpServer.HttpResponse.SendHeaders"/> | 5156 | <member name="F:HttpServer.HttpHelper.HTTP10"> |
5157 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 5157 | <summary> |
5158 | <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/> | 5158 | Version string for HTTP v1.0 |
5159 | <remarks>This method can be used if you want to send body contents without caching them first. This | 5159 | </summary> |
5160 | is recommended for larger files to keep the memory usage low.</remarks> | 5160 | </member> |
5161 | </member> | 5161 | <member name="F:HttpServer.HttpHelper.HTTP11"> |
5162 | <member name="M:HttpServer.HttpResponse.SendHeaders"> | 5162 | <summary> |
5163 | <summary> | 5163 | Version string for HTTP v1.1 |
5164 | Send headers to the client. | 5164 | </summary> |
5165 | </summary> | 5165 | </member> |
5166 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 5166 | <member name="F:HttpServer.HttpHelper.EmptyUri"> |
5167 | <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/> | 5167 | <summary> |
5168 | <seealso cref="M:HttpServer.HttpResponse.Send"/> | 5168 | An empty URI |
5169 | <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/> | 5169 | </summary> |
5170 | </member> | 5170 | </member> |
5171 | <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)"> | 5171 | <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)"> |
5172 | <summary> | 5172 | <summary> |
5173 | Redirect client to somewhere else using the 302 status code. | 5173 | Parses a query string. |
5174 | </summary> | 5174 | </summary> |
5175 | <param name="uri">Destination of the redirect</param> | 5175 | <param name="queryString">Query string (URI encoded)</param> |
5176 | <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception> | 5176 | <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns> |
5177 | <remarks>You can not do anything more with the request when a redirect have been done. This should be your last | 5177 | <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception> |
5178 | action.</remarks> | 5178 | <exception cref="T:System.FormatException">If string cannot be parsed.</exception> |
5179 | </member> | 5179 | </member> |
5180 | <member name="M:HttpServer.HttpResponse.Redirect(System.String)"> | 5180 | <member name="T:HttpServer.HttpModules.ReverseProxyModule"> |
5181 | <summary> | 5181 | <summary> |
5182 | redirect to somewhere | 5182 | A reverse proxy are used to act as a bridge between local (protected/hidden) websites |
5183 | </summary> | 5183 | and public clients. |
5184 | <param name="url">where the redirect should go</param> | 5184 | |
5185 | <remarks> | 5185 | A typical usage is to allow web servers on non standard ports to still be available |
5186 | No body are allowed when doing redirects. | 5186 | to the public clients, or allow web servers on private ips to be available. |
5187 | </remarks> | 5187 | </summary> |
5188 | </member> | 5188 | </member> |
5189 | <member name="P:HttpServer.HttpResponse.Body"> | 5189 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)"> |
5190 | <summary> | 5190 | <summary> |
5191 | The body stream is used to cache the body contents | 5191 | |
5192 | before sending everything to the client. It's the simplest | 5192 | </summary> |
5193 | way to serve documents. | 5193 | <param name="source">Base url requested from browser</param> |
5194 | </summary> | 5194 | <param name="destination">Base url on private web server</param> |
5195 | </member> | 5195 | <example> |
5196 | <member name="P:HttpServer.HttpResponse.Chunked"> | 5196 | // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas |
5197 | <summary> | 5197 | _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); |
5198 | The chunked encoding modifies the body of a message in order to | 5198 | </example> |
5199 | transfer it as a series of chunks, each with its own size indicator, | 5199 | </member> |
5200 | followed by an OPTIONAL trailer containing entity-header fields. This | 5200 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)"> |
5201 | allows dynamically produced content to be transferred along with the | 5201 | <summary> |
5202 | information necessary for the recipient to verify that it has | 5202 | Method that determines if an url should be handled or not by the module |
5203 | received the full message. | 5203 | </summary> |
5204 | </summary> | 5204 | <param name="uri">Url requested by the client.</param> |
5205 | </member> | 5205 | <returns>true if module should handle the url.</returns> |
5206 | <member name="P:HttpServer.HttpResponse.ProtocolVersion"> | 5206 | </member> |
5207 | <summary> | 5207 | <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)"> |
5208 | Defines the version of the HTTP Response for applications where it's required | 5208 | <summary> |
5209 | for this to be forced. | 5209 | Method that process the url |
5210 | </summary> | 5210 | </summary> |
5211 | </member> | 5211 | <param name="request">Information sent by the browser about the request</param> |
5212 | <member name="P:HttpServer.HttpResponse.Connection"> | 5212 | <param name="response">Information that is being sent back to the client.</param> |
5213 | <summary> | 5213 | <param name="session">Session used to </param> |
5214 | Kind of connection | 5214 | </member> |
5215 | </summary> | 5215 | <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs"> |
5216 | </member> | 5216 | <summary> |
5217 | <member name="P:HttpServer.HttpResponse.Encoding"> | 5217 | Used to inform http server that |
5218 | <summary> | 5218 | </summary> |
5219 | Encoding to use when sending stuff to the client. | 5219 | </member> |
5220 | </summary> | 5220 | <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)"> |
5221 | <remarks>Default is UTF8</remarks> | 5221 | <summary> |
5222 | </member> | 5222 | Eventarguments used when an exception is thrown by a module |
5223 | <member name="P:HttpServer.HttpResponse.KeepAlive"> | 5223 | </summary> |
5224 | <summary> | 5224 | <param name="e">the exception</param> |
5225 | Number of seconds to keep connection alive | 5225 | </member> |
5226 | </summary> | 5226 | <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception"> |
5227 | <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks> | 5227 | <summary> |
5228 | </member> | 5228 | Exception thrown in a module |
5229 | <member name="P:HttpServer.HttpResponse.Status"> | 5229 | </summary> |
5230 | <summary> | 5230 | </member> |
5231 | Status code that is sent to the client. | 5231 | <member name="T:HttpServer.Helpers.Implementations.PrototypeImp"> |
5232 | </summary> | 5232 | <summary> |
5233 | <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks> | 5233 | PrototypeJS implementation of the javascript functions. |
5234 | </member> | 5234 | </summary> |
5235 | <member name="P:HttpServer.HttpResponse.Reason"> | 5235 | </member> |
5236 | <summary> | 5236 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])"> |
5237 | Information about why a specific status code was used. | 5237 | <summary> |
5238 | </summary> | 5238 | Requests a url through ajax |
5239 | </member> | 5239 | </summary> |
5240 | <member name="P:HttpServer.HttpResponse.ContentLength"> | 5240 | <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
5241 | <summary> | 5241 | <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param> |
5242 | Size of the body. MUST be specified before sending the header, | 5242 | <returns>a link tag</returns> |
5243 | unless property Chunked is set to true. | 5243 | <remarks>onclick attribute is used by this method.</remarks> |
5244 | </summary> | 5244 | <example> |
5245 | </member> | 5245 | <code> |
5246 | <member name="P:HttpServer.HttpResponse.ContentType"> | 5246 | // plain text |
5247 | <summary> | 5247 | JSHelper.AjaxRequest("'/user/show/1'"); |
5248 | Kind of content in the body | 5248 | |
5249 | </summary> | 5249 | // ajax request using this.href |
5250 | <remarks>Default type is "text/html"</remarks> | 5250 | string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>"; |
5251 | </member> | 5251 | </code> |
5252 | <member name="P:HttpServer.HttpResponse.HeadersSent"> | 5252 | </example> |
5253 | <summary> | 5253 | </member> |
5254 | Headers have been sent to the client- | 5254 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)"> |
5255 | </summary> | 5255 | <summary> |
5256 | <remarks>You can not send any additional headers if they have already been sent.</remarks> | 5256 | Determins if a list of strings contains a specific value |
5257 | </member> | 5257 | </summary> |
5258 | <member name="P:HttpServer.HttpResponse.Sent"> | 5258 | <param name="options">options to check in</param> |
5259 | <summary> | 5259 | <param name="value">value to find</param> |
5260 | The whole response have been sent. | 5260 | <returns>true if value was found</returns> |
5261 | </summary> | 5261 | <remarks>case insensitive</remarks> |
5262 | </member> | 5262 | </member> |
5263 | <member name="P:HttpServer.HttpResponse.Cookies"> | 5263 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])"> |
5264 | <summary> | 5264 | <summary> |
5265 | Cookies that should be created/changed. | 5265 | Ajax requests that updates an element with |
5266 | </summary> | 5266 | the fetched content |
5267 | </member> | 5267 | </summary> |
5268 | <member name="T:HttpServer.HttpContextFactory"> | 5268 | <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param> |
5269 | <summary> | 5269 | <param name="targetId">element to update</param> |
5270 | Used to create and reuse contexts. | 5270 | <param name="options">options in format "key, value, key, value". All keys should end with colon.</param> |
5271 | </summary> | 5271 | <returns>A link tag.</returns> |
5272 | </member> | 5272 | <example> |
5273 | <member name="T:HttpServer.IHttpContextFactory"> | 5273 | <code> |
5274 | <summary> | 5274 | JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true"); |
5275 | Used to create <see cref="T:HttpServer.IHttpClientContext"/>es. | 5275 | </code> |
5276 | </summary> | 5276 | </example> |
5277 | </member> | 5277 | </member> |
5278 | <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> | 5278 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"> |
5279 | <summary> | 5279 | <summary> |
5280 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. | 5280 | A link that pop ups a Dialog (overlay div) |
5281 | </summary> | 5281 | </summary> |
5282 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 5282 | <param name="url">URL to contents of dialog</param> |
5283 | <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | 5283 | <param name="title">link title</param> |
5284 | </member> | 5284 | <param name="htmlAttributes">name, value, name, value</param> |
5285 | <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 5285 | <returns> |
5286 | <summary> | 5286 | A "a"-tag that popups a dialog when clicked |
5287 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. | 5287 | </returns> |
5288 | </summary> | 5288 | <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para> |
5289 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 5289 | And the following JavaScript (load it in application.js): |
5290 | <param name="certificate">HTTPS certificate to use.</param> | 5290 | <code> |
5291 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | 5291 | Event.observe(window, 'load', |
5292 | <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns> | 5292 | function() { |
5293 | </member> | 5293 | document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); |
5294 | <member name="E:HttpServer.IHttpContextFactory.RequestReceived"> | 5294 | } |
5295 | <summary> | 5295 | ); |
5296 | A request have been received from one of the contexts. | 5296 | </code> |
5297 | </summary> | 5297 | </remarks> |
5298 | </member> | 5298 | <example> |
5299 | <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)"> | 5299 | WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); |
5300 | <summary> | 5300 | </example> |
5301 | Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class. | 5301 | </member> |
5302 | </summary> | 5302 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])"> |
5303 | <param name="writer">The writer.</param> | 5303 | <summary> |
5304 | <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param> | 5304 | create a modal dialog (usually using DIVs) |
5305 | <param name="factory">Used to create a request parser.</param> | 5305 | </summary> |
5306 | </member> | 5306 | <param name="url">url to fetch</param> |
5307 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> | 5307 | <param name="title">dialog title</param> |
5308 | <summary> | 5308 | <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param> |
5309 | Create a new context. | 5309 | <returns></returns> |
5310 | </summary> | 5310 | </member> |
5311 | <param name="isSecured">true if socket is running HTTPS.</param> | 5311 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog"> |
5312 | <param name="endPoint">Client that connected</param> | 5312 | <summary> |
5313 | <param name="stream">Network/SSL stream.</param> | 5313 | Close a javascript dialog window/div. |
5314 | <returns>A context.</returns> | 5314 | </summary> |
5315 | </member> | 5315 | <returns>javascript for closing a dialog.</returns> |
5316 | <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)"> | 5316 | <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/> |
5317 | <summary> | 5317 | </member> |
5318 | Create a new context. | 5318 | <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])"> |
5319 | </summary> | 5319 | <summary> |
5320 | <param name="isSecured">true if HTTPS is used.</param> | 5320 | javascript action that should be added to the "onsubmit" event in the form tag. |
5321 | <param name="endPoint">Remote client</param> | 5321 | </summary> |
5322 | <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param> | 5322 | <param name="options">remember to encapsulate strings in ''</param> |
5323 | <returns>A new context (always).</returns> | 5323 | <returns></returns> |
5324 | </member> | 5324 | <remarks>All javascript option names should end with colon.</remarks> |
5325 | <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)"> | 5325 | <example> |
5326 | <summary> | 5326 | <code> |
5327 | Create a secure <see cref="T:HttpServer.IHttpClientContext"/>. | 5327 | JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); |
5328 | </summary> | 5328 | </code> |
5329 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 5329 | </example> |
5330 | <param name="certificate">HTTPS certificate to use.</param> | 5330 | </member> |
5331 | <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param> | 5331 | <member name="T:HttpServer.Authentication.DigestAuthentication"> |
5332 | <returns> | 5332 | <summary> |
5333 | A created <see cref="T:HttpServer.IHttpClientContext"/>. | 5333 | Implements HTTP Digest authentication. It's more secure than Basic auth since password is |
5334 | </returns> | 5334 | encrypted with a "key" from the server. |
5335 | </member> | 5335 | </summary> |
5336 | <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)"> | 5336 | <remarks> |
5337 | <summary> | 5337 | Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. |
5338 | Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client. | 5338 | </remarks> |
5339 | </summary> | 5339 | </member> |
5340 | <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param> | 5340 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)"> |
5341 | <returns> | 5341 | <summary> |
5342 | A creates <see cref="T:HttpServer.IHttpClientContext"/>. | 5342 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
5343 | </returns> | 5343 | </summary> |
5344 | </member> | 5344 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
5345 | <member name="P:HttpServer.HttpContextFactory.UseTraceLogs"> | 5345 | <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param> |
5346 | <summary> | 5346 | </member> |
5347 | True if detailed trace logs should be written. | 5347 | <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)"> |
5348 | </summary> | 5348 | <summary> |
5349 | </member> | 5349 | Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class. |
5350 | <member name="E:HttpServer.HttpContextFactory.RequestReceived"> | 5350 | </summary> |
5351 | <summary> | 5351 | <param name="authenticator">Delegate used to provide information used during authentication.</param> |
5352 | A request have been received from one of the contexts. | 5352 | </member> |
5353 | </summary> | 5353 | <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck"> |
5354 | </member> | 5354 | <summary> |
5355 | <member name="T:HttpServer.ReusableSocketNetworkStream"> | 5355 | Used by test classes to be able to use hardcoded values |
5356 | <summary> | 5356 | </summary> |
5357 | Custom network stream to mark sockets as reusable when disposing the stream. | 5357 | </member> |
5358 | </summary> | 5358 | <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])"> |
5359 | </member> | 5359 | <summary> |
5360 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)"> | 5360 | An authentication response have been received from the web browser. |
5361 | <summary> | 5361 | Check if it's correct |
5362 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />. | 5362 | </summary> |
5363 | </summary> | 5363 | <param name="authenticationHeader">Contents from the Authorization header</param> |
5364 | <param name="socket"> | 5364 | <param name="realm">Realm that should be authenticated</param> |
5365 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | 5365 | <param name="httpVerb">GET/POST/PUT/DELETE etc.</param> |
5366 | </param> | 5366 | <param name="options">First option: true if username/password is correct but not cnonce</param> |
5367 | <exception cref="T:System.ArgumentNullException"> | 5367 | <returns> |
5368 | The <paramref name="socket" /> parameter is null. | 5368 | Authentication object that is stored for the request. A user class or something like that. |
5369 | </exception> | 5369 | </returns> |
5370 | <exception cref="T:System.IO.IOException"> | 5370 | <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception> |
5371 | The <paramref name="socket" /> parameter is not connected. | 5371 | <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception> |
5372 | -or- | 5372 | </member> |
5373 | The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | 5373 | <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)"> |
5374 | -or- | 5374 | <summary> |
5375 | The <paramref name="socket" /> parameter is in a nonblocking state. | 5375 | Encrypts parameters into a Digest string |
5376 | </exception> | 5376 | </summary> |
5377 | </member> | 5377 | <param name="realm">Realm that the user want to log into.</param> |
5378 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)"> | 5378 | <param name="userName">User logging in</param> |
5379 | <summary> | 5379 | <param name="password">Users password.</param> |
5380 | Initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified <see cref="T:System.Net.Sockets.Socket" /> ownership. | 5380 | <param name="method">HTTP method.</param> |
5381 | </summary> | 5381 | <param name="uri">Uri/domain that generated the login prompt.</param> |
5382 | <param name="socket"> | 5382 | <param name="qop">Quality of Protection.</param> |
5383 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | 5383 | <param name="nonce">"Number used ONCE"</param> |
5384 | </param> | 5384 | <param name="nc">Hexadecimal request counter.</param> |
5385 | <param name="ownsSocket"> | 5385 | <param name="cnonce">"Client Number used ONCE"</param> |
5386 | Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false. | 5386 | <returns>Digest encrypted string</returns> |
5387 | </param> | 5387 | </member> |
5388 | <exception cref="T:System.ArgumentNullException"> | 5388 | <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)"> |
5389 | The <paramref name="socket" /> parameter is null. | 5389 | <summary> |
5390 | </exception> | 5390 | |
5391 | <exception cref="T:System.IO.IOException"> | 5391 | </summary> |
5392 | The <paramref name="socket" /> parameter is not connected. | 5392 | <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param> |
5393 | -or- | 5393 | <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param> |
5394 | the value of the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | 5394 | <param name="qop">Quality of Protection</param> |
5395 | -or- | 5395 | <param name="nonce">"Number used ONCE"</param> |
5396 | the <paramref name="socket" /> parameter is in a nonblocking state. | 5396 | <param name="nc">Hexadecimal request counter.</param> |
5397 | </exception> | 5397 | <param name="cnonce">Client number used once</param> |
5398 | </member> | 5398 | <returns></returns> |
5399 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)"> | 5399 | </member> |
5400 | <summary> | 5400 | <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])"> |
5401 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights. | 5401 | <summary> |
5402 | </summary> | 5402 | Create a response that can be sent in the WWW-Authenticate header. |
5403 | <param name="socket"> | 5403 | </summary> |
5404 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | 5404 | <param name="realm">Realm that the user should authenticate in</param> |
5405 | </param> | 5405 | <param name="options">First options specifies if true if username/password is correct but not cnonce.</param> |
5406 | <param name="access"> | 5406 | <returns>A correct auth request.</returns> |
5407 | A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specify the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />. | 5407 | <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception> |
5408 | </param> | 5408 | </member> |
5409 | <exception cref="T:System.ArgumentNullException"> | 5409 | <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)"> |
5410 | The <paramref name="socket" /> parameter is null. | 5410 | <summary> |
5411 | </exception> | 5411 | Decodes authorization header value |
5412 | <exception cref="T:System.IO.IOException"> | 5412 | </summary> |
5413 | The <paramref name="socket" /> parameter is not connected. | 5413 | <param name="buffer">header value</param> |
5414 | -or- | 5414 | <param name="encoding">Encoding that the buffer is in</param> |
5415 | the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | 5415 | <returns>All headers and their values if successful; otherwise null</returns> |
5416 | -or- | 5416 | <example> |
5417 | the <paramref name="socket" /> parameter is in a nonblocking state. | 5417 | NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); |
5418 | </exception> | 5418 | </example> |
5419 | </member> | 5419 | <remarks>Can handle lots of whitespaces and new lines without failing.</remarks> |
5420 | <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)"> | 5420 | </member> |
5421 | <summary> | 5421 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce"> |
5422 | Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights and the specified <see cref="T:System.Net.Sockets.Socket" /> ownership. | 5422 | <summary> |
5423 | </summary> | 5423 | Gets the current nonce. |
5424 | <param name="socket"> | 5424 | </summary> |
5425 | The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data. | 5425 | <returns></returns> |
5426 | </param> | 5426 | </member> |
5427 | <param name="access"> | 5427 | <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)"> |
5428 | A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specifies the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />. | 5428 | <summary> |
5429 | </param> | 5429 | Gets the Md5 hash bin hex2. |
5430 | <param name="ownsSocket"> | 5430 | </summary> |
5431 | Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false. | 5431 | <param name="toBeHashed">To be hashed.</param> |
5432 | </param> | 5432 | <returns></returns> |
5433 | <exception cref="T:System.ArgumentNullException"> | 5433 | </member> |
5434 | The <paramref name="socket" /> parameter is null. | 5434 | <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)"> |
5435 | </exception> | 5435 | <summary> |
5436 | <exception cref="T:System.IO.IOException"> | 5436 | determines if the nonce is valid or has expired. |
5437 | The <paramref name="socket" /> parameter is not connected. | 5437 | </summary> |
5438 | -or- | 5438 | <param name="nonce">nonce value (check wikipedia for info)</param> |
5439 | The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />. | 5439 | <returns>true if the nonce has not expired.</returns> |
5440 | -or- | 5440 | </member> |
5441 | The <paramref name="socket" /> parameter is in a nonblocking state. | 5441 | <member name="P:HttpServer.Authentication.DigestAuthentication.Name"> |
5442 | </exception> | 5442 | <summary> |
5443 | </member> | 5443 | name used in http request. |
5444 | <member name="M:HttpServer.ReusableSocketNetworkStream.Close"> | 5444 | </summary> |
5445 | <summary> | 5445 | </member> |
5446 | Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. | 5446 | <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"> |
5447 | </summary> | 5447 | <summary> |
5448 | </member> | 5448 | Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a |
5449 | <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)"> | 5449 | HA1 generated string. |
5450 | <summary> | 5450 | </summary> |
5451 | Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources. | 5451 | </member> |
5452 | </summary> | 5452 | </members> |
5453 | <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> | 5453 | </doc> |
5454 | </member> | ||
5455 | </members> | ||
5456 | </doc> | ||
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 253b24d..e31d0f4 100755 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -532,19 +532,17 @@ | |||
532 | 532 | ||
533 | 533 | ||
534 | [Economy] | 534 | [Economy] |
535 | ;; The economy module is not enabled by default and there is no easy, | 535 | ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). |
536 | ;; menu controlled way to do this. To enabled this module, insert | 536 | ; There is no intention to implement anything further in core OpenSimulator. |
537 | ;; economymodule = BetaGridLikeMoneyModule | 537 | ; This functionality has to be provided by third party modules. |
538 | ;; into the startup section (at the top of this file). | ||
539 | ;; Then configure the options below as needed. | ||
540 | 538 | ||
541 | ;; Enables selling things for $0 | 539 | ;; Enables selling things for $0. Default is true. |
542 | ; SellEnabled = "false" | 540 | ; SellEnabled = true |
543 | 541 | ||
544 | ;; Money Unit fee to upload textures, animations etc | 542 | ;; Money Unit fee to upload textures, animations etc. Default is 0. |
545 | ; PriceUpload = 0 | 543 | ; PriceUpload = 0 |
546 | 544 | ||
547 | ;; Money Unit fee to create groups | 545 | ;; Money Unit fee to create groups. Default is 0. |
548 | ; PriceGroupCreate = 0 | 546 | ; PriceGroupCreate = 0 |
549 | 547 | ||
550 | 548 | ||
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1c0af76..bf0a1c1 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini | |||
@@ -332,6 +332,26 @@ | |||
332 | DelayBeforeAppearanceSend = 2 | 332 | DelayBeforeAppearanceSend = 2 |
333 | 333 | ||
334 | 334 | ||
335 | [RegionReady] | ||
336 | ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled | ||
337 | enabled = true | ||
338 | |||
339 | ; Channel on which to signal region readiness through a message | ||
340 | ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" | ||
341 | ; - the first field indicating whether this is an initial server startup | ||
342 | ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) | ||
343 | ; - the third field is a number indicating how many scripts failed to compile | ||
344 | ; - "oar error" if supplied, provides the error message from the OAR load | ||
345 | channel_notify = -800 | ||
346 | |||
347 | ; - disallow logins while scripts are loading | ||
348 | ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading | ||
349 | login_disable = true | ||
350 | |||
351 | ; - send an alert as json to a service | ||
352 | ; alert_uri = "http://myappserver.net/my_handler/" | ||
353 | |||
354 | |||
335 | [SMTP] | 355 | [SMTP] |
336 | enabled = false | 356 | enabled = false |
337 | 357 | ||
@@ -489,6 +509,7 @@ | |||
489 | ; | 509 | ; |
490 | ;DisableFacelights = "false" | 510 | ;DisableFacelights = "false" |
491 | 511 | ||
512 | |||
492 | [ClientStack.LindenCaps] | 513 | [ClientStack.LindenCaps] |
493 | ;; Long list of capabilities taken from | 514 | ;; Long list of capabilities taken from |
494 | ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities | 515 | ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities |
@@ -1098,15 +1119,18 @@ | |||
1098 | 1119 | ||
1099 | [Economy] | 1120 | [Economy] |
1100 | ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - | 1121 | ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - |
1122 | ; The default economy module only implements just enough to allow free actions (transfer of objects, etc). | ||
1123 | ; There is no intention to implement anything further in core OpenSimulator. | ||
1124 | ; This functionality has to be provided by third party modules. | ||
1101 | 1125 | ||
1102 | ; Enables selling things for $0 | 1126 | ;; Enables selling things for $0. Default is true. |
1103 | SellEnabled = "false" | 1127 | SellEnabled = true |
1104 | 1128 | ||
1105 | ; Money Unit fee to upload textures, animations etc | 1129 | ;; Money Unit fee to upload textures, animations etc. Default is 0. |
1106 | PriceUpload = 0 | 1130 | PriceUpload = 0 |
1107 | 1131 | ||
1108 | ; Money Unit fee to create groups | 1132 | ;; Money Unit fee to create groups. Default is 0. |
1109 | PriceGroupCreate = 0 | 1133 | PriceGroupCreate = 0 |
1110 | 1134 | ||
1111 | ; We don't really know what the rest of these values do. These get sent to the client | 1135 | ; We don't really know what the rest of these values do. These get sent to the client |
1112 | ; These taken from Agni at a Public Telehub. Change at your own risk. | 1136 | ; These taken from Agni at a Public Telehub. Change at your own risk. |
@@ -1301,24 +1325,6 @@ | |||
1301 | broker = "http://broker.place.com/{1}" | 1325 | broker = "http://broker.place.com/{1}" |
1302 | 1326 | ||
1303 | 1327 | ||
1304 | [RegionReady] | ||
1305 | ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled | ||
1306 | ; default is false | ||
1307 | enabled = false | ||
1308 | |||
1309 | ; Channel on which to signal region readiness through a message | ||
1310 | ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" | ||
1311 | ; - the first field indicating whether this is an initial server startup | ||
1312 | ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) | ||
1313 | ; - the third field is a number indicating how many scripts failed to compile | ||
1314 | ; - "oar error" if supplied, provides the error message from the OAR load | ||
1315 | channel_notify = -800 | ||
1316 | ; - disallow logins while scripts are loading | ||
1317 | login_disable = false | ||
1318 | ; - send an alert as json to a service | ||
1319 | ; alert_uri = "http://myappserver.net/my_handler/" | ||
1320 | |||
1321 | |||
1322 | [MRM] | 1328 | [MRM] |
1323 | ; Enables the Mini Region Modules Script Engine. | 1329 | ; Enables the Mini Region Modules Script Engine. |
1324 | ; default is false | 1330 | ; default is false |
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index a23063d..eee7dc8 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example | |||
@@ -237,7 +237,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | |||
237 | AllowRemoteSetLoginLevel = "false" | 237 | AllowRemoteSetLoginLevel = "false" |
238 | 238 | ||
239 | ; For V2 map | 239 | ; For V2 map |
240 | ; MapTileURL = "http://127.0.0.1:8002"; | 240 | MapTileURL = "http://127.0.0.1:8002"; |
241 | 241 | ||
242 | ; If you run this login server behind a proxy, set this to true | 242 | ; If you run this login server behind a proxy, set this to true |
243 | ; HasProxy = false | 243 | ; HasProxy = false |
diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 897cfde..beef1c3 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example | |||
@@ -222,7 +222,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 | |||
222 | AllowRemoteSetLoginLevel = "false" | 222 | AllowRemoteSetLoginLevel = "false" |
223 | 223 | ||
224 | ; For V2 map | 224 | ; For V2 map |
225 | ; MapTileURL = "http://127.0.0.1:8002"; | 225 | MapTileURL = "http://127.0.0.1:8002"; |
226 | 226 | ||
227 | ; If you run this login server behind a proxy, set this to true | 227 | ; If you run this login server behind a proxy, set this to true |
228 | ; HasProxy = false | 228 | ; HasProxy = false |
diff --git a/prebuild.xml b/prebuild.xml index 56e7904..720d14a 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -1801,6 +1801,7 @@ | |||
1801 | 1801 | ||
1802 | <ReferencePath>../../../bin/</ReferencePath> | 1802 | <ReferencePath>../../../bin/</ReferencePath> |
1803 | <Reference name="System"/> | 1803 | <Reference name="System"/> |
1804 | <Reference name="System.Core"/> | ||
1804 | <Reference name="System.Xml"/> | 1805 | <Reference name="System.Xml"/> |
1805 | <Reference name="Mono.Addins" path="../../../bin/"/> | 1806 | <Reference name="Mono.Addins" path="../../../bin/"/> |
1806 | <Reference name="OpenMetaverseTypes" path="../../../bin/"/> | 1807 | <Reference name="OpenMetaverseTypes" path="../../../bin/"/> |
@@ -2066,6 +2067,7 @@ | |||
2066 | 2067 | ||
2067 | <ReferencePath>../../../bin/</ReferencePath> | 2068 | <ReferencePath>../../../bin/</ReferencePath> |
2068 | <Reference name="System"/> | 2069 | <Reference name="System"/> |
2070 | <Reference name="System.Core"/> | ||
2069 | <Reference name="System.Xml"/> | 2071 | <Reference name="System.Xml"/> |
2070 | <Reference name="System.Data"/> | 2072 | <Reference name="System.Data"/> |
2071 | <Reference name="OpenSim.Capabilities"/> | 2073 | <Reference name="OpenSim.Capabilities"/> |
@@ -2425,6 +2427,7 @@ | |||
2425 | 2427 | ||
2426 | <ReferencePath>../../../../bin/</ReferencePath> | 2428 | <ReferencePath>../../../../bin/</ReferencePath> |
2427 | <Reference name="System"/> | 2429 | <Reference name="System"/> |
2430 | <Reference name="System.Core"/> | ||
2428 | <Reference name="System.Data"/> | 2431 | <Reference name="System.Data"/> |
2429 | <Reference name="System.Web"/> | 2432 | <Reference name="System.Web"/> |
2430 | <Reference name="System.Xml"/> | 2433 | <Reference name="System.Xml"/> |