public void ReadAsMultipartAsyncUsingMultipartContentAsync(string boundary) { MultipartContent content = new MultipartContent("mixed", boundary); content.Add(new StringContent("A")); content.Add(new StringContent("B")); content.Add(new StringContent("C")); MemoryStream memStream = new MemoryStream(); content.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); var byteContent = new ByteArrayContent(data); byteContent.Headers.ContentType = content.Headers.ContentType; Task <IEnumerable <HttpContent> > task = byteContent.ReadAsMultipartAsync(); task.Wait(TimeoutConstant.DefaultTimeout); IEnumerable <HttpContent> result = task.Result; Assert.Equal(3, result.Count()); Assert.Equal("A", result.ElementAt(0).ReadAsStringAsync().Result); Assert.Equal("B", result.ElementAt(1).ReadAsStringAsync().Result); Assert.Equal("C", result.ElementAt(2).ReadAsStringAsync().Result); }
public void ReadAsMultipartAsyncNestedMultipartContentAsync(string boundary) { const int nesting = 10; const string innerText = "Content"; MultipartContent innerContent = new MultipartContent("mixed", boundary); innerContent.Add(new StringContent(innerText)); for (var cnt = 0; cnt < nesting; cnt++) { string outerBoundary = String.Format("{0}_{1}", boundary, cnt); MultipartContent outerContent = new MultipartContent("mixed", outerBoundary); outerContent.Add(innerContent); innerContent = outerContent; } MemoryStream memStream = new MemoryStream(); innerContent.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); HttpContent content = new ByteArrayContent(data); content.Headers.ContentType = innerContent.Headers.ContentType; for (var cnt = 0; cnt < nesting + 1; cnt++) { Task <IEnumerable <HttpContent> > task = content.ReadAsMultipartAsync(); task.Wait(TimeoutConstant.DefaultTimeout); IEnumerable <HttpContent> result = task.Result; Assert.Equal(1, result.Count()); content = result.ElementAt(0); Assert.NotNull(content); } string text = content.ReadAsStringAsync().Result; Assert.Equal(innerText, text); }
public async Task ReadAsMultipartAsync_NestedMultipartContent(string boundary) { const int nesting = 10; const string innerText = "Content"; MultipartContent innerContent = new MultipartContent("mixed", boundary); innerContent.Add(new StringContent(innerText)); for (var cnt = 0; cnt < nesting; cnt++) { string outerBoundary = String.Format("{0}_{1}", boundary, cnt); MultipartContent outerContent = new MultipartContent("mixed", outerBoundary); outerContent.Add(innerContent); innerContent = outerContent; } MemoryStream memStream = new MemoryStream(); await innerContent.CopyToAsync(memStream); memStream.Position = 0; byte[] data = memStream.ToArray(); HttpContent content = new ByteArrayContent(data); content.Headers.ContentType = innerContent.Headers.ContentType; for (var cnt = 0; cnt < nesting + 1; cnt++) { MultipartMemoryStreamProvider result = await content.ReadAsMultipartAsync(); Assert.Equal(1, result.Contents.Count); content = result.Contents[0]; Assert.NotNull(content); } string text = await content.ReadAsStringAsync(); Assert.Equal(innerText, text); }
public async Task ReadAsMultipartAsync_UsingMultipartContent(string boundary) { MultipartContent content = new MultipartContent("mixed", boundary); content.Add(new StringContent("A")); content.Add(new StringContent("B")); content.Add(new StringContent("C")); MemoryStream memStream = new MemoryStream(); await content.CopyToAsync(memStream); memStream.Position = 0; byte[] data = memStream.ToArray(); var byteContent = new ByteArrayContent(data); byteContent.Headers.ContentType = content.Headers.ContentType; MultipartMemoryStreamProvider result = await byteContent.ReadAsMultipartAsync(); Assert.Equal(3, result.Contents.Count); Assert.Equal("A", await result.Contents[0].ReadAsStringAsync()); Assert.Equal("B", await result.Contents[1].ReadAsStringAsync()); Assert.Equal("C", await result.Contents[2].ReadAsStringAsync()); }
public void ReadAsMultipartAsync_NestedMultipartContent(string boundary) { const int nesting = 10; const string innerText = "Content"; MultipartContent innerContent = new MultipartContent("mixed", boundary); innerContent.Add(new StringContent(innerText)); for (var cnt = 0; cnt < nesting; cnt++) { string outerBoundary = String.Format("{0}_{1}", boundary, cnt); MultipartContent outerContent = new MultipartContent("mixed", outerBoundary); outerContent.Add(innerContent); innerContent = outerContent; } MemoryStream memStream = new MemoryStream(); innerContent.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); HttpContent content = new ByteArrayContent(data); content.Headers.ContentType = innerContent.Headers.ContentType; for (var cnt = 0; cnt < nesting + 1; cnt++) { MultipartMemoryStreamProvider result = content.ReadAsMultipartAsync().Result; Assert.Equal(1, result.Contents.Count); content = result.Contents[0]; Assert.NotNull(content); } string text = content.ReadAsStringAsync().Result; Assert.Equal(innerText, text); }
public void ReadAsMultipartAsync_UsingMultipartContent(string boundary) { MultipartContent content = new MultipartContent("mixed", boundary); content.Add(new StringContent("A")); content.Add(new StringContent("B")); content.Add(new StringContent("C")); MemoryStream memStream = new MemoryStream(); content.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); var byteContent = new ByteArrayContent(data); byteContent.Headers.ContentType = content.Headers.ContentType; MultipartMemoryStreamProvider result = byteContent.ReadAsMultipartAsync().Result; Assert.Equal(3, result.Contents.Count); Assert.Equal("A", result.Contents[0].ReadAsStringAsync().Result); Assert.Equal("B", result.Contents[1].ReadAsStringAsync().Result); Assert.Equal("C", result.Contents[2].ReadAsStringAsync().Result); }
public void ReadAsMultipartAsyncNestedMultipartContentAsync(string boundary) { const int nesting = 10; const string innerText = "Content"; MultipartContent innerContent = new MultipartContent("mixed", boundary); innerContent.Add(new StringContent(innerText)); for (var cnt = 0; cnt < nesting; cnt++) { string outerBoundary = String.Format("{0}_{1}", boundary, cnt); MultipartContent outerContent = new MultipartContent("mixed", outerBoundary); outerContent.Add(innerContent); innerContent = outerContent; } MemoryStream memStream = new MemoryStream(); innerContent.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); HttpContent content = new ByteArrayContent(data); content.Headers.ContentType = innerContent.Headers.ContentType; for (var cnt = 0; cnt < nesting + 1; cnt++) { Task<IEnumerable<HttpContent>> task = content.ReadAsMultipartAsync(); task.Wait(TimeoutConstant.DefaultTimeout); IEnumerable<HttpContent> result = task.Result; Assert.Equal(1, result.Count()); content = result.ElementAt(0); Assert.NotNull(content); } string text = content.ReadAsStringAsync().Result; Assert.Equal(innerText, text); }
public void ReadAsMultipartAsyncUsingMultipartContentAsync(string boundary) { MultipartContent content = new MultipartContent("mixed", boundary); content.Add(new StringContent("A")); content.Add(new StringContent("B")); content.Add(new StringContent("C")); MemoryStream memStream = new MemoryStream(); content.CopyToAsync(memStream).Wait(); memStream.Position = 0; byte[] data = memStream.ToArray(); var byteContent = new ByteArrayContent(data); byteContent.Headers.ContentType = content.Headers.ContentType; Task<IEnumerable<HttpContent>> task = byteContent.ReadAsMultipartAsync(); task.Wait(TimeoutConstant.DefaultTimeout); IEnumerable<HttpContent> result = task.Result; Assert.Equal(3, result.Count()); Assert.Equal("A", result.ElementAt(0).ReadAsStringAsync().Result); Assert.Equal("B", result.ElementAt(1).ReadAsStringAsync().Result); Assert.Equal("C", result.ElementAt(2).ReadAsStringAsync().Result); }