From cbe434149e79304da9251bfe946f43f6a08c1393 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 27 Dec 2009 03:31:53 +0000 Subject: Change the signature of the forms requester data in preparation to getting to where lists can be sent as requests --- OpenSim/Server/Base/ServerUtils.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'OpenSim/Server/Base') diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 0964caa..413a078 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -160,9 +160,9 @@ namespace OpenSim.Server.Base } } - public static Dictionary ParseQueryString(string query) + public static Dictionary ParseQueryString(string query) { - Dictionary result = new Dictionary(); + Dictionary result = new Dictionary(); string[] terms = query.Split(new char[] {'&'}); if (terms.Length == 0) @@ -186,17 +186,17 @@ namespace OpenSim.Server.Base return result; } - public static string BuildQueryString(Dictionary data) + public static string BuildQueryString(Dictionary data) { string qstring = String.Empty; - foreach (KeyValuePair kvp in data) + foreach (KeyValuePair kvp in data) { string part; - if (kvp.Value != String.Empty) + if (kvp.Value.ToString() != String.Empty) { part = System.Web.HttpUtility.UrlEncode(kvp.Key) + - "=" + System.Web.HttpUtility.UrlEncode(kvp.Value); + "=" + System.Web.HttpUtility.UrlEncode(kvp.Value.ToString()); } else { -- cgit v1.1 From be41ba66700e46503001dfb4c2c87f9b2aad21c6 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 27 Dec 2009 21:46:16 +0000 Subject: Allow lists to be embedded in query strings --- OpenSim/Server/Base/ServerUtils.cs | 63 ++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 10 deletions(-) (limited to 'OpenSim/Server/Base') diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 413a078..a5d28a4 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -180,7 +180,31 @@ namespace OpenSim.Server.Base if (elems.Length > 1) value = System.Web.HttpUtility.UrlDecode(elems[1]); - result[name] = value; + if (name.EndsWith("[]")) + { + if (result.ContainsKey(name)) + { + if (!(result[name] is List)) + continue; + + List l = (List)result[name]; + + l.Add(value); + } + else + { + List newList = new List(); + + newList.Add(value); + + result[name] = newList; + } + } + else + { + if (!result.ContainsKey(name)) + result[name] = value; + } } return result; @@ -190,23 +214,42 @@ namespace OpenSim.Server.Base { string qstring = String.Empty; + string part; + foreach (KeyValuePair kvp in data) { - string part; - if (kvp.Value.ToString() != String.Empty) + if (kvp.Value is List) { - part = System.Web.HttpUtility.UrlEncode(kvp.Key) + - "=" + System.Web.HttpUtility.UrlEncode(kvp.Value.ToString()); + List l = (List)kvp.Value; + + foreach (string s in l) + { + part = System.Web.HttpUtility.UrlEncode(kvp.Key) + + "[]=" + System.Web.HttpUtility.UrlEncode(s); + + if (qstring != String.Empty) + qstring += "&"; + + qstring += part; + } } else { - part = System.Web.HttpUtility.UrlEncode(kvp.Key); - } + if (kvp.Value.ToString() != String.Empty) + { + part = System.Web.HttpUtility.UrlEncode(kvp.Key) + + "=" + System.Web.HttpUtility.UrlEncode(kvp.Value.ToString()); + } + else + { + part = System.Web.HttpUtility.UrlEncode(kvp.Key); + } - if (qstring != String.Empty) - qstring += "&"; + if (qstring != String.Empty) + qstring += "&"; - qstring += part; + qstring += part; + } } return qstring; -- cgit v1.1 From 2b478a61d09a75f0c7e575b7e43807a6c9328e73 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 11 Jan 2010 03:49:05 +0000 Subject: Add the console port setting to ROBUST, too --- OpenSim/Server/Base/HttpServerBase.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'OpenSim/Server/Base') diff --git a/OpenSim/Server/Base/HttpServerBase.cs b/OpenSim/Server/Base/HttpServerBase.cs index ed0210f..77184a4 100644 --- a/OpenSim/Server/Base/HttpServerBase.cs +++ b/OpenSim/Server/Base/HttpServerBase.cs @@ -49,6 +49,7 @@ namespace OpenSim.Server.Base protected uint m_Port = 0; protected Dictionary m_Servers = new Dictionary(); + protected uint m_consolePort = 0; public IHttpServer HttpServer { @@ -98,6 +99,7 @@ namespace OpenSim.Server.Base Thread.CurrentThread.Abort(); } + m_consolePort = (uint)networkConfig.GetInt("ConsolePort", 0); m_Port = port; m_HttpServer = new BaseHttpServer(port); @@ -111,7 +113,10 @@ namespace OpenSim.Server.Base if (MainConsole.Instance is RemoteConsole) { - ((RemoteConsole)MainConsole.Instance).SetServer(m_HttpServer); + if (m_consolePort == 0) + ((RemoteConsole)MainConsole.Instance).SetServer(m_HttpServer); + else + ((RemoteConsole)MainConsole.Instance).SetServer(GetHttpServer(m_consolePort)); } } } -- cgit v1.1