aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Capabilities/Handlers
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Capabilities/Handlers')
-rw-r--r--OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs63
-rw-r--r--OpenSim/Capabilities/Handlers/UploadBakedTexture/UploadBakedTextureHandler.cs14
2 files changed, 68 insertions, 9 deletions
diff --git a/OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs b/OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs
new file mode 100644
index 0000000..fd152c3
--- /dev/null
+++ b/OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs
@@ -0,0 +1,63 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using System.Net;
31using log4net;
32using log4net.Config;
33using NUnit.Framework;
34using OpenMetaverse;
35using OpenSim.Capabilities.Handlers;
36using OpenSim.Framework;
37using OpenSim.Framework.Servers.HttpServer;
38using OpenSim.Region.Framework.Scenes;
39using OpenSim.Tests.Common;
40using OpenSim.Tests.Common.Mock;
41
42namespace OpenSim.Capabilities.Handlers.GetTexture.Tests
43{
44 [TestFixture]
45 public class GetTextureHandlerTests
46 {
47 [Test]
48 public void TestTextureNotFound()
49 {
50 TestHelpers.InMethod();
51
52 // Overkill - we only really need the asset service, not a whole scene.
53 Scene scene = SceneHelpers.SetupScene();
54
55 GetTextureHandler handler = new GetTextureHandler(null, scene.AssetService);
56 TestOSHttpRequest req = new TestOSHttpRequest();
57 TestOSHttpResponse resp = new TestOSHttpResponse();
58 req.Url = new Uri("http://localhost/?texture_id=00000000-0000-1111-9999-000000000012");
59 handler.Handle(null, null, req, resp);
60 Assert.That(resp.StatusCode, Is.EqualTo((int)System.Net.HttpStatusCode.NotFound));
61 }
62 }
63} \ No newline at end of file
diff --git a/OpenSim/Capabilities/Handlers/UploadBakedTexture/UploadBakedTextureHandler.cs b/OpenSim/Capabilities/Handlers/UploadBakedTexture/UploadBakedTextureHandler.cs
index e0ccc3c..e3bf8cf 100644
--- a/OpenSim/Capabilities/Handlers/UploadBakedTexture/UploadBakedTextureHandler.cs
+++ b/OpenSim/Capabilities/Handlers/UploadBakedTexture/UploadBakedTextureHandler.cs
@@ -106,7 +106,7 @@ namespace OpenSim.Capabilities.Handlers
106 } 106 }
107 catch (Exception e) 107 catch (Exception e)
108 { 108 {
109 m_log.Error("[UPLOAD BAKED TEXTURE HANDLER]: " + e.ToString()); 109 m_log.Error("[CAPS]: " + e.ToString());
110 } 110 }
111 111
112 return null; 112 return null;
@@ -132,8 +132,6 @@ namespace OpenSim.Capabilities.Handlers
132 132
133 class BakedTextureUploader 133 class BakedTextureUploader
134 { 134 {
135// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
136
137 public event Action<UUID, byte[]> OnUpLoad; 135 public event Action<UUID, byte[]> OnUpLoad;
138 136
139 private string uploaderPath = String.Empty; 137 private string uploaderPath = String.Empty;
@@ -158,12 +156,10 @@ namespace OpenSim.Capabilities.Handlers
158 public string uploaderCaps(byte[] data, string path, string param) 156 public string uploaderCaps(byte[] data, string path, string param)
159 { 157 {
160 Action<UUID, byte[]> handlerUpLoad = OnUpLoad; 158 Action<UUID, byte[]> handlerUpLoad = OnUpLoad;
161
162 // Don't do this asynchronously, otherwise it's possible for the client to send set appearance information
163 // on another thread which might send out avatar updates before the asset has been put into the asset
164 // service.
165 if (handlerUpLoad != null) 159 if (handlerUpLoad != null)
166 handlerUpLoad(newAssetID, data); 160 {
161 Util.FireAndForget(delegate(object o) { handlerUpLoad(newAssetID, data); });
162 }
167 163
168 string res = String.Empty; 164 string res = String.Empty;
169 LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete(); 165 LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete();
@@ -175,7 +171,7 @@ namespace OpenSim.Capabilities.Handlers
175 171
176 httpListener.RemoveStreamHandler("POST", uploaderPath); 172 httpListener.RemoveStreamHandler("POST", uploaderPath);
177 173
178// m_log.DebugFormat("[BAKED TEXTURE UPLOADER]: baked texture upload completed for {0}", newAssetID); 174 // m_log.InfoFormat("[CAPS] baked texture upload completed for {0}",newAssetID);
179 175
180 return res; 176 return res;
181 } 177 }