aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs
diff options
context:
space:
mode:
authorDavid Walter Seikel2016-11-03 21:44:39 +1000
committerDavid Walter Seikel2016-11-03 21:44:39 +1000
commit134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch)
tree216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Framework/Servers/HttpServer/RestSessionService.cs
parentMore changing to production grid. Double oops. (diff)
downloadopensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2
opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to 'OpenSim/Framework/Servers/HttpServer/RestSessionService.cs')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/RestSessionService.cs89
1 files changed, 39 insertions, 50 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs
index 19c03a8..ad69cd2 100644
--- a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs
+++ b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs
@@ -77,44 +77,34 @@ namespace OpenSim.Framework.Servers.HttpServer
77 request.ContentType = "text/xml"; 77 request.ContentType = "text/xml";
78 request.Timeout = 20000; 78 request.Timeout = 20000;
79 79
80 MemoryStream buffer = new MemoryStream(); 80 using (MemoryStream buffer = new MemoryStream())
81
82 XmlWriterSettings settings = new XmlWriterSettings();
83 settings.Encoding = Encoding.UTF8;
84
85 using (XmlWriter writer = XmlWriter.Create(buffer, settings))
86 { 81 {
87 XmlSerializer serializer = new XmlSerializer(type); 82 XmlWriterSettings settings = new XmlWriterSettings();
88 serializer.Serialize(writer, sobj); 83 settings.Encoding = Encoding.UTF8;
89 writer.Flush();
90 }
91 84
92 int length = (int)buffer.Length; 85 using (XmlWriter writer = XmlWriter.Create(buffer, settings))
93 request.ContentLength = length; 86 {
87 XmlSerializer serializer = new XmlSerializer(type);
88 serializer.Serialize(writer, sobj);
89 writer.Flush();
90 }
94 91
95 Stream requestStream = request.GetRequestStream(); 92 int length = (int)buffer.Length;
96 requestStream.Write(buffer.ToArray(), 0, length); 93 request.ContentLength = length;
97 buffer.Close(); 94
98 requestStream.Close(); 95 using (Stream requestStream = request.GetRequestStream())
96 requestStream.Write(buffer.ToArray(), 0, length);
97 }
99 98
100 TResponse deserial = default(TResponse); 99 TResponse deserial = default(TResponse);
101 using (WebResponse resp = request.GetResponse()) 100 using (WebResponse resp = request.GetResponse())
102 { 101 {
103 XmlSerializer deserializer = new XmlSerializer(typeof(TResponse)); 102 XmlSerializer deserializer = new XmlSerializer(typeof(TResponse));
104 Stream respStream = null; 103
105 try 104 using (Stream respStream = resp.GetResponseStream())
106 {
107 respStream = resp.GetResponseStream();
108 deserial = (TResponse)deserializer.Deserialize(respStream); 105 deserial = (TResponse)deserializer.Deserialize(respStream);
109 }
110 catch { }
111 finally
112 {
113 if (respStream != null)
114 respStream.Close();
115 resp.Close();
116 }
117 } 106 }
107
118 return deserial; 108 return deserial;
119 } 109 }
120 } 110 }
@@ -142,25 +132,25 @@ namespace OpenSim.Framework.Servers.HttpServer
142 request.ContentType = "text/xml"; 132 request.ContentType = "text/xml";
143 request.Timeout = 10000; 133 request.Timeout = 10000;
144 134
145 MemoryStream buffer = new MemoryStream(); 135 using (MemoryStream buffer = new MemoryStream())
136 {
137 XmlWriterSettings settings = new XmlWriterSettings();
138 settings.Encoding = Encoding.UTF8;
146 139
147 XmlWriterSettings settings = new XmlWriterSettings(); 140 using (XmlWriter writer = XmlWriter.Create(buffer, settings))
148 settings.Encoding = Encoding.UTF8; 141 {
142 XmlSerializer serializer = new XmlSerializer(type);
143 serializer.Serialize(writer, sobj);
144 writer.Flush();
145 }
149 146
150 using (XmlWriter writer = XmlWriter.Create(buffer, settings)) 147 int length = (int)buffer.Length;
151 { 148 request.ContentLength = length;
152 XmlSerializer serializer = new XmlSerializer(type);
153 serializer.Serialize(writer, sobj);
154 writer.Flush();
155 }
156 buffer.Close();
157 149
158 int length = (int)buffer.Length; 150 using (Stream requestStream = request.GetRequestStream())
159 request.ContentLength = length; 151 requestStream.Write(buffer.ToArray(), 0, length);
152 }
160 153
161 Stream requestStream = request.GetRequestStream();
162 requestStream.Write(buffer.ToArray(), 0, length);
163 requestStream.Close();
164 // IAsyncResult result = request.BeginGetResponse(AsyncCallback, request); 154 // IAsyncResult result = request.BeginGetResponse(AsyncCallback, request);
165 request.BeginGetResponse(AsyncCallback, request); 155 request.BeginGetResponse(AsyncCallback, request);
166 } 156 }
@@ -192,7 +182,7 @@ namespace OpenSim.Framework.Servers.HttpServer
192 182
193 public delegate bool CheckIdentityMethod(string sid, string aid); 183 public delegate bool CheckIdentityMethod(string sid, string aid);
194 184
195 public class RestDeserialiseSecureHandler<TRequest, TResponse> : BaseRequestHandler, IStreamHandler 185 public class RestDeserialiseSecureHandler<TRequest, TResponse> : BaseOutputStreamHandler, IStreamHandler
196 where TRequest : new() 186 where TRequest : new()
197 { 187 {
198 private static readonly ILog m_log 188 private static readonly ILog m_log
@@ -210,7 +200,7 @@ namespace OpenSim.Framework.Servers.HttpServer
210 m_method = method; 200 m_method = method;
211 } 201 }
212 202
213 public void Handle(string path, Stream request, Stream responseStream, 203 protected override void ProcessRequest(string path, Stream request, Stream responseStream,
214 IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) 204 IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
215 { 205 {
216 RestSessionObject<TRequest> deserial = default(RestSessionObject<TRequest>); 206 RestSessionObject<TRequest> deserial = default(RestSessionObject<TRequest>);
@@ -246,7 +236,7 @@ namespace OpenSim.Framework.Servers.HttpServer
246 236
247 public delegate bool CheckTrustedSourceMethod(IPEndPoint peer); 237 public delegate bool CheckTrustedSourceMethod(IPEndPoint peer);
248 238
249 public class RestDeserialiseTrustedHandler<TRequest, TResponse> : BaseRequestHandler, IStreamHandler 239 public class RestDeserialiseTrustedHandler<TRequest, TResponse> : BaseOutputStreamHandler, IStreamHandler
250 where TRequest : new() 240 where TRequest : new()
251 { 241 {
252 private static readonly ILog m_log 242 private static readonly ILog m_log
@@ -269,7 +259,7 @@ namespace OpenSim.Framework.Servers.HttpServer
269 m_method = method; 259 m_method = method;
270 } 260 }
271 261
272 public void Handle(string path, Stream request, Stream responseStream, 262 protected override void ProcessRequest(string path, Stream request, Stream responseStream,
273 IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) 263 IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
274 { 264 {
275 TRequest deserial = default(TRequest); 265 TRequest deserial = default(TRequest);
@@ -301,6 +291,5 @@ namespace OpenSim.Framework.Servers.HttpServer
301 serializer.Serialize(xmlWriter, response); 291 serializer.Serialize(xmlWriter, response);
302 } 292 }
303 } 293 }
304 } 294 }
305 295} \ No newline at end of file
306}