//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.Messaging { using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Diagnostics.Contracts; using System.Text; /// /// An interface that appears on messages that need to retain a description of /// what their literal payload was when they were deserialized. /// [ContractClass(typeof(IMessageOriginalPayloadContract))] public interface IMessageOriginalPayload { /// /// Gets or sets the original message parts, before any normalization or default values were assigned. /// [SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly", Justification = "By design")] IDictionary OriginalPayload { get; set; } } /// /// Code contract for the interface. /// [ContractClassFor(typeof(IMessageOriginalPayload))] internal abstract class IMessageOriginalPayloadContract : IMessageOriginalPayload { /// /// Gets or sets the original message parts, before any normalization or default values were assigned. /// IDictionary IMessageOriginalPayload.OriginalPayload { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } } }