Exemple #1
0
 public void WritePart(MimeReader reader)
 {
     if (reader == null)
         throw new System.ArgumentNullException(nameof(reader));
     this.AssertOpen();
     if (!MimeReader.StateIsOneOf(reader.ReaderState, MimeReaderState.PartStart | MimeReaderState.InlineStart))
         throw new System.InvalidOperationException(Resources.Strings.OperationNotValidInThisReaderState);
     this.StartPart();
     var headerReader = reader.HeaderReader;
     while (headerReader.ReadNextHeader())
         this.WriteHeader(headerReader);
     this.WriteContent(reader);
     this.EndPart();
 }
Exemple #2
0
 internal MimeAddressReader(MimeReader reader, bool topLevel)
 {
     this.reader = reader;
     this.topLevel = topLevel;
 }
Exemple #3
0
 public void WriteContent(MimeReader reader)
 {
     if (reader == null)
         throw new System.ArgumentNullException(nameof(reader));
     this.AssertOpen();
     if (contentWritten)
         throw new System.InvalidOperationException(Resources.Strings.ContentAlreadyWritten);
     using (var contentReadStream = reader.GetRawContentReadStream()) {
         if (contentReadStream == null)
             return;
         using (var contentWriteStream = this.GetRawContentWriteStream())
             Internal.DataStorage.CopyStreamToStream(contentReadStream, contentWriteStream, long.MaxValue, ref scratchBuffer);
     }
 }