public async Task ReadNextPair_ReturnsNullOnEmptyStream(bool bufferRequest) { var body = MakeStream(bufferRequest, ""); var reader = new FormReader(body); Assert.Null(await ReadPair(reader)); }
public async Task ReadSmallFormAsyncStream() { var bytes = Encoding.UTF8.GetBytes("foo=bar&baz=boo"); var stream = new MemoryStream(bytes); for (var i = 0; i < 1000; i++) { var formReader = new FormReader(stream); await formReader.ReadFormAsync(); stream.Position = 0; } }
public async Task ReadNextPair_ReadsAllPairs(bool bufferRequest) { var body = MakeStream(bufferRequest, "foo=&baz=2"); var reader = new FormReader(body); var pair = (KeyValuePair <string, string>) await ReadPair(reader); Assert.Equal("foo", pair.Key); Assert.Equal("", pair.Value); pair = (KeyValuePair <string, string>) await ReadPair(reader); Assert.Equal("baz", pair.Key); Assert.Equal("2", pair.Value); Assert.Null(await ReadPair(reader)); }
protected override async Task <KeyValuePair <string, string>?> ReadPair(FormReader reader) => await reader.ReadNextPairAsync();
protected override async Task <Dictionary <string, StringValues> > ReadFormAsync(FormReader reader) => await reader.ReadFormAsync();
protected virtual Task <KeyValuePair <string, string>?> ReadPair(FormReader reader) => Task.FromResult(reader.ReadNextPair());
protected virtual Task <Dictionary <string, StringValues> > ReadFormAsync(FormReader reader) => Task.FromResult(reader.ReadForm());