aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs111
1 files changed, 54 insertions, 57 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs b/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
index b2c1c54..0135a6c 100644
--- a/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
+++ b/OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
@@ -57,80 +57,77 @@ namespace OpenSim.Framework.Servers.HttpServer
57 { 57 {
58 WebRequest request = WebRequest.Create(requestUrl); 58 WebRequest request = WebRequest.Create(requestUrl);
59 request.Method = verb; 59 request.Method = verb;
60 string respstring = String.Empty;
60 61
61 if ((verb == "POST") || (verb == "PUT")) 62 using (MemoryStream buffer = new MemoryStream())
62 { 63 {
63 request.ContentType = "text/www-form-urlencoded"; 64 if ((verb == "POST") || (verb == "PUT"))
64
65 MemoryStream buffer = new MemoryStream();
66 int length = 0;
67 using (StreamWriter writer = new StreamWriter(buffer))
68 { 65 {
69 writer.Write(obj); 66 request.ContentType = "text/www-form-urlencoded";
70 writer.Flush();
71 }
72 67
73 length = (int)obj.Length; 68 int length = 0;
74 request.ContentLength = length; 69 using (StreamWriter writer = new StreamWriter(buffer))
70 {
71 writer.Write(obj);
72 writer.Flush();
73 }
75 74
76 Stream requestStream = null; 75 length = (int)obj.Length;
77 try 76 request.ContentLength = length;
78 {
79 requestStream = request.GetRequestStream();
80 requestStream.Write(buffer.ToArray(), 0, length);
81 }
82 catch (Exception e)
83 {
84 m_log.DebugFormat("[FORMS]: exception occured on sending request to {0}: " + e.ToString(), requestUrl);
85 }
86 finally
87 {
88 // If this is closed, it will be disposed internally,
89 // but the above write is asynchronous and may hit after
90 // we're through here. So the thread handling that will
91 // throw and put us back into the catch above. Isn't
92 // .NET great?
93 //if (requestStream != null)
94 // requestStream.Close();
95 // Let's not close this
96 //buffer.Close();
97 77
78 Stream requestStream = null;
79 try
80 {
81 requestStream = request.GetRequestStream();
82 requestStream.Write(buffer.ToArray(), 0, length);
83 }
84 catch (Exception e)
85 {
86 m_log.DebugFormat("[FORMS]: exception occured on sending request to {0}: " + e.ToString(), requestUrl);
87 }
88 finally
89 {
90 if (requestStream != null)
91 requestStream.Close();
92 }
98 } 93 }
99 }
100
101 string respstring = String.Empty;
102 94
103 try 95 try
104 {
105 using (WebResponse resp = request.GetResponse())
106 { 96 {
97<<<<<<< HEAD:OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
107 if (resp.ContentLength > 0) 98 if (resp.ContentLength > 0)
99=======
100 using (WebResponse resp = request.GetResponse())
101>>>>>>> e593607... Remove "Dwell" support from core and replace it with calls to methods:OpenSim/Framework/Servers/HttpServer/SynchronousRestFormsRequester.cs
108 { 102 {
109 Stream respStream = null; 103 if (resp.ContentLength != 0)
110 try
111 { 104 {
112 respStream = resp.GetResponseStream(); 105 Stream respStream = null;
113 using (StreamReader reader = new StreamReader(respStream)) 106 try
114 { 107 {
115 respstring = reader.ReadToEnd(); 108 respStream = resp.GetResponseStream();
109 using (StreamReader reader = new StreamReader(respStream))
110 {
111 respstring = reader.ReadToEnd();
112 }
113 }
114 catch (Exception e)
115 {
116 m_log.DebugFormat("[FORMS]: exception occured on receiving reply " + e.ToString());
117 }
118 finally
119 {
120 if (respStream != null)
121 respStream.Close();
116 } 122 }
117 }
118 catch (Exception e)
119 {
120 m_log.DebugFormat("[FORMS]: exception occured on receiving reply " + e.ToString());
121 }
122 finally
123 {
124 if (respStream != null)
125 respStream.Close();
126 } 123 }
127 } 124 }
128 } 125 }
129 } 126 catch (System.InvalidOperationException)
130 catch (System.InvalidOperationException) 127 {
131 { 128 // This is what happens when there is invalid XML
132 // This is what happens when there is invalid XML 129 m_log.DebugFormat("[FORMS]: InvalidOperationException on receiving request");
133 m_log.DebugFormat("[FORMS]: InvalidOperationException on receiving request"); 130 }
134 } 131 }
135 return respstring; 132 return respstring;
136 } 133 }