public void AcceptZeroLengthHeader() { var buffer = "0; Some dummy extensions = value;\r\n".ToBytes(); var builder = new HttpChunkHeaderBuilder(); Assert.True(builder.AppendBuffer(buffer, 0, buffer.Length, out _)); }
public void WorksWithOffsetAndLength() { var buffer = "___8; Extension\r\n".ToBytes(); var builder = new HttpChunkHeaderBuilder(); Assert.False(builder.AppendBuffer(buffer, 3, 5, out _)); Assert.True(builder.AppendBuffer(buffer, 8, 9, out _)); }
public void ThrowsExceptionOnInvalidHexString(string hexString) { var buffer = hexString.ToBytes(); var builder = new HttpChunkHeaderBuilder(); Assert.Throws <HttpBadRequestException>(delegate { builder.AppendBuffer(buffer, 0, buffer.Length, out _); }); }
public void WorksWhenHeaderEndsInTheFirstBuffer( string bufferString, long expectedBodyLength, int expectedContentStarts) { var buffer = bufferString.ToBytes(); var builder = new HttpChunkHeaderBuilder(); int expectedContentStartIndex; Assert.True(builder.AppendBuffer(buffer, 0, buffer.Length, out expectedContentStartIndex)); Assert.Equal(expectedContentStarts, expectedContentStartIndex); Assert.Equal(expectedBodyLength, builder.Result.Length); }