Commit 81d32f79 authored by Honfika's avatar Honfika

Fix for #227

parent 734d85df
...@@ -15,27 +15,14 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -15,27 +15,14 @@ namespace Titanium.Web.Proxy.Helpers
{ {
private readonly CustomBufferedStream stream; private readonly CustomBufferedStream stream;
private readonly int bufferSize; private readonly int bufferSize;
private readonly byte[] staticBuffer;
private readonly Encoding encoding; private readonly Encoding encoding;
[ThreadStatic]
private static byte[] staticBufferField;
private byte[] staticBuffer
{
get
{
if (staticBufferField == null || staticBufferField.Length != bufferSize)
{
staticBufferField = new byte[bufferSize];
}
return staticBufferField;
}
}
internal CustomBinaryReader(CustomBufferedStream stream, int bufferSize) internal CustomBinaryReader(CustomBufferedStream stream, int bufferSize)
{ {
this.stream = stream; this.stream = stream;
staticBuffer = new byte[bufferSize];
this.bufferSize = bufferSize; this.bufferSize = bufferSize;
//default to UTF-8 //default to UTF-8
...@@ -122,12 +109,13 @@ namespace Titanium.Web.Proxy.Helpers ...@@ -122,12 +109,13 @@ namespace Titanium.Web.Proxy.Helpers
{ {
int bytesToRead = bufferSize; int bytesToRead = bufferSize;
var buffer = staticBuffer;
if (totalBytesToRead < bufferSize) if (totalBytesToRead < bufferSize)
{ {
bytesToRead = (int) totalBytesToRead; bytesToRead = (int) totalBytesToRead;
buffer = new byte[bytesToRead];
} }
var buffer = new byte[bytesToRead];
int bytesRead; int bytesRead;
var totalBytesRead = 0; var totalBytesRead = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment