diff options
author | Sean Dague | 2008-05-14 19:13:54 +0000 |
---|---|---|
committer | Sean Dague | 2008-05-14 19:13:54 +0000 |
commit | 4a07038bbe616d05fbb3dfad79ec72a3169de589 (patch) | |
tree | 2ce85f8ef8818acf92c7f7ce1adbb9b772feb45d | |
parent | From: Dr Schofield <hud@zurich.ibm.com> (diff) | |
download | opensim-SC-4a07038bbe616d05fbb3dfad79ec72a3169de589.zip opensim-SC-4a07038bbe616d05fbb3dfad79ec72a3169de589.tar.gz opensim-SC-4a07038bbe616d05fbb3dfad79ec72a3169de589.tar.bz2 opensim-SC-4a07038bbe616d05fbb3dfad79ec72a3169de589.tar.xz |
From: Dr Scofield <DrScofield@xyzzyxyzzy.net>
the attached patch set adds the (still work-in-progress but already
working) RestPlugin base class and the RestRegionPlugin code. we are using
XML serialization.
currently working:
GET /admin/regions/ -> returns UUID list of known regions
GET /admin/regions/<UUID> -> returns detailed region information
we'll be adding support for POST/DELETE/PUT and also for
/admin/regions/<UUID>/name etc.
-rw-r--r-- | OpenSim/Framework/Servers/RestStreamHandler.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 27 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 12 | ||||
-rw-r--r-- | prebuild.xml | 109 |
4 files changed, 138 insertions, 15 deletions
diff --git a/OpenSim/Framework/Servers/RestStreamHandler.cs b/OpenSim/Framework/Servers/RestStreamHandler.cs index 64c7d40..cab5208 100644 --- a/OpenSim/Framework/Servers/RestStreamHandler.cs +++ b/OpenSim/Framework/Servers/RestStreamHandler.cs | |||
@@ -34,6 +34,11 @@ namespace OpenSim.Framework.Servers | |||
34 | { | 34 | { |
35 | private RestMethod m_restMethod; | 35 | private RestMethod m_restMethod; |
36 | 36 | ||
37 | public RestMethod Method | ||
38 | { | ||
39 | get { return m_restMethod; } | ||
40 | } | ||
41 | |||
37 | public override byte[] Handle(string path, Stream request) | 42 | public override byte[] Handle(string path, Stream request) |
38 | { | 43 | { |
39 | Encoding encoding = Encoding.UTF8; | 44 | Encoding encoding = Encoding.UTF8; |
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 639e3c2..bae7819 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -90,35 +90,40 @@ namespace OpenSim | |||
90 | private string m_standaloneUserSource; | 90 | private string m_standaloneUserSource; |
91 | 91 | ||
92 | protected string m_assetStorage = "local"; | 92 | protected string m_assetStorage = "local"; |
93 | 93 | ||
94 | public ConsoleCommand CreateAccount = null; | 94 | public ConsoleCommand CreateAccount = null; |
95 | protected bool m_dumpAssetsToFile; | 95 | protected bool m_dumpAssetsToFile; |
96 | 96 | ||
97 | protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); | 97 | protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); |
98 | 98 | ||
99 | protected IniConfigSource m_config; | 99 | protected IniConfigSource m_config; |
100 | 100 | ||
101 | public IniConfigSource ConfigSource | 101 | public IniConfigSource ConfigSource |
102 | { | 102 | { |
103 | get { return m_config; } | 103 | get { return m_config; } |
104 | set { m_config = value; } | 104 | set { m_config = value; } |
105 | } | 105 | } |
106 | 106 | ||
107 | public BaseHttpServer HttpServer | ||
108 | { | ||
109 | get { return m_httpServer; } | ||
110 | } | ||
111 | |||
112 | public List<IClientNetworkServer> ClientServers | 107 | public List<IClientNetworkServer> ClientServers |
113 | { | 108 | { |
114 | get { return m_clientServers; } | 109 | get { return m_clientServers; } |
115 | } | 110 | } |
116 | 111 | ||
117 | public List<RegionInfo> RegionData | 112 | public List<RegionInfo> RegionData |
118 | { | 113 | { |
119 | get { return m_regionData; } | 114 | get { return m_regionData; } |
120 | } | 115 | } |
121 | 116 | ||
117 | public new BaseHttpServer HttpServer | ||
118 | { | ||
119 | get { return m_httpServer; } | ||
120 | } | ||
121 | |||
122 | public new uint HttpServerPort | ||
123 | { | ||
124 | get { return m_httpServerPort; } | ||
125 | } | ||
126 | |||
122 | protected ModuleLoader m_moduleLoader; | 127 | protected ModuleLoader m_moduleLoader; |
123 | 128 | ||
124 | public ModuleLoader ModuleLoader | 129 | public ModuleLoader ModuleLoader |
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 62c03f0..7c877f0 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -162,6 +162,14 @@ shout_distance = 100 | |||
162 | enabled = false | 162 | enabled = false |
163 | access_password = unknown | 163 | access_password = unknown |
164 | 164 | ||
165 | [RestPlugins] | ||
166 | enabled = false | ||
167 | password = unknown | ||
168 | prefix = /admin | ||
169 | |||
170 | [RestRegionPlugin] | ||
171 | enabled = false | ||
172 | |||
165 | ; Uncomment the following for IRC bridge | 173 | ; Uncomment the following for IRC bridge |
166 | ; experimental, so if it breaks... keep both parts... yada yada | 174 | ; experimental, so if it breaks... keep both parts... yada yada |
167 | ; also, not good error detection when it fails | 175 | ; also, not good error detection when it fails |
@@ -326,10 +334,6 @@ CleanUpOldScriptsOnStartup=true | |||
326 | ; Set the following to true to allow administrator owned scripts to execute console commands | 334 | ; Set the following to true to allow administrator owned scripts to execute console commands |
327 | AllowosConsoleCommand=false | 335 | AllowosConsoleCommand=false |
328 | 336 | ||
329 | ; Maximum number of llListen events we allow globally in the region | ||
330 | ; Set this to 0 to have no limit imposed. | ||
331 | max_listens_per_region = 1000 | ||
332 | |||
333 | ; Maximum number of llListen events we allow per script | 337 | ; Maximum number of llListen events we allow per script |
334 | ; Set this to 0 to have no limit imposed. | 338 | ; Set this to 0 to have no limit imposed. |
335 | max_listens_per_script = 64 | 339 | max_listens_per_script = 64 |
diff --git a/prebuild.xml b/prebuild.xml index 544f626..530b3fb 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -1075,6 +1075,115 @@ | |||
1075 | </Files> | 1075 | </Files> |
1076 | </Project> | 1076 | </Project> |
1077 | 1077 | ||
1078 | <!-- REST plugins --> | ||
1079 | <Project name="OpenSim.ApplicationPlugins.Rest" | ||
1080 | path="OpenSim/ApplicationPlugins/Rest" type="Library"> | ||
1081 | <Configuration name="Debug"> | ||
1082 | <Options> | ||
1083 | <OutputPath>../../../bin/</OutputPath> | ||
1084 | </Options> | ||
1085 | </Configuration> | ||
1086 | <Configuration name="Release"> | ||
1087 | <Options> | ||
1088 | <OutputPath>../../../bin/</OutputPath> | ||
1089 | </Options> | ||
1090 | </Configuration> | ||
1091 | |||
1092 | <ReferencePath>../../../bin/</ReferencePath> | ||
1093 | <Reference name="Mono.Addins.dll" /> | ||
1094 | <Reference name="System"/> | ||
1095 | <Reference name="System.Xml"/> | ||
1096 | <Reference name="System.Xml.Serialization"/> | ||
1097 | <Reference name="libsecondlife.dll" /> | ||
1098 | <Reference name="Nini.dll" /> | ||
1099 | <Reference name="XMLRPC.dll" /> | ||
1100 | <Reference name="OpenSim"/> | ||
1101 | <Reference name="OpenSim.Region.ClientStack"/> | ||
1102 | <Reference name="OpenSim.Region.Environment"/> | ||
1103 | <Reference name="OpenSim.Framework.Communications"/> | ||
1104 | <Reference name="OpenSim.Framework"/> | ||
1105 | <Reference name="OpenSim.Framework.Servers"/> | ||
1106 | <Reference name="OpenSim.Framework.Console"/> | ||
1107 | <Reference name="log4net"/> | ||
1108 | |||
1109 | <Files> | ||
1110 | <Match pattern="*.cs" recurse="false"/> | ||
1111 | </Files> | ||
1112 | </Project> | ||
1113 | <Project name="OpenSim.ApplicationPlugins.Rest.Regions" | ||
1114 | path="OpenSim/ApplicationPlugins/Rest/Regions" type="Library"> | ||
1115 | <Configuration name="Debug"> | ||
1116 | <Options> | ||
1117 | <OutputPath>../../../../bin/</OutputPath> | ||
1118 | </Options> | ||
1119 | </Configuration> | ||
1120 | <Configuration name="Release"> | ||
1121 | <Options> | ||
1122 | <OutputPath>../../../../bin/</OutputPath> | ||
1123 | </Options> | ||
1124 | </Configuration> | ||
1125 | |||
1126 | <ReferencePath>../../../../bin/</ReferencePath> | ||
1127 | <Reference name="Mono.Addins.dll" /> | ||
1128 | <Reference name="System"/> | ||
1129 | <Reference name="System.IO"/> | ||
1130 | <Reference name="System.Xml"/> | ||
1131 | <Reference name="System.Xml.Serialization"/> | ||
1132 | <Reference name="libsecondlife.dll" /> | ||
1133 | <Reference name="Nini.dll" /> | ||
1134 | <Reference name="XMLRPC.dll" /> | ||
1135 | <Reference name="OpenSim"/> | ||
1136 | <Reference name="OpenSim.Region.ClientStack"/> | ||
1137 | <Reference name="OpenSim.Region.Environment"/> | ||
1138 | <Reference name="OpenSim.Framework.Communications"/> | ||
1139 | <Reference name="OpenSim.Framework"/> | ||
1140 | <Reference name="OpenSim.Framework.Servers"/> | ||
1141 | <Reference name="OpenSim.Framework.Console"/> | ||
1142 | <Reference name="OpenSim.ApplicationPlugins.Rest"/> | ||
1143 | <Reference name="log4net"/> | ||
1144 | |||
1145 | <Files> | ||
1146 | <Match pattern="*.cs" recurse="true"/> | ||
1147 | </Files> | ||
1148 | </Project> | ||
1149 | <!-- /REST plugins --> | ||
1150 | |||
1151 | |||
1152 | |||
1153 | <Project name="OpenSim.ApplicationPlugins.RemoteInventoryController" path="OpenSim/ApplicationPlugins/RemoteInventoryController" type="Library"> | ||
1154 | <Configuration name="Debug"> | ||
1155 | <Options> | ||
1156 | <OutputPath>../../../bin/</OutputPath> | ||
1157 | </Options> | ||
1158 | </Configuration> | ||
1159 | <Configuration name="Release"> | ||
1160 | <Options> | ||
1161 | <OutputPath>../../../bin/</OutputPath> | ||
1162 | </Options> | ||
1163 | </Configuration> | ||
1164 | |||
1165 | <ReferencePath>../../../bin/</ReferencePath> | ||
1166 | <Reference name="Mono.Addins.dll" /> | ||
1167 | <Reference name="System"/> | ||
1168 | <Reference name="System.Xml"/> | ||
1169 | <Reference name="libsecondlife.dll" /> | ||
1170 | <Reference name="Nini.dll" /> | ||
1171 | <Reference name="XMLRPC.dll" /> | ||
1172 | <Reference name="OpenSim"/> | ||
1173 | <Reference name="OpenSim.Region.ClientStack"/> | ||
1174 | <Reference name="OpenSim.Region.Environment"/> | ||
1175 | <Reference name="OpenSim.Framework"/> | ||
1176 | <Reference name="OpenSim.Framework.Servers"/> | ||
1177 | <Reference name="OpenSim.Framework.Console"/> | ||
1178 | <Reference name="OpenSim.Framework.Communications"/> | ||
1179 | <Reference name="OpenSim.Framework.Communications.Cache"/> | ||
1180 | <Reference name="log4net"/> | ||
1181 | |||
1182 | <Files> | ||
1183 | <Match pattern="*.cs" recurse="true"/> | ||
1184 | </Files> | ||
1185 | </Project> | ||
1186 | |||
1078 | <!-- Scene Server API Example Apps --> | 1187 | <!-- Scene Server API Example Apps --> |
1079 | 1188 | ||
1080 | <Project name="OpenSim.Region.DataSnapshot" path="OpenSim/Region/DataSnapshot" type="Library"> | 1189 | <Project name="OpenSim.Region.DataSnapshot" path="OpenSim/Region/DataSnapshot" type="Library"> |