// Copyright © WireMock.Net using System; using System.Collections.Generic; using System.Linq; using MimeKit; using Stef.Validation; using WireMock.Models.Mime; namespace WireMock.Models; /// /// A wrapper class that implements the IContentDispositionData interface /// by wrapping a ContentDisposition object. /// /// /// This class provides a simplified, read-only view of a ContentDisposition. /// public class ContentDispositionDataWrapper : IContentDispositionData { private readonly ContentDisposition _contentDisposition; /// /// Initializes a new instance of the class. /// /// The ContentDisposition to wrap. public ContentDispositionDataWrapper(ContentDisposition contentDisposition) { _contentDisposition = Guard.NotNull(contentDisposition); Parameters = _contentDisposition.Parameters.Select(p => p.ToString()).ToList(); } /// public string Disposition => _contentDisposition.Disposition; /// public bool IsAttachment => _contentDisposition.IsAttachment; /// public IList Parameters { get; private set; } /// public string FileName => _contentDisposition.FileName; /// public DateTimeOffset? CreationDate => _contentDisposition.CreationDate; /// public DateTimeOffset? ModificationDate => _contentDisposition.ModificationDate; /// public DateTimeOffset? ReadDate => _contentDisposition.ReadDate; /// public long? Size => _contentDisposition.Size; /// public override string ToString() { return _contentDisposition.ToString(); } }