* Protects RestClient from crashing with dictionary exception, which leads to the client thread crashing if uncaught.

0.6.4-rc1
Sean Dague 2009-03-06 19:25:33 +00:00
parent 498dda1901
commit 08509d5cf2
1 changed files with 24 additions and 2 deletions

View File

@ -165,7 +165,18 @@ namespace OpenSim.Framework.Communications
/// <param name="value">Value of the parameter, e.g. 42</param> /// <param name="value">Value of the parameter, e.g. 42</param>
public void AddQueryParameter(string name, string value) public void AddQueryParameter(string name, string value)
{ {
_parameterElements.Add(HttpUtility.UrlEncode(name), HttpUtility.UrlEncode(value)); try
{
_parameterElements.Add(HttpUtility.UrlEncode(name), HttpUtility.UrlEncode(value));
}
catch (ArgumentException)
{
m_log.Error("[REST]: Query parameter " + name + " is already added.");
}
catch (Exception e)
{
m_log.Error("[REST]: An exception was raised adding query parameter to dictionary. Exception: {0}",e);
}
} }
/// <summary> /// <summary>
@ -174,7 +185,18 @@ namespace OpenSim.Framework.Communications
/// <param name="name">Name of the parameter, e.g. min</param> /// <param name="name">Name of the parameter, e.g. min</param>
public void AddQueryParameter(string name) public void AddQueryParameter(string name)
{ {
_parameterElements.Add(HttpUtility.UrlEncode(name), null); try
{
_parameterElements.Add(HttpUtility.UrlEncode(name), null);
}
catch (ArgumentException)
{
m_log.Error("[REST]: Query parameter " + name + " is already added.");
}
catch (Exception e)
{
m_log.Error("[REST]: An exception was raised adding query parameter to dictionary. Exception: {0}",e);
}
} }
/// <summary> /// <summary>