aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-01 15:00:22 +0300
committerOren Hurvitz2014-04-02 06:32:41 +0100
commitbbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb (patch)
tree1c6be779994d00cfcfcfc849fcc71ac7a8ffa438 /OpenSim
parentFixed the "Update Asset" handler: it was looking for the Asset ID in the wron... (diff)
downloadopensim-SC_OLD-bbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb.zip
opensim-SC_OLD-bbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb.tar.gz
opensim-SC_OLD-bbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb.tar.bz2
opensim-SC_OLD-bbfda8e19e4a66d87ba1de80083a0da1eaf9ddfb.tar.xz
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).
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs8
-rw-r--r--OpenSim/Framework/WebUtil.cs12
2 files changed, 10 insertions, 10 deletions
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
492 try 492 try
493 { 493 {
494 byte[] buffer500 = SendHTML500(response); 494 byte[] buffer500 = SendHTML500(response);
495 response.Body.Write(buffer500,0,buffer500.Length); 495 response.OutputStream.Write(buffer500, 0, buffer500.Length);
496 response.Body.Close(); 496 response.Send();
497 } 497 }
498 catch 498 catch
499 { 499 {
@@ -746,8 +746,8 @@ namespace OpenSim.Framework.Servers.HttpServer
746 try 746 try
747 { 747 {
748 byte[] buffer500 = SendHTML500(response); 748 byte[] buffer500 = SendHTML500(response);
749 response.Body.Write(buffer500, 0, buffer500.Length); 749 response.OutputStream.Write(buffer500, 0, buffer500.Length);
750 response.Body.Close(); 750 response.Send();
751 } 751 }
752 catch 752 catch
753 { 753 {
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
1203 if (hwr != null && hwr.StatusCode == HttpStatusCode.NotFound) 1203 if (hwr != null && hwr.StatusCode == HttpStatusCode.NotFound)
1204 return deserial; 1204 return deserial;
1205 else 1205 else
1206 m_log.ErrorFormat( 1206 m_log.Error(string.Format(
1207 "[SynchronousRestObjectRequester]: WebException for {0} {1} {2}: {3} {4}", 1207 "[SynchronousRestObjectRequester]: WebException for {0} {1} {2} ",
1208 verb, requestUrl, typeof(TResponse).ToString(), e.Message, e.StackTrace); 1208 verb, requestUrl, typeof(TResponse).ToString()), e);
1209 } 1209 }
1210 } 1210 }
1211 catch (System.InvalidOperationException) 1211 catch (System.InvalidOperationException)
@@ -1217,9 +1217,9 @@ namespace OpenSim.Framework
1217 } 1217 }
1218 catch (Exception e) 1218 catch (Exception e)
1219 { 1219 {
1220 m_log.DebugFormat( 1220 m_log.Debug(string.Format(
1221 "[SynchronousRestObjectRequester]: Exception on response from {0} {1}: {2}{3}", 1221 "[SynchronousRestObjectRequester]: Exception on response from {0} {1} ",
1222 verb, requestUrl, e.Message, e.StackTrace); 1222 verb, requestUrl), e);
1223 } 1223 }
1224 1224
1225 int tickdiff = Util.EnvironmentTickCountSubtract(tickstart); 1225 int tickdiff = Util.EnvironmentTickCountSubtract(tickstart);