// Token: 0x0600054D RID: 1357 RVA: 0x0001D094 File Offset: 0x0001B294 public sealed override MimeNode Clone() { TextHeader textHeader = new TextHeader(base.Name, base.HeaderId); this.CopyTo(textHeader); return(textHeader); }
public bool TryGetValue(DecodingOptions decodingOptions, out DecodingResults decodingResults, out string value) { this.AssertGood(true); if (this.reader.ReaderState == MimeReaderState.HeaderStart) { this.reader.TryCompleteCurrentHeader(true); } if (this.reader.CurrentHeaderObject != null) { TextHeader textHeader = this.reader.CurrentHeaderObject as TextHeader; if (textHeader != null) { value = textHeader.GetDecodedValue(decodingOptions, out decodingResults); if (decodingResults.DecodingFailed) { value = null; return(false); } return(true); } else { value = this.reader.CurrentHeaderObject.Value; } } else { value = null; } decodingResults = default(DecodingResults); return(true); }
internal static Header Create(string name, HeaderId headerId) { if (headerId < HeaderId.Unknown || headerId > (HeaderId)MimeData.nameIndex.Length) { throw new ArgumentException(Strings.InvalidHeaderId, "headerId"); } if (headerId == HeaderId.Unknown) { throw new ArgumentException(Strings.CannotDetermineHeaderNameFromId, "headerId"); } Header header; switch (MimeData.headerNames[(int)MimeData.nameIndex[(int)headerId]].headerType) { case HeaderType.AsciiText: header = new AsciiTextHeader(MimeData.headerNames[(int)MimeData.nameIndex[(int)headerId]].name, headerId); break; case HeaderType.Date: header = new DateHeader(MimeData.headerNames[(int)MimeData.nameIndex[(int)headerId]].name, headerId); break; case HeaderType.Received: header = new ReceivedHeader(); break; case HeaderType.ContentType: header = new ContentTypeHeader(); break; case HeaderType.ContentDisposition: header = new ContentDispositionHeader(); break; case HeaderType.Address: header = new AddressHeader(MimeData.headerNames[(int)MimeData.nameIndex[(int)headerId]].name, headerId); break; default: header = new TextHeader(MimeData.headerNames[(int)MimeData.nameIndex[(int)headerId]].name, headerId); break; } if (!string.IsNullOrEmpty(name) && !header.MatchName(name)) { throw new ArgumentException("name"); } return(header); }
// Token: 0x0600054E RID: 1358 RVA: 0x0001D0BC File Offset: 0x0001B2BC public sealed override void CopyTo(object destination) { if (destination == null) { throw new ArgumentNullException("destination"); } if (destination == this) { return; } TextHeader textHeader = destination as TextHeader; if (textHeader == null) { throw new ArgumentException(Strings.CantCopyToDifferentObjectType); } base.CopyTo(destination); textHeader.decodedValue = this.decodedValue; }