Implement the "delete" path for assets. Adds a new option to allow remote asset deletion in robust handler.

This commit is contained in:
Melanie
2010-05-09 17:56:52 +01:00
parent 9b22393cf3
commit 60357d3778
11 changed files with 60 additions and 6 deletions

View File

@@ -59,9 +59,11 @@ namespace OpenSim.Server.Handlers.Asset
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
bool allowDelete = serverConfig.GetBoolean("AllowRemoteDelete", false);
server.AddStreamHandler(new AssetServerGetHandler(m_AssetService));
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService));
server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowDelete));
}
}
}

View File

@@ -47,11 +47,13 @@ namespace OpenSim.Server.Handlers.Asset
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_AssetService;
protected bool m_allowDelete;
public AssetServerDeleteHandler(IAssetService service) :
public AssetServerDeleteHandler(IAssetService service, bool allowDelete) :
base("DELETE", "/assets")
{
m_AssetService = service;
m_allowDelete = allowDelete;
}
public override byte[] Handle(string path, Stream request,
@@ -61,9 +63,9 @@ namespace OpenSim.Server.Handlers.Asset
string[] p = SplitParams(path);
if (p.Length > 0)
if (p.Length > 0 && m_allowDelete)
{
// result = m_AssetService.Delete(p[0]);
result = m_AssetService.Delete(p[0]);
}
XmlSerializer xs = new XmlSerializer(typeof(bool));