diff options
Diffstat (limited to 'OpenSim/Framework/Servers/MainServer.cs')
-rw-r--r-- | OpenSim/Framework/Servers/MainServer.cs | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/OpenSim/Framework/Servers/MainServer.cs b/OpenSim/Framework/Servers/MainServer.cs index 8dc0e3a..7402c73 100644 --- a/OpenSim/Framework/Servers/MainServer.cs +++ b/OpenSim/Framework/Servers/MainServer.cs | |||
@@ -29,6 +29,7 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using System.Net; | 31 | using System.Net; |
32 | using System.Text; | ||
32 | using log4net; | 33 | using log4net; |
33 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
34 | using OpenSim.Framework.Console; | 35 | using OpenSim.Framework.Console; |
@@ -105,12 +106,19 @@ namespace OpenSim.Framework.Servers | |||
105 | public static void RegisterHttpConsoleCommands(ICommandConsole console) | 106 | public static void RegisterHttpConsoleCommands(ICommandConsole console) |
106 | { | 107 | { |
107 | console.Commands.AddCommand( | 108 | console.Commands.AddCommand( |
109 | "Comms", false, "show http-handlers", | ||
110 | "show http-handlers", | ||
111 | "Show all registered http handlers", HandleShowHttpHandlersCommand); | ||
112 | |||
113 | console.Commands.AddCommand( | ||
108 | "Debug", false, "debug http", "debug http [<level>]", | 114 | "Debug", false, "debug http", "debug http [<level>]", |
109 | "Turn on inbound non-poll http request debugging.", | 115 | "Turn on inbound non-poll http request debugging.", |
110 | "If level <= 0, then no extra logging is done.\n" | 116 | "If level <= 0, then no extra logging is done.\n" |
111 | + "If level >= 1, then short warnings are logged when receiving bad input data.\n" | 117 | + "If level >= 1, then short warnings are logged when receiving bad input data.\n" |
112 | + "If level >= 2, then long warnings are logged when receiving bad input data.\n" | 118 | + "If level >= 2, then long warnings are logged when receiving bad input data.\n" |
113 | + "If level >= 3, then short notices about all incoming non-poll HTTP requests are logged.\n" | 119 | + "If level >= 3, then short notices about all incoming non-poll HTTP requests are logged.\n" |
120 | + "If level >= 4, then a sample from the beginning of the incoming data is logged.\n" | ||
121 | + "If level >= 5, then the entire incoming data is logged.\n" | ||
114 | + "If no level is specified then the current level is returned.", | 122 | + "If no level is specified then the current level is returned.", |
115 | HandleDebugHttpCommand); | 123 | HandleDebugHttpCommand); |
116 | } | 124 | } |
@@ -136,8 +144,53 @@ namespace OpenSim.Framework.Servers | |||
136 | } | 144 | } |
137 | else | 145 | else |
138 | { | 146 | { |
139 | MainConsole.Instance.Output("Usage: debug http 0..3"); | 147 | MainConsole.Instance.Output("Usage: debug http 0..5"); |
148 | } | ||
149 | } | ||
150 | |||
151 | private static void HandleShowHttpHandlersCommand(string module, string[] args) | ||
152 | { | ||
153 | if (args.Length != 2) | ||
154 | { | ||
155 | MainConsole.Instance.Output("Usage: show http-handlers"); | ||
156 | return; | ||
157 | } | ||
158 | |||
159 | StringBuilder handlers = new StringBuilder(); | ||
160 | |||
161 | lock (m_Servers) | ||
162 | { | ||
163 | foreach (BaseHttpServer httpServer in m_Servers.Values) | ||
164 | { | ||
165 | handlers.AppendFormat( | ||
166 | "Registered HTTP Handlers for server at {0}:{1}\n", httpServer.ListenIPAddress, httpServer.Port); | ||
167 | |||
168 | handlers.AppendFormat("* XMLRPC:\n"); | ||
169 | foreach (String s in httpServer.GetXmlRpcHandlerKeys()) | ||
170 | handlers.AppendFormat("\t{0}\n", s); | ||
171 | |||
172 | handlers.AppendFormat("* HTTP:\n"); | ||
173 | List<String> poll = httpServer.GetPollServiceHandlerKeys(); | ||
174 | foreach (String s in httpServer.GetHTTPHandlerKeys()) | ||
175 | handlers.AppendFormat("\t{0} {1}\n", s, (poll.Contains(s) ? "(poll service)" : string.Empty)); | ||
176 | |||
177 | handlers.AppendFormat("* Agent:\n"); | ||
178 | foreach (String s in httpServer.GetAgentHandlerKeys()) | ||
179 | handlers.AppendFormat("\t{0}\n", s); | ||
180 | |||
181 | handlers.AppendFormat("* LLSD:\n"); | ||
182 | foreach (String s in httpServer.GetLLSDHandlerKeys()) | ||
183 | handlers.AppendFormat("\t{0}\n", s); | ||
184 | |||
185 | handlers.AppendFormat("* StreamHandlers ({0}):\n", httpServer.GetStreamHandlerKeys().Count); | ||
186 | foreach (String s in httpServer.GetStreamHandlerKeys()) | ||
187 | handlers.AppendFormat("\t{0}\n", s); | ||
188 | |||
189 | handlers.Append("\n"); | ||
190 | } | ||
140 | } | 191 | } |
192 | |||
193 | MainConsole.Instance.Output(handlers.ToString()); | ||
141 | } | 194 | } |
142 | 195 | ||
143 | /// <summary> | 196 | /// <summary> |