From 646bbbc84b8010e0dacbeed5342cdb045f46cc49 Mon Sep 17 00:00:00 2001
From: MW
Date: Wed, 27 Jun 2007 15:28:52 +0000
Subject: Some work on restructuring the namespaces / project names. Note this
doesn't compile yet as not all the code has been changed to use the new
namespaces. Am committing it now for feedback on the namespaces.
---
OpenSim/Grid/AssetServer/AssetHttpServer.cs | 130 ++++++++
OpenSim/Grid/AssetServer/Main.cs | 337 +++++++++++++++++++++
.../AssetServer/OpenSim.Grid.AssetServer.csproj | 118 ++++++++
.../OpenSim.Grid.AssetServer.csproj.user | 12 +
.../Grid/AssetServer/Properties/AssemblyInfo.cs | 60 ++++
5 files changed, 657 insertions(+)
create mode 100644 OpenSim/Grid/AssetServer/AssetHttpServer.cs
create mode 100644 OpenSim/Grid/AssetServer/Main.cs
create mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
create mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
create mode 100644 OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/AssetHttpServer.cs b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
new file mode 100644
index 0000000..6fc6bf8
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading;
+//using OpenSim.CAPS;
+using Nwc.XmlRpc;
+using System.Collections;
+using OpenSim.Framework.Console;
+using OpenSim.Servers;
+
+namespace OpenGridServices.AssetServer
+{
+ ///
+ /// An HTTP server for sending assets
+ ///
+ public class AssetHttpServer :BaseHttpServer
+ {
+ ///
+ /// Creates the new asset server
+ ///
+ /// Port to initalise on
+ public AssetHttpServer(int port)
+ : base(port)
+ {
+ }
+
+ ///
+ /// Handles an HTTP request
+ ///
+ /// HTTP State Info
+ public override void HandleRequest(Object stateinfo)
+ {
+ try
+ {
+ HttpListenerContext context = (HttpListenerContext)stateinfo;
+
+ HttpListenerRequest request = context.Request;
+ HttpListenerResponse response = context.Response;
+
+ response.KeepAlive = false;
+ response.SendChunked = false;
+
+ System.IO.Stream body = request.InputStream;
+ System.Text.Encoding encoding = System.Text.Encoding.UTF8;
+ System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
+
+ string requestBody = reader.ReadToEnd();
+ body.Close();
+ reader.Close();
+
+ //Console.WriteLine(request.HttpMethod + " " + request.RawUrl + " Http/" + request.ProtocolVersion.ToString() + " content type: " + request.ContentType);
+ //Console.WriteLine(requestBody);
+
+ string responseString = "";
+ switch (request.ContentType)
+ {
+ case "text/xml":
+ // must be XML-RPC, so pass to the XML-RPC parser
+
+ responseString = ParseXMLRPC(requestBody);
+ responseString = Regex.Replace(responseString, "utf-16", "utf-8");
+
+ response.AddHeader("Content-type", "text/xml");
+ break;
+
+ case "application/xml":
+ // probably LLSD we hope, otherwise it should be ignored by the parser
+ responseString = ParseLLSDXML(requestBody);
+ response.AddHeader("Content-type", "application/xml");
+ break;
+
+ case "application/x-www-form-urlencoded":
+ // a form data POST so send to the REST parser
+ responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
+ response.AddHeader("Content-type", "text/plain");
+ break;
+
+ case null:
+ // must be REST or invalid crap, so pass to the REST parser
+ responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
+ response.AddHeader("Content-type", "text/plain");
+ break;
+
+ }
+
+ Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
+ byte[] buffer = Windows1252Encoding.GetBytes(responseString);
+ System.IO.Stream output = response.OutputStream;
+ response.SendChunked = false;
+ response.ContentLength64 = buffer.Length;
+ output.Write(buffer, 0, buffer.Length);
+ output.Close();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.ToString());
+ }
+ }
+
+ }
+}
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs
new file mode 100644
index 0000000..96c9dba
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/Main.cs
@@ -0,0 +1,337 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.IO;
+using System.Text;
+using System.Timers;
+using System.Net;
+using System.Reflection;
+using System.Threading;
+using libsecondlife;
+using OpenSim.Framework;
+using OpenSim.Framework.Sims;
+using OpenSim.Framework.Console;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Utilities;
+using OpenSim.Servers;
+using Db4objects.Db4o;
+using Db4objects.Db4o.Query;
+
+namespace OpenGridServices.AssetServer
+{
+ ///
+ /// An asset server
+ ///
+ public class OpenAsset_Main : conscmd_callback
+ {
+ private IObjectContainer db;
+
+ public static OpenAsset_Main assetserver;
+
+ private LogBase m_console;
+
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ Console.WriteLine("Starting...\n");
+
+ assetserver = new OpenAsset_Main();
+ assetserver.Startup();
+
+ assetserver.Work();
+ }
+
+ private void Work()
+ {
+ m_console.Notice("Enter help for a list of commands");
+
+ while (true)
+ {
+ m_console.MainLogPrompt();
+ }
+ }
+
+ private OpenAsset_Main()
+ {
+ m_console = new LogBase("opengrid-AssetServer-console.log", "OpenAsset", this, false);
+ OpenSim.Framework.Console.MainLog.Instance = m_console;
+ }
+
+ public void Startup()
+ {
+ m_console.Verbose( "Main.cs:Startup() - Setting up asset DB");
+ setupDB();
+
+ m_console.Verbose( "Main.cs:Startup() - Starting HTTP process");
+ AssetHttpServer httpServer = new AssetHttpServer(8003);
+
+
+ httpServer.AddRestHandler("GET", "/assets/", this.assetGetMethod);
+ httpServer.AddRestHandler("POST", "/assets/", this.assetPostMethod);
+
+ httpServer.Start();
+
+ }
+
+ public string assetPostMethod(string requestBody, string path, string param)
+ {
+ AssetBase asset = new AssetBase();
+ asset.Name = "";
+ asset.FullID = new LLUUID(param);
+ Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
+ byte[] buffer = Windows1252Encoding.GetBytes(requestBody);
+ asset.Data = buffer;
+ AssetStorage store = new AssetStorage();
+ store.Data = asset.Data;
+ store.Name = asset.Name;
+ store.UUID = asset.FullID;
+ db.Set(store);
+ db.Commit();
+ return "";
+ }
+
+ public string assetGetMethod(string request, string path, string param)
+ {
+ Console.WriteLine("got a request " + param);
+ byte[] assetdata = getAssetData(new LLUUID(param), false);
+ if (assetdata != null)
+ {
+ Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
+ string ret = Windows1252Encoding.GetString(assetdata);
+ //string ret = System.Text.Encoding.Unicode.GetString(assetdata);
+
+ return ret;
+
+ }
+ else
+ {
+ return "";
+ }
+
+ }
+
+ public byte[] getAssetData(LLUUID assetID, bool isTexture)
+ {
+ bool found = false;
+ AssetStorage foundAsset = null;
+
+ IObjectSet result = db.Get(new AssetStorage(assetID));
+ if (result.Count > 0)
+ {
+ foundAsset = (AssetStorage)result.Next();
+ found = true;
+ }
+
+ if (found)
+ {
+ return foundAsset.Data;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public void setupDB()
+ {
+ bool yapfile = System.IO.File.Exists("assets.yap");
+ try
+ {
+ db = Db4oFactory.OpenFile("assets.yap");
+ OpenSim.Framework.Console.MainLog.Instance.Verbose( "Main.cs:setupDB() - creation");
+ }
+ catch (Exception e)
+ {
+ db.Close();
+ OpenSim.Framework.Console.MainLog.Instance.Warn("Main.cs:setupDB() - Exception occured");
+ OpenSim.Framework.Console.MainLog.Instance.Warn(e.ToString());
+ }
+ if (!yapfile)
+ {
+ this.LoadDB();
+ }
+ }
+
+ public void LoadDB()
+ {
+ try
+ {
+
+ Console.WriteLine("setting up Asset database");
+
+ AssetBase Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000001");
+ Image.Name = "Bricks";
+ this.LoadAsset(Image, true, "bricks.jp2");
+ AssetStorage store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000002");
+ Image.Name = "Plywood";
+ this.LoadAsset(Image, true, "plywood.jp2");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000003");
+ Image.Name = "Rocks";
+ this.LoadAsset(Image, true, "rocks.jp2");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000004");
+ Image.Name = "Granite";
+ this.LoadAsset(Image, true, "granite.jp2");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-9999-000000000005");
+ Image.Name = "Hardwood";
+ this.LoadAsset(Image, true, "hardwood.jp2");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("00000000-0000-0000-5005-000000000005");
+ Image.Name = "Prim Base Texture";
+ this.LoadAsset(Image, true, "plywood.jp2");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+
+ Image = new AssetBase();
+ Image.FullID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
+ Image.Name = "Shape";
+ this.LoadAsset(Image, false, "base_shape.dat");
+ store = new AssetStorage();
+ store.Data = Image.Data;
+ store.Name = Image.Name;
+ store.UUID = Image.FullID;
+ db.Set(store);
+ db.Commit();
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e.Message);
+ }
+ }
+
+ private void LoadAsset(AssetBase info, bool image, string filename)
+ {
+
+
+ string dataPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "assets"); //+ folder;
+ string fileName = Path.Combine(dataPath, filename);
+ FileInfo fInfo = new FileInfo(fileName);
+ long numBytes = fInfo.Length;
+ FileStream fStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
+ byte[] idata = new byte[numBytes];
+ BinaryReader br = new BinaryReader(fStream);
+ idata = br.ReadBytes((int)numBytes);
+ br.Close();
+ fStream.Close();
+ info.Data = idata;
+ //info.loaded=true;
+ }
+
+ /*private GridConfig LoadConfigDll(string dllName)
+ {
+ Assembly pluginAssembly = Assembly.LoadFrom(dllName);
+ GridConfig config = null;
+
+ foreach (Type pluginType in pluginAssembly.GetTypes())
+ {
+ if (pluginType.IsPublic)
+ {
+ if (!pluginType.IsAbstract)
+ {
+ Type typeInterface = pluginType.GetInterface("IGridConfig", true);
+
+ if (typeInterface != null)
+ {
+ IGridConfig plug = (IGridConfig)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
+ config = plug.GetConfigObject();
+ break;
+ }
+
+ typeInterface = null;
+ }
+ }
+ }
+ pluginAssembly = null;
+ return config;
+ }*/
+
+ public void RunCmd(string cmd, string[] cmdparams)
+ {
+ switch (cmd)
+ {
+ case "help":
+ m_console.Notice("shutdown - shutdown this asset server (USE CAUTION!)");
+ break;
+
+ case "shutdown":
+ m_console.Close();
+ Environment.Exit(0);
+ break;
+ }
+ }
+
+ public void Show(string ShowWhat)
+ {
+ }
+ }
+}
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
new file mode 100644
index 0000000..caebca3
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -0,0 +1,118 @@
+
+
+ Local
+ 8.0.50727
+ 2.0
+ {E5F1A03B-0000-0000-0000-000000000000}
+ Debug
+ AnyCPU
+
+
+
+ OpenSim.Grid.AssetServer
+ JScript
+ Grid
+ IE50
+ false
+ Exe
+
+ OpenSim.Grid.AssetServer
+
+
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE;DEBUG
+
+ True
+ 4096
+ False
+ ..\..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE
+
+ False
+ 4096
+ True
+ ..\..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+
+ ..\..\..\bin\Db4objects.Db4o.dll
+ False
+
+
+ ..\..\..\bin\libsecondlife.dll
+ False
+
+
+ OpenSim.Framework.dll
+ False
+
+
+ OpenSim.Framework.Console.dll
+ False
+
+
+ OpenSim.Framework.Servers.dll
+ False
+
+
+ System.dll
+ False
+
+
+ System.Data.dll
+ False
+
+
+ System.Xml.dll
+ False
+
+
+ ..\..\..\bin\XMLRPC.dll
+ False
+
+
+
+
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
new file mode 100644
index 0000000..6841907
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
@@ -0,0 +1,12 @@
+
+
+ Debug
+ AnyCPU
+ C:\New Folder\second-life-viewer\opensim-dailys2\opensim15-06\NameSpaceChanges\bin\
+ 8.0.50727
+ ProjectFiles
+ 0
+
+
+
+
diff --git a/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..f9a18a8
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OGS-AssetServer")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OGS-AssetServer")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b541b244-3d1d-4625-9003-bc2a3a6a39a4")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--
cgit v1.1
From fe120533efd0ec6b2248d96b9a1f8b7637c5dadd Mon Sep 17 00:00:00 2001
From: mingchen
Date: Wed, 27 Jun 2007 17:12:32 +0000
Subject: *Updated prebuild.xml and ran prebuild again *Removed .user, .suo,
and unneccessary files in /bin/Physics/ *OpenSim.sln should compile with nant
and on windows now
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj | 4 ++--
.../Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user | 12 ------------
2 files changed, 2 insertions(+), 14 deletions(-)
delete mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index caebca3..945b7a5 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
deleted file mode 100644
index 6841907..0000000
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj.user
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- Debug
- AnyCPU
- C:\New Folder\second-life-viewer\opensim-dailys2\opensim15-06\NameSpaceChanges\bin\
- 8.0.50727
- ProjectFiles
- 0
-
-
-
-
--
cgit v1.1
From 2261e4ec2a43a56dbb74168a169f39b2c6c1f054 Mon Sep 17 00:00:00 2001
From: mingchen
Date: Wed, 27 Jun 2007 18:04:07 +0000
Subject: *Fixed all renaming for OpenGridServices.sln, still a reference issue
in prebuild.xml though
---
OpenSim/Grid/AssetServer/AssetHttpServer.cs | 4 ++--
OpenSim/Grid/AssetServer/Main.cs | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/AssetHttpServer.cs b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
index 6fc6bf8..ad8733f 100644
--- a/OpenSim/Grid/AssetServer/AssetHttpServer.cs
+++ b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
@@ -35,9 +35,9 @@ using System.Threading;
using Nwc.XmlRpc;
using System.Collections;
using OpenSim.Framework.Console;
-using OpenSim.Servers;
+using OpenSim.Framework.Servers;
-namespace OpenGridServices.AssetServer
+namespace OpenSim.Grid.AssetServer
{
///
/// An HTTP server for sending assets
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs
index 96c9dba..d06998d 100644
--- a/OpenSim/Grid/AssetServer/Main.cs
+++ b/OpenSim/Grid/AssetServer/Main.cs
@@ -40,11 +40,11 @@ using OpenSim.Framework.Console;
using OpenSim.Framework.Types;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Utilities;
-using OpenSim.Servers;
+using OpenSim.Framework.Servers;
using Db4objects.Db4o;
using Db4objects.Db4o.Query;
-namespace OpenGridServices.AssetServer
+namespace OpenSim.Grid.AssetServer
{
///
/// An asset server
--
cgit v1.1
From 3456d951d89fbc83f742d40ca8ca2a1a79d414eb Mon Sep 17 00:00:00 2001
From: MW
Date: Thu, 28 Jun 2007 13:13:17 +0000
Subject: Imported the scripting changes, so now should be up to date with
sugilite.
---
.../AssetServer/OpenSim.Grid.AssetServer.csproj | 4 +-
.../AssetServer/OpenSim.Grid.AssetServer.exe.build | 49 ++++++++++++++++++++++
2 files changed, 51 insertions(+), 2 deletions(-)
create mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index 945b7a5..caebca3 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
new file mode 100644
index 0000000..88724f6
--- /dev/null
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--
cgit v1.1
From 108d89f89436556c8f4662197903c374db943f7d Mon Sep 17 00:00:00 2001
From: mingchen
Date: Thu, 28 Jun 2007 16:17:20 +0000
Subject: *Master User is now set up *Added support for getting user profile
information from remote grid server (untested) *Updated prebuild.xml
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj | 4 ++--
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index caebca3..945b7a5 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 88724f6..0a1b533 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -11,8 +11,8 @@
-
+
--
cgit v1.1
From 135e9b1f538ae77dfd8bf68139c960fb8e016c16 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Thu, 28 Jun 2007 19:35:20 +0000
Subject: * Removed J# language support because it has issues with Mono.
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj | 4 ++--
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index 945b7a5..caebca3 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 0a1b533..0f9540e 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -11,8 +11,8 @@
-
+
@@ -22,9 +22,9 @@
-
-
-
+
+
+
--
cgit v1.1
From b2883faddf4b91a56f9fb63344be0c434f55561c Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Fri, 29 Jun 2007 16:28:03 +0000
Subject: * just making sure build files are latest
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 0f9540e..88724f6 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -22,9 +22,9 @@
-
-
-
+
+
+
--
cgit v1.1
From 6b3777d3db323f2054aeff1ba4be3e78edef21b8 Mon Sep 17 00:00:00 2001
From: mingchen
Date: Fri, 29 Jun 2007 16:43:48 +0000
Subject: *Deleted Logger.cs from OpenSim.Framework
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj | 4 ++--
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index caebca3..945b7a5 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 88724f6..0a1b533 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -11,8 +11,8 @@
-
+
--
cgit v1.1
From 5e805656db1215518a344d6d5364629a4997fd47 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Sun, 1 Jul 2007 13:17:27 +0000
Subject: Fixed SimpleApp - aka thankgoditssundaycommit * Updated SimpleApp
with various introduced dependencies * Extracted ScenePrescence creation in
Scene * removed try-catchall from UserManagerBase (that actually hid a bug) *
Refactored RegionInfo * handle is calculated * it will explode upon
accessing x,y,ip,port,externalip if not explicitly initialized * Removed
superfluous 'ref' keywords * Removed a shitload of 'catch Exception e' that
causes build warnings * Lots of small refactorings, renames et c * Ignored
some bins
---
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj | 4 ++--
OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index 945b7a5..caebca3 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,10 +98,10 @@
-
+
Code
-
+
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 0a1b533..88724f6 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -11,8 +11,8 @@
-
+
--
cgit v1.1
From 686f6a83319eaccd27f426eda82c020246566963 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Mon, 2 Jul 2007 08:03:11 +0000
Subject: * Fixed Issue #161 by using PhysicsScene.Null instead of
BasePhysicsScene * Hid NullPhysicsScene for great justice * Fixed broken Grid
build
---
OpenSim/Grid/AssetServer/AssetHttpServer.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/AssetHttpServer.cs b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
index ad8733f..31cb379 100644
--- a/OpenSim/Grid/AssetServer/AssetHttpServer.cs
+++ b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
@@ -94,7 +94,7 @@ namespace OpenSim.Grid.AssetServer
case "application/xml":
// probably LLSD we hope, otherwise it should be ignored by the parser
- responseString = ParseLLSDXML(requestBody);
+ responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
response.AddHeader("Content-type", "application/xml");
break;
--
cgit v1.1
From 9b6b6d05d45cf0f754a0b26bf6240ef50be66563 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 3 Jul 2007 14:37:29 +0000
Subject: * Optimized usings (the 'LL ate my scripts' commit) * added some
licensing info
---
OpenSim/Grid/AssetServer/AssetHttpServer.cs | 15 +++++---------
OpenSim/Grid/AssetServer/Main.cs | 24 +++++++---------------
.../Grid/AssetServer/Properties/AssemblyInfo.cs | 2 --
3 files changed, 12 insertions(+), 29 deletions(-)
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/AssetHttpServer.cs b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
index 31cb379..9546891 100644
--- a/OpenSim/Grid/AssetServer/AssetHttpServer.cs
+++ b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
@@ -26,15 +26,10 @@
*
*/
using System;
-using System.Collections.Generic;
+using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
-using System.Threading;
-//using OpenSim.CAPS;
-using Nwc.XmlRpc;
-using System.Collections;
-using OpenSim.Framework.Console;
using OpenSim.Framework.Servers;
namespace OpenSim.Grid.AssetServer
@@ -69,9 +64,9 @@ namespace OpenSim.Grid.AssetServer
response.KeepAlive = false;
response.SendChunked = false;
- System.IO.Stream body = request.InputStream;
- System.Text.Encoding encoding = System.Text.Encoding.UTF8;
- System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
+ Stream body = request.InputStream;
+ Encoding encoding = Encoding.UTF8;
+ StreamReader reader = new StreamReader(body, encoding);
string requestBody = reader.ReadToEnd();
body.Close();
@@ -114,7 +109,7 @@ namespace OpenSim.Grid.AssetServer
Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
byte[] buffer = Windows1252Encoding.GetBytes(responseString);
- System.IO.Stream output = response.OutputStream;
+ Stream output = response.OutputStream;
response.SendChunked = false;
response.ContentLength64 = buffer.Length;
output.Write(buffer, 0, buffer.Length);
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs
index d06998d..112d72f 100644
--- a/OpenSim/Grid/AssetServer/Main.cs
+++ b/OpenSim/Grid/AssetServer/Main.cs
@@ -29,20 +29,10 @@
using System;
using System.IO;
using System.Text;
-using System.Timers;
-using System.Net;
-using System.Reflection;
-using System.Threading;
+using Db4objects.Db4o;
using libsecondlife;
-using OpenSim.Framework;
-using OpenSim.Framework.Sims;
using OpenSim.Framework.Console;
using OpenSim.Framework.Types;
-using OpenSim.Framework.Interfaces;
-using OpenSim.Framework.Utilities;
-using OpenSim.Framework.Servers;
-using Db4objects.Db4o;
-using Db4objects.Db4o.Query;
namespace OpenSim.Grid.AssetServer
{
@@ -81,7 +71,7 @@ namespace OpenSim.Grid.AssetServer
private OpenAsset_Main()
{
m_console = new LogBase("opengrid-AssetServer-console.log", "OpenAsset", this, false);
- OpenSim.Framework.Console.MainLog.Instance = m_console;
+ MainLog.Instance = m_console;
}
public void Startup()
@@ -161,17 +151,17 @@ namespace OpenSim.Grid.AssetServer
public void setupDB()
{
- bool yapfile = System.IO.File.Exists("assets.yap");
+ bool yapfile = File.Exists("assets.yap");
try
{
db = Db4oFactory.OpenFile("assets.yap");
- OpenSim.Framework.Console.MainLog.Instance.Verbose( "Main.cs:setupDB() - creation");
+ MainLog.Instance.Verbose( "Main.cs:setupDB() - creation");
}
catch (Exception e)
{
db.Close();
- OpenSim.Framework.Console.MainLog.Instance.Warn("Main.cs:setupDB() - Exception occured");
- OpenSim.Framework.Console.MainLog.Instance.Warn(e.ToString());
+ MainLog.Instance.Warn("Main.cs:setupDB() - Exception occured");
+ MainLog.Instance.Warn(e.ToString());
}
if (!yapfile)
{
@@ -273,7 +263,7 @@ namespace OpenSim.Grid.AssetServer
{
- string dataPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "assets"); //+ folder;
+ string dataPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "assets"); //+ folder;
string fileName = Path.Combine(dataPath, filename);
FileInfo fInfo = new FileInfo(fileName);
long numBytes = fInfo.Length;
diff --git a/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
index f9a18a8..dc39ce2 100644
--- a/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
+++ b/OpenSim/Grid/AssetServer/Properties/AssemblyInfo.cs
@@ -26,9 +26,7 @@
*
*/
using System.Reflection;
-using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
--
cgit v1.1
From 6a2588454a1ac4bb484ad0b9ee648e9ac156f8db Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 4 Jul 2007 14:12:32 +0000
Subject: * Removed AssetHttpServer, using BaseHttpServer instead * Removed
legacy REST handling * Created two custom IStreamHandlers for asset
up/download * Removed quite a lot of double and triple encodings, trying to
work towards binary only and direct write into storage. * Introduced
BaseStreamHandler with GetParam() and some other goodies
---
OpenSim/Grid/AssetServer/AssetHttpServer.cs | 125 ---------------
OpenSim/Grid/AssetServer/Main.cs | 169 +++++++++++++++------
.../AssetServer/OpenSim.Grid.AssetServer.csproj | 3 -
.../AssetServer/OpenSim.Grid.AssetServer.exe.build | 1 -
4 files changed, 124 insertions(+), 174 deletions(-)
delete mode 100644 OpenSim/Grid/AssetServer/AssetHttpServer.cs
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/AssetHttpServer.cs b/OpenSim/Grid/AssetServer/AssetHttpServer.cs
deleted file mode 100644
index 9546891..0000000
--- a/OpenSim/Grid/AssetServer/AssetHttpServer.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Text.RegularExpressions;
-using OpenSim.Framework.Servers;
-
-namespace OpenSim.Grid.AssetServer
-{
- ///
- /// An HTTP server for sending assets
- ///
- public class AssetHttpServer :BaseHttpServer
- {
- ///
- /// Creates the new asset server
- ///
- /// Port to initalise on
- public AssetHttpServer(int port)
- : base(port)
- {
- }
-
- ///
- /// Handles an HTTP request
- ///
- /// HTTP State Info
- public override void HandleRequest(Object stateinfo)
- {
- try
- {
- HttpListenerContext context = (HttpListenerContext)stateinfo;
-
- HttpListenerRequest request = context.Request;
- HttpListenerResponse response = context.Response;
-
- response.KeepAlive = false;
- response.SendChunked = false;
-
- Stream body = request.InputStream;
- Encoding encoding = Encoding.UTF8;
- StreamReader reader = new StreamReader(body, encoding);
-
- string requestBody = reader.ReadToEnd();
- body.Close();
- reader.Close();
-
- //Console.WriteLine(request.HttpMethod + " " + request.RawUrl + " Http/" + request.ProtocolVersion.ToString() + " content type: " + request.ContentType);
- //Console.WriteLine(requestBody);
-
- string responseString = "";
- switch (request.ContentType)
- {
- case "text/xml":
- // must be XML-RPC, so pass to the XML-RPC parser
-
- responseString = ParseXMLRPC(requestBody);
- responseString = Regex.Replace(responseString, "utf-16", "utf-8");
-
- response.AddHeader("Content-type", "text/xml");
- break;
-
- case "application/xml":
- // probably LLSD we hope, otherwise it should be ignored by the parser
- responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
- response.AddHeader("Content-type", "application/xml");
- break;
-
- case "application/x-www-form-urlencoded":
- // a form data POST so send to the REST parser
- responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
- response.AddHeader("Content-type", "text/plain");
- break;
-
- case null:
- // must be REST or invalid crap, so pass to the REST parser
- responseString = ParseREST(requestBody, request.RawUrl, request.HttpMethod);
- response.AddHeader("Content-type", "text/plain");
- break;
-
- }
-
- Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
- byte[] buffer = Windows1252Encoding.GetBytes(responseString);
- Stream output = response.OutputStream;
- response.SendChunked = false;
- response.ContentLength64 = buffer.Length;
- output.Write(buffer, 0, buffer.Length);
- output.Close();
- }
- catch (Exception e)
- {
- Console.WriteLine(e.ToString());
- }
- }
-
- }
-}
diff --git a/OpenSim/Grid/AssetServer/Main.cs b/OpenSim/Grid/AssetServer/Main.cs
index 112d72f..3e302d8 100644
--- a/OpenSim/Grid/AssetServer/Main.cs
+++ b/OpenSim/Grid/AssetServer/Main.cs
@@ -33,13 +33,14 @@ using Db4objects.Db4o;
using libsecondlife;
using OpenSim.Framework.Console;
using OpenSim.Framework.Types;
+using OpenSim.Framework.Servers;
namespace OpenSim.Grid.AssetServer
{
///
/// An asset server
///
- public class OpenAsset_Main : conscmd_callback
+ public class OpenAsset_Main : conscmd_callback
{
private IObjectContainer db;
@@ -76,58 +77,60 @@ namespace OpenSim.Grid.AssetServer
public void Startup()
{
- m_console.Verbose( "Main.cs:Startup() - Setting up asset DB");
+ m_console.Verbose("Main.cs:Startup() - Setting up asset DB");
setupDB();
- m_console.Verbose( "Main.cs:Startup() - Starting HTTP process");
- AssetHttpServer httpServer = new AssetHttpServer(8003);
+ m_console.Verbose("Main.cs:Startup() - Starting HTTP process");
+ BaseHttpServer httpServer = new BaseHttpServer(8003);
+ httpServer.AddStreamHandler( new GetAssetStreamHandler(this));
+ httpServer.AddStreamHandler(new PostAssetStreamHandler( this ));
- httpServer.AddRestHandler("GET", "/assets/", this.assetGetMethod);
- httpServer.AddRestHandler("POST", "/assets/", this.assetPostMethod);
+ //httpServer.AddRestHandler("GET", "/assets/", this.assetGetMethod);
+ //httpServer.AddRestHandler("POST", "/assets/", this.assetPostMethod);
httpServer.Start();
}
- public string assetPostMethod(string requestBody, string path, string param)
- {
- AssetBase asset = new AssetBase();
- asset.Name = "";
- asset.FullID = new LLUUID(param);
- Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
- byte[] buffer = Windows1252Encoding.GetBytes(requestBody);
- asset.Data = buffer;
- AssetStorage store = new AssetStorage();
- store.Data = asset.Data;
- store.Name = asset.Name;
- store.UUID = asset.FullID;
- db.Set(store);
- db.Commit();
- return "";
- }
-
- public string assetGetMethod(string request, string path, string param)
- {
- Console.WriteLine("got a request " + param);
- byte[] assetdata = getAssetData(new LLUUID(param), false);
- if (assetdata != null)
- {
- Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
- string ret = Windows1252Encoding.GetString(assetdata);
- //string ret = System.Text.Encoding.Unicode.GetString(assetdata);
-
- return ret;
-
- }
- else
- {
- return "";
- }
-
- }
-
- public byte[] getAssetData(LLUUID assetID, bool isTexture)
+ //public string AssetPostMethod(string requestBody, string path, string param)
+ //{
+ // AssetBase asset = new AssetBase();
+ // asset.Name = "";
+ // asset.FullID = new LLUUID(param);
+ // Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
+ // byte[] buffer = Windows1252Encoding.GetBytes(requestBody);
+ // asset.Data = buffer;
+ // AssetStorage store = new AssetStorage();
+ // store.Data = asset.Data;
+ // store.Name = asset.Name;
+ // store.UUID = asset.FullID;
+ // db.Set(store);
+ // db.Commit();
+ // return "";
+ //}
+
+ //public string AssetGetMethod(string request, string path, string param)
+ //{
+ // Console.WriteLine("got a request " + param);
+ // byte[] assetdata = GetAssetData(new LLUUID(param), false);
+ // if (assetdata != null)
+ // {
+ // Encoding Windows1252Encoding = Encoding.GetEncoding(1252);
+ // string ret = Windows1252Encoding.GetString(assetdata);
+ // //string ret = System.Text.Encoding.Unicode.GetString(assetdata);
+
+ // return ret;
+
+ // }
+ // else
+ // {
+ // return "";
+ // }
+
+ //}
+
+ public byte[] GetAssetData(LLUUID assetID, bool isTexture)
{
bool found = false;
AssetStorage foundAsset = null;
@@ -155,7 +158,7 @@ namespace OpenSim.Grid.AssetServer
try
{
db = Db4oFactory.OpenFile("assets.yap");
- MainLog.Instance.Verbose( "Main.cs:setupDB() - creation");
+ MainLog.Instance.Verbose("Main.cs:setupDB() - creation");
}
catch (Exception e)
{
@@ -305,6 +308,21 @@ namespace OpenSim.Grid.AssetServer
return config;
}*/
+ public void CreateAsset(LLUUID assetId, byte[] assetData)
+ {
+ AssetBase asset = new AssetBase();
+ asset.Name = "";
+ asset.FullID = assetId;
+ asset.Data = assetData;
+
+ AssetStorage store = new AssetStorage();
+ store.Data = asset.Data;
+ store.Name = asset.Name;
+ store.UUID = asset.FullID;
+ db.Set(store);
+ db.Commit();
+ }
+
public void RunCmd(string cmd, string[] cmdparams)
{
switch (cmd)
@@ -324,4 +342,65 @@ namespace OpenSim.Grid.AssetServer
{
}
}
+
+ public class GetAssetStreamHandler : BaseStreamHandler
+ {
+ OpenAsset_Main m_assetManager;
+
+ override public byte[] Handle(string path, Stream request)
+ {
+ string param = GetParam(path);
+
+ byte[] assetdata = m_assetManager.GetAssetData(new LLUUID(param), false);
+ if (assetdata != null)
+ {
+ return assetdata;
+ }
+ else
+ {
+ return new byte[]{};
+ }
+ }
+
+ public GetAssetStreamHandler(OpenAsset_Main assetManager):base( "/assets/", "GET")
+ {
+ m_assetManager = assetManager;
+ }
+ }
+
+ public class PostAssetStreamHandler : BaseStreamHandler
+ {
+ OpenAsset_Main m_assetManager;
+
+ override public byte[] Handle(string path, Stream request)
+ {
+ string param = GetParam(path);
+ LLUUID assetId = new LLUUID(param);
+ byte[] txBuffer = new byte[4096];
+
+ using( BinaryReader binReader = new BinaryReader( request ) )
+ {
+ using (MemoryStream memoryStream = new MemoryStream(4096))
+ {
+ int count;
+ while ((count = binReader.Read(txBuffer, 0, 4096)) > 0)
+ {
+ memoryStream.Write(txBuffer, 0, count);
+ }
+
+ byte[] assetData = memoryStream.ToArray();
+
+ m_assetManager.CreateAsset(assetId, assetData);
+ }
+ }
+
+ return new byte[]{};
+ }
+
+ public PostAssetStreamHandler( OpenAsset_Main assetManager )
+ : base("/assets/", "POST")
+ {
+ m_assetManager = assetManager;
+ }
+ }
}
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
index caebca3..5ba4642 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
@@ -98,9 +98,6 @@
-
- Code
-
Code
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
index 88724f6..a922fe7 100644
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
@@ -11,7 +11,6 @@
-
--
cgit v1.1
From 5f8de1e7045b9daa2d4f3b21ca826987e32efe6e Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Sun, 8 Jul 2007 19:27:04 +0000
Subject: * By popular demand, all generated build files are now deleted.
Somebody should make sure the wiki is updated.
---
.../AssetServer/OpenSim.Grid.AssetServer.csproj | 115 ---------------------
.../AssetServer/OpenSim.Grid.AssetServer.exe.build | 48 ---------
2 files changed, 163 deletions(-)
delete mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
delete mode 100644 OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
(limited to 'OpenSim/Grid/AssetServer')
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
deleted file mode 100644
index 5ba4642..0000000
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.csproj
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
- Local
- 8.0.50727
- 2.0
- {E5F1A03B-0000-0000-0000-000000000000}
- Debug
- AnyCPU
-
-
-
- OpenSim.Grid.AssetServer
- JScript
- Grid
- IE50
- false
- Exe
-
- OpenSim.Grid.AssetServer
-
-
-
-
-
- False
- 285212672
- False
-
-
- TRACE;DEBUG
-
- True
- 4096
- False
- ..\..\..\bin\
- False
- False
- False
- 4
-
-
-
- False
- 285212672
- False
-
-
- TRACE
-
- False
- 4096
- True
- ..\..\..\bin\
- False
- False
- False
- 4
-
-
-
-
- ..\..\..\bin\Db4objects.Db4o.dll
- False
-
-
- ..\..\..\bin\libsecondlife.dll
- False
-
-
- OpenSim.Framework.dll
- False
-
-
- OpenSim.Framework.Console.dll
- False
-
-
- OpenSim.Framework.Servers.dll
- False
-
-
- System.dll
- False
-
-
- System.Data.dll
- False
-
-
- System.Xml.dll
- False
-
-
- ..\..\..\bin\XMLRPC.dll
- False
-
-
-
-
-
-
- Code
-
-
- Code
-
-
-
-
-
-
-
-
-
-
diff --git a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build b/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
deleted file mode 100644
index a922fe7..0000000
--- a/OpenSim/Grid/AssetServer/OpenSim.Grid.AssetServer.exe.build
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--
cgit v1.1