From fcc3325f3bbeff204d7e5d779fcd8875d6dd4e10 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Thu, 8 Jan 2009 22:01:57 +0000 Subject: * Adds the variables passed to the hashtable BaseHttpServer passes in. * Null check on Sessions_report. --- OpenSim/Framework/Servers/BaseHttpServer.cs | 7 +++++++ OpenSim/Region/UserStatistics/Sessions_Report.cs | 26 ++++++++++++++---------- OpenSim/Region/UserStatistics/WebStatsModule.cs | 12 +++++++++-- 3 files changed, 32 insertions(+), 13 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index f69fb5e..66119dc 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 ea327be..7a1c5b4 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 efea515..cb3b292 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; -- cgit v1.1