diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | 6 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Asset/HGAssetServiceConnector.cs | 21 |
2 files changed, 25 insertions, 2 deletions
diff --git a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs index fdab254..d7b2ff8 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | |||
@@ -100,6 +100,8 @@ namespace OpenSim.Services.Connectors | |||
100 | 100 | ||
101 | public AssetBase Get(string id) | 101 | public AssetBase Get(string id) |
102 | { | 102 | { |
103 | // m_log.DebugFormat("[ASSET SERVICE CONNECTOR]: Synchronous get request for {0}", id); | ||
104 | |||
103 | string uri = m_ServerURI + "/assets/" + id; | 105 | string uri = m_ServerURI + "/assets/" + id; |
104 | 106 | ||
105 | AssetBase asset = null; | 107 | AssetBase asset = null; |
@@ -119,6 +121,8 @@ namespace OpenSim.Services.Connectors | |||
119 | 121 | ||
120 | public AssetBase GetCached(string id) | 122 | public AssetBase GetCached(string id) |
121 | { | 123 | { |
124 | // m_log.DebugFormat("[ASSET SERVICE CONNECTOR]: Cache request for {0}", id); | ||
125 | |||
122 | if (m_Cache != null) | 126 | if (m_Cache != null) |
123 | return m_Cache.Get(id); | 127 | return m_Cache.Get(id); |
124 | 128 | ||
@@ -177,6 +181,8 @@ namespace OpenSim.Services.Connectors | |||
177 | 181 | ||
178 | public bool Get(string id, Object sender, AssetRetrieved handler) | 182 | public bool Get(string id, Object sender, AssetRetrieved handler) |
179 | { | 183 | { |
184 | // m_log.DebugFormat("[ASSET SERVICE CONNECTOR]: Potentially asynchronous get request for {0}", id); | ||
185 | |||
180 | string uri = m_ServerURI + "/assets/" + id; | 186 | string uri = m_ServerURI + "/assets/" + id; |
181 | 187 | ||
182 | AssetBase asset = null; | 188 | AssetBase asset = null; |
diff --git a/OpenSim/Services/Connectors/Asset/HGAssetServiceConnector.cs b/OpenSim/Services/Connectors/Asset/HGAssetServiceConnector.cs index 5c31639..bb5d51f 100644 --- a/OpenSim/Services/Connectors/Asset/HGAssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/Asset/HGAssetServiceConnector.cs | |||
@@ -29,7 +29,9 @@ using log4net; | |||
29 | using Nini.Config; | 29 | using Nini.Config; |
30 | using System; | 30 | using System; |
31 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
32 | using System.Collections.Specialized; | ||
32 | using System.Reflection; | 33 | using System.Reflection; |
34 | using System.Web; | ||
33 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
34 | using OpenSim.Services.Interfaces; | 36 | using OpenSim.Services.Interfaces; |
35 | using OpenSim.Services.Connectors.Hypergrid; | 37 | using OpenSim.Services.Connectors.Hypergrid; |
@@ -73,11 +75,26 @@ namespace OpenSim.Services.Connectors | |||
73 | if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) && | 75 | if (Uri.TryCreate(id, UriKind.Absolute, out assetUri) && |
74 | assetUri.Scheme == Uri.UriSchemeHttp) | 76 | assetUri.Scheme == Uri.UriSchemeHttp) |
75 | { | 77 | { |
76 | url = "http://" + assetUri.Authority; | 78 | // Simian |
77 | assetID = assetUri.LocalPath.Trim(new char[] {'/'}); | 79 | if (assetUri.Query != string.Empty) |
80 | { | ||
81 | NameValueCollection qscoll = HttpUtility.ParseQueryString(assetUri.Query); | ||
82 | assetID = qscoll["id"]; | ||
83 | if (assetID != null) | ||
84 | url = id.Replace(assetID, ""); // Malformed again, as simian expects | ||
85 | else | ||
86 | url = id; // !!! best effort | ||
87 | } | ||
88 | else // robust | ||
89 | { | ||
90 | url = "http://" + assetUri.Authority; | ||
91 | assetID = assetUri.LocalPath.Trim(new char[] { '/' }); | ||
92 | } | ||
93 | |||
78 | return true; | 94 | return true; |
79 | } | 95 | } |
80 | 96 | ||
97 | m_log.DebugFormat("[HG ASSET SERVICE]: Malformed URL {0}", id); | ||
81 | return false; | 98 | return false; |
82 | } | 99 | } |
83 | 100 | ||