diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs index b26321b682..39d9b13ab3 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs @@ -195,6 +195,42 @@ namespace OpenSim.Framework.Servers.HttpServer } } + public byte[] RawBuffer + { + get + { + return _httpResponse.RawBuffer; + } + set + { + _httpResponse.RawBuffer = value; + } + } + + public int RawBufferStart + { + get + { + return _httpResponse.RawBufferStart; + } + set + { + _httpResponse.RawBufferStart = value; + } + } + + public int RawBufferLen + { + get + { + return _httpResponse.RawBufferLen; + } + set + { + _httpResponse.RawBufferLen = value; + } + } + /// /// Set a redirct location. /// diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs index 66fd2c6fca..47a0b9c0dc 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceHttpRequest.cs @@ -206,11 +206,17 @@ namespace OpenSim.Framework.Servers.HttpServer try { if(rangeLen > 0) - response.OutputStream.Write(buffer, rangeStart, rangeLen); + { + response.RawBufferStart = rangeStart; + response.RawBufferLen = rangeLen; + response.RawBuffer = buffer; + //response.OutputStream.Write(buffer, rangeStart, rangeLen); + } buffer = null; response.Send(); + response.RawBuffer = null; } catch (Exception ex) { diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 7a462cd51c..bbcb75233d 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ