From 6ffb5bcf23e8a6e2a0a4ec4d9e9bd3ef8f6d0edf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 27 Apr 2020 00:54:32 +0100 Subject: [PATCH] move RegionStatsHandler --- OpenSim/Region/Application/OpenSimBase.cs | 2 +- .../Framework/Scenes/RegionStatsHandler.cs | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 7a367c1ea5..248aa3d9c5 100755 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -489,7 +489,7 @@ namespace OpenSim scene.LoadPrimsFromStorage(regionInfo.originRegionID); // TODO : Try setting resource for region xstats here on scene - MainServer.Instance.AddStreamHandler(new RegionStatsHandler(regionInfo)); + MainServer.Instance.AddSimpleStreamHandler(new RegionSimpleStatsHandler(regionInfo)); if (scene.SnmpService != null) { diff --git a/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs b/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs index bf588855ce..889cd8c667 100644 --- a/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs +++ b/OpenSim/Region/Framework/Scenes/RegionStatsHandler.cs @@ -45,7 +45,7 @@ using OpenSim.Region.Framework.Scenes; namespace OpenSim.Region.Framework.Scenes { - public class RegionStatsHandler : BaseStreamHandler + public class RegionSimpleStatsHandler : SimpleStreamHandler { //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -55,22 +55,26 @@ namespace OpenSim.Region.Framework.Scenes public string localZone = TimeZone.CurrentTimeZone.StandardName; public TimeSpan utcOffset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now); - public RegionStatsHandler(RegionInfo region_info) - : base("GET", "/" + Util.SHA1Hash(region_info.regionSecret), "RegionStats", "Region Statistics") + public RegionSimpleStatsHandler(RegionInfo region_info) : base("/" + Util.SHA1Hash(region_info.regionSecret)) { regionInfo = region_info; osXStatsURI = Util.SHA1Hash(regionInfo.osSecret); } - protected override byte[] ProcessRequest( - string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) + protected override void ProcessRequest(IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - return Util.UTF8.GetBytes(Report()); - } + if (regionInfo == null) + { + httpResponse.StatusCode = (int)HttpStatusCode.NotImplemented; + return; + } - public override string ContentType - { - get { return "text/plain"; } + if (httpRequest.HttpMethod != "GET") + { + httpResponse.StatusCode = (int)HttpStatusCode.NotFound; + return; + } + httpResponse.RawBuffer = Util.UTF8.GetBytes(Report()); } private string Report()