From bbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 1 Apr 2014 15:00:22 +0300 Subject: Fixed last-resort sending of error response (HTTP 500) when an error occurs while handling a request. The previous code didn't actually send the response, so the caller was stuck until the timeout (100 seconds). --- OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | 8 ++++---- OpenSim/Framework/WebUtil.cs | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 28324a5..7041181 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -492,8 +492,8 @@ namespace OpenSim.Framework.Servers.HttpServer try { byte[] buffer500 = SendHTML500(response); - response.Body.Write(buffer500,0,buffer500.Length); - response.Body.Close(); + response.OutputStream.Write(buffer500, 0, buffer500.Length); + response.Send(); } catch { @@ -746,8 +746,8 @@ namespace OpenSim.Framework.Servers.HttpServer try { byte[] buffer500 = SendHTML500(response); - response.Body.Write(buffer500, 0, buffer500.Length); - response.Body.Close(); + response.OutputStream.Write(buffer500, 0, buffer500.Length); + response.Send(); } catch { diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 40c1634..768ff16 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs @@ -1203,9 +1203,9 @@ namespace OpenSim.Framework if (hwr != null && hwr.StatusCode == HttpStatusCode.NotFound) return deserial; else - m_log.ErrorFormat( - "[SynchronousRestObjectRequester]: WebException for {0} {1} {2}: {3} {4}", - verb, requestUrl, typeof(TResponse).ToString(), e.Message, e.StackTrace); + m_log.Error(string.Format( + "[SynchronousRestObjectRequester]: WebException for {0} {1} {2} ", + verb, requestUrl, typeof(TResponse).ToString()), e); } } catch (System.InvalidOperationException) @@ -1217,9 +1217,9 @@ namespace OpenSim.Framework } catch (Exception e) { - m_log.DebugFormat( - "[SynchronousRestObjectRequester]: Exception on response from {0} {1}: {2}{3}", - verb, requestUrl, e.Message, e.StackTrace); + m_log.Debug(string.Format( + "[SynchronousRestObjectRequester]: Exception on response from {0} {1} ", + verb, requestUrl), e); } int tickdiff = Util.EnvironmentTickCountSubtract(tickstart); -- cgit v1.1