diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs
index 2d5bbf50e3..96855dcaed 100644
--- a/OpenSim/Framework/WebUtil.cs
+++ b/OpenSim/Framework/WebUtil.cs
@@ -44,6 +44,7 @@ using System.Xml.Linq;
using log4net;
using Nwc.XmlRpc;
using OpenMetaverse.StructuredData;
+using OpenSim.Framework;
using OpenSim.Framework.ServiceAuth;
namespace OpenSim.Framework
@@ -51,10 +52,13 @@ namespace OpenSim.Framework
///
/// Miscellaneous static methods and extension methods related to the web
///
+ ///
+
public static class WebUtil
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ public static ExpiringKey GlobalExpiringBadURLs = new ExpiringKey(30000);
///
/// Control the printing of certain debug messages.
///
@@ -221,11 +225,15 @@ namespace OpenSim.Framework
// If there is some input, write it into the request
if (data != null)
{
- string strBuffer = OSDParser.SerializeJsonString(data);
+ byte[] buffer;
if (DebugLevel >= 5)
+ {
+ string strBuffer = OSDParser.SerializeJsonString(data);
LogOutgoingDetail(method, reqnum, strBuffer);
-
- byte[] buffer = Util.UTF8Getbytes(strBuffer);
+ buffer = Util.UTF8Getbytes(strBuffer);
+ }
+ else
+ buffer = OSDParser.SerializeJsonToBytes(data);
request.ContentType = rpc ? "application/json-rpc" : "application/json";
@@ -247,6 +255,7 @@ namespace OpenSim.Framework
request.ContentLength = buffer.Length; //Count bytes to send
using (Stream requestStream = request.GetRequestStream())
requestStream.Write(buffer, 0, buffer.Length); //Send it
+ buffer = null;
}
using (WebResponse response = request.GetResponse())
@@ -395,6 +404,7 @@ namespace OpenSim.Framework
LogOutgoingDetail("SEND", reqnum, queryString);
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(queryString);
+ queryString = null;
request.ContentLength = buffer.Length;
sendlen = buffer.Length;
@@ -995,6 +1005,7 @@ namespace OpenSim.Framework
{
using(Stream requestStream = request.GetRequestStream())
requestStream.Write(data, 0, sendlen);
+ data = null;
}
catch (Exception e)
{