From 134f86e8d5c414409631b25b8c6f0ee45fbd8631 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 3 Nov 2016 21:44:39 +1000 Subject: Initial update to OpenSim 0.8.2.1 source code. --- .../ClientStack/Linden/Caps/GetMeshModule.cs | 58 ++++++++++++++++------ 1 file changed, 43 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs') diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs index 8e1f63a..f57d857 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/GetMeshModule.cs @@ -57,6 +57,9 @@ namespace OpenSim.Region.ClientStack.Linden private IAssetService m_AssetService; private bool m_Enabled = true; private string m_URL; + private string m_URL2; + private string m_RedirectURL = null; + private string m_RedirectURL2 = null; #region Region Module interfaceBase Members @@ -74,7 +77,18 @@ namespace OpenSim.Region.ClientStack.Linden m_URL = config.GetString("Cap_GetMesh", string.Empty); // Cap doesn't exist if (m_URL != string.Empty) + { + m_Enabled = true; + m_RedirectURL = config.GetString("GetMeshRedirectURL"); + } + + m_URL2 = config.GetString("Cap_GetMesh2", string.Empty); + // Cap doesn't exist + if (m_URL2 != string.Empty) + { m_Enabled = true; + m_RedirectURL2 = config.GetString("GetMesh2RedirectURL"); + } } public void AddRegion(Scene pScene) @@ -113,28 +127,42 @@ namespace OpenSim.Region.ClientStack.Linden public void RegisterCaps(UUID agentID, Caps caps) { -// UUID capID = UUID.Random(); + UUID capID = UUID.Random(); + bool getMeshRegistered = false; - //caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture)); - if (m_URL == "localhost") + if (m_URL == string.Empty) + { + + } + else if (m_URL == "localhost") { -// m_log.DebugFormat("[GETMESH]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); - GetMeshHandler gmeshHandler = new GetMeshHandler(m_AssetService); - IRequestHandler reqHandler - = new RestHTTPHandler( - "GET", - "/CAPS/" + UUID.Random(), - httpMethod => gmeshHandler.ProcessGetMesh(httpMethod, UUID.Zero, null), - "GetMesh", - agentID.ToString()); - - caps.RegisterHandler("GetMesh", reqHandler); + getMeshRegistered = true; + caps.RegisterHandler( + "GetMesh", + new GetMeshHandler("/CAPS/" + capID + "/", m_AssetService, "GetMesh", agentID.ToString(), m_RedirectURL)); } else { -// m_log.DebugFormat("[GETMESH]: {0} in region {1}", m_URL, m_scene.RegionInfo.RegionName); caps.RegisterHandler("GetMesh", m_URL); } + + if(m_URL2 == string.Empty) + { + + } + else if (m_URL2 == "localhost") + { + if (!getMeshRegistered) + { + caps.RegisterHandler( + "GetMesh2", + new GetMeshHandler("/CAPS/" + capID + "/", m_AssetService, "GetMesh2", agentID.ToString(), m_RedirectURL2)); + } + } + else + { + caps.RegisterHandler("GetMesh2", m_URL2); + } } } -- cgit v1.1