diff options
Diffstat (limited to 'OpenSim/Capabilities')
-rw-r--r-- | OpenSim/Capabilities/Handlers/GetMesh/GetMeshHandler.cs | 45 | ||||
-rw-r--r-- | OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs | 5 |
2 files changed, 11 insertions, 39 deletions
diff --git a/OpenSim/Capabilities/Handlers/GetMesh/GetMeshHandler.cs b/OpenSim/Capabilities/Handlers/GetMesh/GetMeshHandler.cs index c60abb1..720640e 100644 --- a/OpenSim/Capabilities/Handlers/GetMesh/GetMeshHandler.cs +++ b/OpenSim/Capabilities/Handlers/GetMesh/GetMeshHandler.cs | |||
@@ -57,7 +57,6 @@ namespace OpenSim.Capabilities.Handlers | |||
57 | 57 | ||
58 | public Hashtable ProcessGetMesh(Hashtable request, UUID AgentId, Caps cap) | 58 | public Hashtable ProcessGetMesh(Hashtable request, UUID AgentId, Caps cap) |
59 | { | 59 | { |
60 | |||
61 | Hashtable responsedata = new Hashtable(); | 60 | Hashtable responsedata = new Hashtable(); |
62 | responsedata["int_response_code"] = 400; //501; //410; //404; | 61 | responsedata["int_response_code"] = 400; //501; //410; //404; |
63 | responsedata["content_type"] = "text/plain"; | 62 | responsedata["content_type"] = "text/plain"; |
@@ -69,7 +68,6 @@ namespace OpenSim.Capabilities.Handlers | |||
69 | if (request.ContainsKey("mesh_id")) | 68 | if (request.ContainsKey("mesh_id")) |
70 | meshStr = request["mesh_id"].ToString(); | 69 | meshStr = request["mesh_id"].ToString(); |
71 | 70 | ||
72 | |||
73 | UUID meshID = UUID.Zero; | 71 | UUID meshID = UUID.Zero; |
74 | if (!String.IsNullOrEmpty(meshStr) && UUID.TryParse(meshStr, out meshID)) | 72 | if (!String.IsNullOrEmpty(meshStr) && UUID.TryParse(meshStr, out meshID)) |
75 | { | 73 | { |
@@ -82,12 +80,11 @@ namespace OpenSim.Capabilities.Handlers | |||
82 | return responsedata; | 80 | return responsedata; |
83 | } | 81 | } |
84 | 82 | ||
85 | AssetBase mesh; | 83 | AssetBase mesh = m_assetService.Get(meshID.ToString()); |
86 | // Only try to fetch locally cached textures. Misses are redirected | 84 | |
87 | mesh = m_assetService.GetCached(meshID.ToString()); | ||
88 | if (mesh != null) | 85 | if (mesh != null) |
89 | { | 86 | { |
90 | if (mesh.Type == (SByte)AssetType.Mesh) | 87 | if (mesh.Type == (SByte)AssetType.Mesh) |
91 | { | 88 | { |
92 | responsedata["str_response_string"] = Convert.ToBase64String(mesh.Data); | 89 | responsedata["str_response_string"] = Convert.ToBase64String(mesh.Data); |
93 | responsedata["content_type"] = "application/vnd.ll.mesh"; | 90 | responsedata["content_type"] = "application/vnd.ll.mesh"; |
@@ -105,39 +102,15 @@ namespace OpenSim.Capabilities.Handlers | |||
105 | } | 102 | } |
106 | else | 103 | else |
107 | { | 104 | { |
108 | mesh = m_assetService.Get(meshID.ToString()); | 105 | responsedata["int_response_code"] = 404; //501; //410; //404; |
109 | if (mesh != null) | 106 | responsedata["content_type"] = "text/plain"; |
110 | { | 107 | responsedata["keepalive"] = false; |
111 | if (mesh.Type == (SByte)AssetType.Mesh) | 108 | responsedata["str_response_string"] = "Your Mesh wasn't found. Sorry!"; |
112 | { | 109 | return responsedata; |
113 | responsedata["str_response_string"] = Convert.ToBase64String(mesh.Data); | ||
114 | responsedata["content_type"] = "application/vnd.ll.mesh"; | ||
115 | responsedata["int_response_code"] = 200; | ||
116 | } | ||
117 | // Optionally add additional mesh types here | ||
118 | else | ||
119 | { | ||
120 | responsedata["int_response_code"] = 404; //501; //410; //404; | ||
121 | responsedata["content_type"] = "text/plain"; | ||
122 | responsedata["keepalive"] = false; | ||
123 | responsedata["str_response_string"] = "Unfortunately, this asset isn't a mesh."; | ||
124 | return responsedata; | ||
125 | } | ||
126 | } | ||
127 | |||
128 | else | ||
129 | { | ||
130 | responsedata["int_response_code"] = 404; //501; //410; //404; | ||
131 | responsedata["content_type"] = "text/plain"; | ||
132 | responsedata["keepalive"] = false; | ||
133 | responsedata["str_response_string"] = "Your Mesh wasn't found. Sorry!"; | ||
134 | return responsedata; | ||
135 | } | ||
136 | } | 110 | } |
137 | |||
138 | } | 111 | } |
139 | 112 | ||
140 | return responsedata; | 113 | return responsedata; |
141 | } | 114 | } |
142 | } | 115 | } |
143 | } | 116 | } \ No newline at end of file |
diff --git a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs index 105a1e0..e1b4fe7 100644 --- a/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs +++ b/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs | |||
@@ -47,7 +47,6 @@ using Caps = OpenSim.Framework.Capabilities.Caps; | |||
47 | 47 | ||
48 | namespace OpenSim.Capabilities.Handlers | 48 | namespace OpenSim.Capabilities.Handlers |
49 | { | 49 | { |
50 | |||
51 | public class GetTextureHandler : BaseStreamHandler | 50 | public class GetTextureHandler : BaseStreamHandler |
52 | { | 51 | { |
53 | private static readonly ILog m_log = | 52 | private static readonly ILog m_log = |
@@ -67,7 +66,6 @@ namespace OpenSim.Capabilities.Handlers | |||
67 | 66 | ||
68 | public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) | 67 | public override byte[] Handle(string path, Stream request, OSHttpRequest httpRequest, OSHttpResponse httpResponse) |
69 | { | 68 | { |
70 | |||
71 | // Try to parse the texture ID from the request URL | 69 | // Try to parse the texture ID from the request URL |
72 | NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query); | 70 | NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query); |
73 | string textureStr = query.GetOne("texture_id"); | 71 | string textureStr = query.GetOne("texture_id"); |
@@ -85,6 +83,8 @@ namespace OpenSim.Capabilities.Handlers | |||
85 | UUID textureID; | 83 | UUID textureID; |
86 | if (!String.IsNullOrEmpty(textureStr) && UUID.TryParse(textureStr, out textureID)) | 84 | if (!String.IsNullOrEmpty(textureStr) && UUID.TryParse(textureStr, out textureID)) |
87 | { | 85 | { |
86 | // m_log.DebugFormat("[GETTEXTURE]: Received request for texture id {0}", textureID); | ||
87 | |||
88 | string[] formats; | 88 | string[] formats; |
89 | if (format != null && format != string.Empty) | 89 | if (format != null && format != string.Empty) |
90 | { | 90 | { |
@@ -105,7 +105,6 @@ namespace OpenSim.Capabilities.Handlers | |||
105 | if (FetchTexture(httpRequest, httpResponse, textureID, f)) | 105 | if (FetchTexture(httpRequest, httpResponse, textureID, f)) |
106 | break; | 106 | break; |
107 | } | 107 | } |
108 | |||
109 | } | 108 | } |
110 | else | 109 | else |
111 | { | 110 | { |