diff options
author | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
---|---|---|
committer | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
commit | 134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch) | |
tree | 216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Framework/Servers/HttpServer/RestSessionService.cs | |
parent | More changing to production grid. Double oops. (diff) | |
download | opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2 opensim-SC-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.cs | 89 |
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 | } | ||