diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 7ca87a3134..841069c5d3 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -759,73 +759,49 @@ namespace OpenSim
///
/// Handler to supply the current status of this sim
///
+ ///
/// Currently this is always OK if the simulator is still listening for connections on its HTTP service
- public class SimStatusHandler : IStreamedRequestHandler
+ ///
+ public class SimStatusHandler : BaseStreamHandler
{
- public byte[] Handle(string path, Stream request,
+ public SimStatusHandler() : base("GET", "/simstatus", "SimStatus", "Simulator Status") {}
+
+ public override byte[] Handle(string path, Stream request,
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
return Util.UTF8.GetBytes("OK");
}
- public string Name { get { return "SimStatus"; } }
- public string Description { get { return "Simulator Status"; } }
-
- public string ContentType
+ public override string ContentType
{
get { return "text/plain"; }
}
-
- public string HttpMethod
- {
- get { return "GET"; }
- }
-
- public string Path
- {
- get { return "/simstatus"; }
- }
}
///
/// Handler to supply the current extended status of this sim
/// Sends the statistical data in a json serialization
///
- public class XSimStatusHandler : IStreamedRequestHandler
+ public class XSimStatusHandler : BaseStreamHandler
{
OpenSimBase m_opensim;
- string osXStatsURI = String.Empty;
-
- public string Name { get { return "XSimStatus"; } }
- public string Description { get { return "Simulator XStatus"; } }
- public XSimStatusHandler(OpenSimBase sim)
+ public XSimStatusHandler(OpenSimBase sim)
+ : base("GET", "/" + Util.SHA1Hash(sim.osSecret), "XSimStatus", "Simulator XStatus")
{
m_opensim = sim;
- osXStatsURI = Util.SHA1Hash(sim.osSecret);
}
- public byte[] Handle(string path, Stream request,
+ public override byte[] Handle(string path, Stream request,
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest));
}
- public string ContentType
+ public override string ContentType
{
get { return "text/plain"; }
}
-
- public string HttpMethod
- {
- get { return "GET"; }
- }
-
- public string Path
- {
- // This is for the OpenSimulator instance and is the osSecret hashed
- get { return "/" + osXStatsURI; }
- }
}
///
@@ -834,42 +810,26 @@ namespace OpenSim
/// If the request contains a key, "callback" the response will be wrappend in the
/// associated value for jsonp used with ajax/javascript
///
- public class UXSimStatusHandler : IStreamedRequestHandler
+ public class UXSimStatusHandler : BaseStreamHandler
{
OpenSimBase m_opensim;
- string osUXStatsURI = String.Empty;
-
- public string Name { get { return "UXSimStatus"; } }
- public string Description { get { return "Simulator UXStatus"; } }
public UXSimStatusHandler(OpenSimBase sim)
+ : base("GET", "/" + sim.userStatsURI, "UXSimStatus", "Simulator UXStatus")
{
- m_opensim = sim;
- osUXStatsURI = sim.userStatsURI;
-
+ m_opensim = sim;
}
- public byte[] Handle(string path, Stream request,
+ public override byte[] Handle(string path, Stream request,
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
return Util.UTF8.GetBytes(m_opensim.StatReport(httpRequest));
}
- public string ContentType
+ public override string ContentType
{
get { return "text/plain"; }
}
-
- public string HttpMethod
- {
- get { return "GET"; }
- }
-
- public string Path
- {
- // This is for the OpenSimulator instance and is the user provided URI
- get { return "/" + osUXStatsURI; }
- }
}
#endregion
diff --git a/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs b/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs
index c11174dc4e..726becf3b5 100644
--- a/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs
+++ b/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs
@@ -46,47 +46,33 @@ using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.Framework.Scenes
{
- public class RegionStatsHandler : IStreamedRequestHandler
+ public class RegionStatsHandler : BaseStreamHandler
{
//private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- private string osRXStatsURI = String.Empty;
private string osXStatsURI = String.Empty;
//private string osSecret = String.Empty;
private OpenSim.Framework.RegionInfo regionInfo;
public string localZone = TimeZone.CurrentTimeZone.StandardName;
public TimeSpan utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now);
- public string Name { get { return "RegionStats"; } }
- public string Description { get { return "Region Statistics"; } }
-
- public RegionStatsHandler(RegionInfo region_info)
+ public RegionStatsHandler(RegionInfo region_info)
+ : base("GET", "/" + Util.SHA1Hash(region_info.regionSecret), "RegionStats", "Region Statistics")
{
regionInfo = region_info;
- osRXStatsURI = Util.SHA1Hash(regionInfo.regionSecret);
osXStatsURI = Util.SHA1Hash(regionInfo.osSecret);
}
- public byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
+ public override byte[] Handle(
+ string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
return Util.UTF8.GetBytes(Report());
}
- public string ContentType
+ public override string ContentType
{
get { return "text/plain"; }
}
-
- public string HttpMethod
- {
- get { return "GET"; }
- }
-
- public string Path
- {
- // This is for the region and is the regionSecret hashed
- get { return "/" + osRXStatsURI; }
- }
private string Report()
{