Use the "X-Content-Encoding" header to indicate gzipped data, because old OpenSims fail if they get an unknown "Content-Encoding"

This commit is contained in:
Oren Hurvitz
2014-03-25 19:09:03 +02:00
parent b1d8aa0b64
commit 6d1d58b654
4 changed files with 20 additions and 6 deletions

View File

@@ -833,7 +833,7 @@ namespace OpenSim.Framework.Servers.HttpServer
Stream inputStream = Util.Copy(request.InputStream);
if (request.Headers["Content-Encoding"] == "gzip")
if ((request.Headers["Content-Encoding"] == "gzip") || (request.Headers["X-Content-Encoding"] == "gzip"))
inputStream = new GZipStream(inputStream, System.IO.Compression.CompressionMode.Decompress);
using (StreamReader reader = new StreamReader(inputStream, Encoding.UTF8))
@@ -978,6 +978,9 @@ namespace OpenSim.Framework.Servers.HttpServer
{
Stream requestStream = request.InputStream;
if ((request.Headers["Content-Encoding"] == "gzip") || (request.Headers["X-Content-Encoding"] == "gzip"))
requestStream = new GZipStream(requestStream, System.IO.Compression.CompressionMode.Decompress);
Encoding encoding = Encoding.UTF8;
StreamReader reader = new StreamReader(requestStream, encoding);