diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/NeighbourServiceOutConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/NeighbourServiceOutConnector.cs index 60addec12c..afb64aab09 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/NeighbourServiceOutConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Neighbour/NeighbourServiceOutConnector.cs @@ -120,10 +120,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour { if (s.RegionInfo.RegionHandle == regionHandle) { -// uint x, y; -// Util.RegionHandleToRegionLoc(regionHandle, out x, out y); -// m_log.DebugFormat("[NEIGHBOUR SERVICE OUT CONNECTOR]: HelloNeighbour from region {0} to neighbour {1} at {2}-{3}", -// thisRegion.RegionName, s.Name, x, y ); + //uint x, y; + //Util.RegionHandleToRegionLoc(regionHandle, out x, out y); + //m_log.DebugFormat("[NEIGHBOUR SERVICE OUT CONNECTOR]: HelloNeighbour from region {0} to neighbour {1} at {2}-{3}", + // thisRegion.RegionName, s.Name, x, y ); return s.IncomingHelloNeighbour(thisRegion); } } diff --git a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs index 82a5542765..bb96a7eca0 100755 --- a/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/RegionReadyModule/RegionReadyModule.cs @@ -41,6 +41,8 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using System.Net.Http; +using System.Threading; namespace OpenSim.Region.OptionalModules.Scripting.RegionReady { @@ -155,7 +157,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady if (m_firstEmptyCompileQueue || m_oarFileLoading) { - OSChatMessage c = new OSChatMessage + OSChatMessage c = new() { From = "RegionReady", Message = (m_firstEmptyCompileQueue ? "server_startup," : ("oar_file_load," + (m_lastOarLoadedOk ? "1," : "0,"))) + @@ -260,39 +262,42 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady public void RRAlert(string status) { - string request_method = "POST"; - string content_type = "application/json"; - OSDMap RRAlert = new OSDMap(); + OSDMap RRAlert = new() + { + ["alert"] = "region_ready", + ["login"] = status, + ["region_name"] = m_scene.RegionInfo.RegionName, + ["region_id"] = m_scene.RegionInfo.RegionID + }; - RRAlert["alert"] = "region_ready"; - RRAlert["login"] = status; - RRAlert["region_name"] = m_scene.RegionInfo.RegionName; - RRAlert["region_id"] = m_scene.RegionInfo.RegionID; - - string strBuffer = ""; - byte[] buffer = new byte[1]; + byte[] buffer; try { - strBuffer = OSDParser.SerializeJsonString(RRAlert); - Encoding str = Util.UTF8; - buffer = str.GetBytes(strBuffer); - + buffer = OSDParser.SerializeJsonToBytes(RRAlert); ; } catch (Exception e) { m_log.WarnFormat("[RegionReady]: Exception thrown on alert: {0}", e.Message); + return; } - WebRequest request = WebRequest.Create(m_uri); - request.Method = request_method; - request.ContentType = content_type; - - Stream os = null; + HttpResponseMessage responseMessage = null; + HttpRequestMessage request = null; try { - request.ContentLength = buffer.Length; - os = request.GetRequestStream(); - os.Write(buffer, 0, strBuffer.Length); + HttpClient client = WebUtil.SharedHttpClientWithRedir; + + request = new(HttpMethod.Post, m_uri); + request.Headers.ExpectContinue = false; + request.Headers.TransferEncodingChunked = false; + request.Headers.TryAddWithoutValidation("Connection", "close"); + + request.Content = new ByteArrayContent(buffer); + request.Content.Headers.TryAddWithoutValidation("Content-Type", "application/json"); + request.Content.Headers.TryAddWithoutValidation("Content-Length", buffer.Length.ToString()); + + responseMessage = client.Send(request, HttpCompletionOption.ResponseContentRead); + responseMessage.EnsureSuccessStatusCode(); } catch(Exception e) { @@ -300,8 +305,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady } finally { - if (os != null) - os.Dispose(); + request?.Dispose(); + responseMessage?.Dispose(); } } } diff --git a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs index 1fabe3d9fe..e6917bbffb 100644 --- a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs @@ -30,6 +30,8 @@ using System; using System.Net; using System.Reflection; using Nini.Config; +using System.Net.Http; +using OpenSim.Framework; namespace OpenSim.Services.Connectors {