aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
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/Server
parentUse log-rolling on the log files (once per day) (diff)
downloadopensim-SC-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.zip
opensim-SC-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.gz
opensim-SC-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.bz2
opensim-SC-b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523.tar.xz
Use the "Content-Encoding" header to indicate gzipped streams
Diffstat (limited to 'OpenSim/Server')
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs19
1 files changed, 8 insertions, 11 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
index 4ac477f..1254df4 100644
--- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
@@ -232,17 +232,16 @@ namespace OpenSim.Server.Handlers.Simulation
232 httpResponse.KeepAlive = false; 232 httpResponse.KeepAlive = false;
233 Encoding encoding = Encoding.UTF8; 233 Encoding encoding = Encoding.UTF8;
234 234
235 Stream inputStream = null; 235 if (httpRequest.ContentType != "application/json")
236 if (httpRequest.ContentType == "application/x-gzip")
237 inputStream = new GZipStream(request, CompressionMode.Decompress);
238 else if (httpRequest.ContentType == "application/json")
239 inputStream = request;
240 else // no go
241 { 236 {
242 httpResponse.StatusCode = 406; 237 httpResponse.StatusCode = 406;
243 return encoding.GetBytes("false"); 238 return encoding.GetBytes("false");
244 } 239 }
245 240
241 Stream inputStream = request;
242 if (httpRequest.Headers["Content-Encoding"] == "gzip")
243 inputStream = new GZipStream(inputStream, CompressionMode.Decompress);
244
246 StreamReader reader = new StreamReader(inputStream, encoding); 245 StreamReader reader = new StreamReader(inputStream, encoding);
247 246
248 string requestBody = reader.ReadToEnd(); 247 string requestBody = reader.ReadToEnd();
@@ -433,11 +432,9 @@ namespace OpenSim.Server.Handlers.Simulation
433 keysvals.Add("headers", headervals); 432 keysvals.Add("headers", headervals);
434 keysvals.Add("querystringkeys", querystringkeys); 433 keysvals.Add("querystringkeys", querystringkeys);
435 434
436 Stream inputStream; 435 Stream inputStream = request;
437 if (httpRequest.ContentType == "application/x-gzip") 436 if (httpRequest.Headers["Content-Encoding"] == "gzip")
438 inputStream = new GZipStream(request, CompressionMode.Decompress); 437 inputStream = new GZipStream(inputStream, CompressionMode.Decompress);
439 else
440 inputStream = request;
441 438
442 Encoding encoding = Encoding.UTF8; 439 Encoding encoding = Encoding.UTF8;
443 StreamReader reader = new StreamReader(inputStream, encoding); 440 StreamReader reader = new StreamReader(inputStream, encoding);