diff options
author | Oren Hurvitz | 2014-03-25 16:20:21 +0200 |
---|---|---|
committer | Oren Hurvitz | 2014-03-25 15:36:59 +0100 |
commit | b1d8aa0b6418a4edba8ce3b7b6f3db78616fd523 (patch) | |
tree | cddba93c37103619e422f1d6c062fcea03c24e22 /OpenSim/Server | |
parent | Use log-rolling on the log files (once per day) (diff) | |
download | opensim-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.cs | 19 |
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); |