public void GetOutputStream_ThrowsOnInvalidStreamProvider(MultipartStreamProvider streamProvider) { HttpContent parent = new StringContent("hello"); MimeBodyPart bodypart = new MimeBodyPart(streamProvider, 1024); Assert.Throws <InvalidOperationException>(() => bodypart.GetOutputStream(parent)); }
/// <summary> /// Initializes a new instance of the <see cref="MimeBodyPart"/> class. /// </summary> /// <param name="streamProvider">The stream provider.</param> /// <param name="maxBodyPartHeaderSize">The max length of the MIME header within each MIME body part.</param> public MimeBodyPart(MultipartStreamProvider streamProvider, int maxBodyPartHeaderSize) { Contract.Assert(streamProvider != null); _streamProvider = streamProvider; Segments = new List <ArraySegment <byte> >(2); _headers = FormattingUtilities.CreateEmptyContentHeaders(); HeaderParser = new InternetMessageFormatHeaderParser(_headers, maxBodyPartHeaderSize); }
/// <summary> /// Initializes a new instance of the <see cref="MimeBodyPart"/> class. /// </summary> /// <param name="streamProvider">The stream provider.</param> /// <param name="maxBodyPartHeaderSize">The max length of the MIME header within each MIME body part.</param> public MimeBodyPart(MultipartStreamProvider streamProvider, int maxBodyPartHeaderSize) { Contract.Assert(streamProvider != null); _streamProvider = streamProvider; Segments = new List<ArraySegment<byte>>(2); _headers = FormattingUtilities.CreateEmptyContentHeaders(); HeaderParser = new InternetMessageFormatHeaderParser(_headers, maxBodyPartHeaderSize); }
public void GetOutputStream_ThrowsOnInvalidStreamProvider(MultipartStreamProvider streamProvider) { // Arrange HttpContent parent = new StringContent("hello"); MimeBodyPart bodypart = new MimeBodyPart(streamProvider, 1024, parent); bodypart.Segments.Add(new ArraySegment<byte>(new byte[] { 1 })); // Act and Assert Assert.Throws<InvalidOperationException>(() => bodypart.WriteSegment(bodypart.Segments[0]).Wait()); }
public async Task GetOutputStream_ThrowsOnInvalidStreamProvider(MultipartStreamProvider streamProvider) { // Arrange HttpContent parent = new StringContent("hello"); MimeBodyPart bodypart = new MimeBodyPart(streamProvider, 1024, parent); bodypart.Segments.Add(new ArraySegment <byte>(new byte[] { 1 })); // Act and Assert await Assert.ThrowsAsync <InvalidOperationException>(() => bodypart.WriteSegment(bodypart.Segments[0], CancellationToken.None)); }
public void GetOutputStream_ThrowsOnInvalidStreamProvider(MultipartStreamProvider streamProvider) { // Arrange HttpContent parent = new StringContent("hello"); MimeBodyPart bodypart = new MimeBodyPart(streamProvider, 1024, parent); bodypart.Segments.Add(new ArraySegment <byte>(new byte[] { 1 })); // Act and Assert Assert.Throws <InvalidOperationException>(() => bodypart.WriteSegment(bodypart.Segments[0]).Wait()); }
/// <summary> /// Initializes a new instance of the <see cref="MimeBodyPart"/> class. /// </summary> /// <param name="streamProvider">The stream provider.</param> /// <param name="maxBodyPartHeaderSize">The max length of the MIME header within each MIME body part.</param> /// <param name="parentContent">The part's parent content</param> public MimeBodyPart(MultipartStreamProvider streamProvider, int maxBodyPartHeaderSize, HttpContent parentContent) { Contract.Assert(streamProvider != null); Contract.Assert(parentContent != null); _streamProvider = streamProvider; _parentContent = parentContent; Segments = new List <ArraySegment <byte> >(2); _headers = FormattingUtilities.CreateEmptyContentHeaders(); HeaderParser = new InternetMessageFormatHeaderParser( _headers, maxBodyPartHeaderSize, ignoreHeaderValidation: true); }
/// <summary> /// Initializes a new instance of the <see cref="MimeBodyPart"/> class. /// </summary> /// <param name="streamProvider">The stream provider.</param> /// <param name="maxBodyPartHeaderSize">The max length of the MIME header within each MIME body part.</param> /// <param name="parentContent">The part's parent content</param> public MimeBodyPart(MultipartStreamProvider streamProvider, int maxBodyPartHeaderSize, HttpContent parentContent) { Contract.Assert(streamProvider != null); Contract.Assert(parentContent != null); _streamProvider = streamProvider; _parentContent = parentContent; Segments = new List<ArraySegment<byte>>(2); _headers = FormattingUtilities.CreateEmptyContentHeaders(); HeaderParser = new InternetMessageFormatHeaderParser( _headers, maxBodyPartHeaderSize, ignoreHeaderValidation: true); }
/// <summary> /// Initializes a new instance of the <see cref="MimeMultipartBodyPartParser"/> class. /// </summary> /// <param name="content">An existing <see cref="HttpContent"/> instance to use for the object's content.</param> /// <param name="streamProvider">A stream provider providing output streams for where to write body parts as they are parsed.</param> /// <param name="maxMessageSize">The max length of the entire MIME multipart message.</param> /// <param name="maxBodyPartHeaderSize">The max length of the MIME header within each MIME body part.</param> public MimeMultipartBodyPartParser( HttpContent content, MultipartStreamProvider streamProvider, long maxMessageSize, int maxBodyPartHeaderSize) { Contract.Assert(content != null, "content cannot be null."); Contract.Assert(streamProvider != null, "streamProvider cannot be null."); string boundary = ValidateArguments(content, maxMessageSize, true); this._mimeParser = new MimeMultipartParser(boundary, maxMessageSize); this._currentBodyPart = new MimeBodyPart(streamProvider, maxBodyPartHeaderSize, content); this._content = content; this._maxBodyPartHeaderSize = maxBodyPartHeaderSize; this._streamProvider = streamProvider; }
private static async Task WriteFilesAsync( string author, string identifier, MultipartStreamProvider provider, Func<string, string, string, Stream, string, Task> writeAsync) { foreach (var httpContent in provider.Contents) { var fileName = httpContent.GetFileName(); var stream = await httpContent.ReadAsStreamAsync(); await writeAsync(DefaultConnectionStringName, identifier, fileName, stream, author); } }
public void GetOutputStream_ThrowsOnInvalidStreamProvider(MultipartStreamProvider streamProvider) { HttpContent parent = new StringContent("hello"); MimeBodyPart bodypart = new MimeBodyPart(streamProvider, 1024); Assert.Throws<InvalidOperationException>(() => bodypart.GetOutputStream(parent)); }
/// <summary> /// Initializes a new instance of the <see cref="MimeMultipartBodyPartParser"/> class. /// </summary> /// <param name="content">An existing <see cref="HttpContent"/> instance to use for the object's content.</param> /// <param name="streamProvider">A stream provider providing output streams for where to write body parts as they are parsed.</param> public MimeMultipartBodyPartParser(HttpContent content, MultipartStreamProvider streamProvider) : this(content, streamProvider, DefaultMaxMessageSize, DefaultMaxBodyPartHeaderSize) { }