/// <summary> /// Default constructor. /// </summary> /// <param name="reader">Line reader.</param> /// <param name="boundary">Boundary ID.</param> public _MIME_MultipartReader(LineReader reader,string boundary) : base(reader.Stream,false,32000) { m_pReader = reader; m_Boundary = boundary; if(reader.CanSyncStream){ reader.SyncStream(); } }
/// <summary> /// Parses MIME entity body from the specified reader. /// </summary> /// <param name="reader">Body reader from where to parse body.</param> /// <param name="owner">Specifies if body will be stream owner.</param> /// <returns>Returns true if this is last boundary in the message or in multipart "body parts".</returns> internal override void ParseFromReader(LineReader reader,bool owner) { // For multipart we need todo new limiting(limits to specified boundary) reader. _MIME_MultipartReader r = new _MIME_MultipartReader(reader,m_Boundary); while(r.Next()){ MIME_Entity bodyPart = new MIME_Entity(); bodyPart.Parse(r,owner); m_pParts.Add(bodyPart); } }