diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index f69fb5ee1c..66119dccb5 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs @@ -1066,6 +1066,9 @@ namespace OpenSim.Framework.Servers Hashtable keysvals = new Hashtable(); Hashtable headervals = new Hashtable(); + + Hashtable requestVars = new Hashtable(); + string host = String.Empty; string[] querystringkeys = request.QueryString.AllKeys; @@ -1079,6 +1082,7 @@ namespace OpenSim.Framework.Servers foreach (string queryname in querystringkeys) { keysvals.Add(queryname, request.QueryString[queryname]); + requestVars.Add(queryname, keysvals[queryname]); } foreach (string headername in rHeaders) @@ -1091,7 +1095,10 @@ namespace OpenSim.Framework.Servers { host = (string)headervals["Host"]; } + keysvals.Add("headers",headervals); + keysvals.Add("querystringkeys", querystringkeys); + keysvals.Add("requestvars", requestVars); if (keysvals.Contains("method")) { diff --git a/OpenSim/Region/UserStatistics/Sessions_Report.cs b/OpenSim/Region/UserStatistics/Sessions_Report.cs index ea327bebc6..7a1c5b4f93 100644 --- a/OpenSim/Region/UserStatistics/Sessions_Report.cs +++ b/OpenSim/Region/UserStatistics/Sessions_Report.cs @@ -53,27 +53,31 @@ namespace OpenSim.Region.UserStatistics List lstSessions = new List(); Hashtable requestvars = (Hashtable) pParams["RequestVars"]; + string puserUUID = string.Empty; string clientVersionString = string.Empty; int queryparams = 0; - if (requestvars.ContainsKey("UserID")) + if (requestvars != null) { - UUID testUUID = UUID.Zero; - if (UUID.TryParse(requestvars["UserID"].ToString(), out testUUID)) + if (requestvars.ContainsKey("UserID")) { - puserUUID = requestvars["UserID"].ToString(); - + UUID testUUID = UUID.Zero; + if (UUID.TryParse(requestvars["UserID"].ToString(), out testUUID)) + { + puserUUID = requestvars["UserID"].ToString(); + + } } - } - if (requestvars.ContainsKey("VersionString")) - { - UUID testUUID = UUID.Zero; + if (requestvars.ContainsKey("VersionString")) + { + UUID testUUID = UUID.Zero; - clientVersionString = requestvars["VersionString"].ToString(); + clientVersionString = requestvars["VersionString"].ToString(); - + + } } lock (dbConn) diff --git a/OpenSim/Region/UserStatistics/WebStatsModule.cs b/OpenSim/Region/UserStatistics/WebStatsModule.cs index efea5158d4..cb3b29266b 100644 --- a/OpenSim/Region/UserStatistics/WebStatsModule.cs +++ b/OpenSim/Region/UserStatistics/WebStatsModule.cs @@ -203,8 +203,16 @@ namespace OpenSim.Region.UserStatistics IStatsController rep = reports[regpath]; Hashtable repParams = new Hashtable(); - repParams["RequestVars"] = request["requestvars"]; - repParams["QueryStringKeys"] = request["querystringkeys"]; + if (request.ContainsKey("requestvars")) + repParams["RequestVars"] = request["requestvars"]; + else + repParams["RequestVars"] = new Hashtable(); + + if (request.ContainsKey("querystringkeys")) + repParams["QueryStringKeys"] = request["querystringkeys"]; + else + repParams["QueryStringKeys"] = new string[0]; + repParams["DatabaseConnection"] = dbConn; repParams["Scenes"] = m_scene;