aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorOren Hurvitz2014-03-25 16:20:21 +0200
committerOren Hurvitz2014-03-25 15:36:59 +0100
commitb1d8aa0b6418a4edba8ce3b7b6f3db78616fd523 (patch)
treecddba93c37103619e422f1d6c062fcea03c24e22 /OpenSim/Framework
parentUse log-rolling on the log files (once per day) (diff)
downloadopensim-SC_OLD-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.zip
opensim-SC_OLD-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.gz
opensim-SC_OLD-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.bz2
opensim-SC_OLD-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.xz
Use the "Content-Encoding" header to indicate gzipped streams
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs2
-rw-r--r--OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs2
-rw-r--r--OpenSim/Framework/WebUtil.cs8
3 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
index ea7f195..2f7b549 100644
--- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
+++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs
@@ -833,7 +833,7 @@ namespace OpenSim.Framework.Servers.HttpServer
833 833
834 Stream inputStream = Util.Copy(request.InputStream); 834 Stream inputStream = Util.Copy(request.InputStream);
835 835
836 if (request.ContentType == "application/x-gzip") 836 if (request.Headers["Content-Encoding"] == "gzip")
837 inputStream = new GZipStream(inputStream, System.IO.Compression.CompressionMode.Decompress); 837 inputStream = new GZipStream(inputStream, System.IO.Compression.CompressionMode.Decompress);
838 838
839 using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8)) 839 using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8))
diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
index 3171759..f36cbbc 100644
--- a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
+++ b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs
@@ -181,7 +181,7 @@ namespace OpenSim.Framework.Servers.HttpServer
181 _request = req; 181 _request = req;
182 _context = context; 182 _context = context;
183 183
184 if (null != req.Headers["content-encoding"]) 184 if ((null != req.Headers["content-encoding"]) && ("gzip" != req.Headers["content-encoding"]))
185 _contentEncoding = Encoding.GetEncoding(_request.Headers["content-encoding"]); 185 _contentEncoding = Encoding.GetEncoding(_request.Headers["content-encoding"]);
186 if (null != req.Headers["content-type"]) 186 if (null != req.Headers["content-type"])
187 _contentType = _request.Headers["content-type"]; 187 _contentType = _request.Headers["content-type"];
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs
index 10a2560..3972c06 100644
--- a/OpenSim/Framework/WebUtil.cs
+++ b/OpenSim/Framework/WebUtil.cs
@@ -250,9 +250,12 @@ namespace OpenSim.Framework
250 250
251 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer); 251 byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer);
252 252
253 request.ContentType = "application/json";
254
253 if (compressed) 255 if (compressed)
254 { 256 {
255 request.ContentType = "application/x-gzip"; 257 request.Headers["Content-Encoding"] = "gzip";
258
256 using (MemoryStream ms = new MemoryStream()) 259 using (MemoryStream ms = new MemoryStream())
257 { 260 {
258 using (GZipStream comp = new GZipStream(ms, CompressionMode.Compress)) 261 using (GZipStream comp = new GZipStream(ms, CompressionMode.Compress))
@@ -270,10 +273,9 @@ namespace OpenSim.Framework
270 } 273 }
271 else 274 else
272 { 275 {
273 request.ContentType = "application/json";
274 request.ContentLength = buffer.Length; //Count bytes to send 276 request.ContentLength = buffer.Length; //Count bytes to send
275 using (Stream requestStream = request.GetRequestStream()) 277 using (Stream requestStream = request.GetRequestStream())
276 requestStream.Write(buffer, 0, buffer.Length); //Send it 278 requestStream.Write(buffer, 0, buffer.Length); //Send it
277 } 279 }
278 } 280 }
279 281