//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.Messaging { using System; using System.Collections.Generic; using System.Diagnostics.Contracts; /// /// Code contract for the class. /// [ContractClassFor(typeof(Channel))] internal abstract class ChannelContract : Channel { /// /// Prevents a default instance of the ChannelContract class from being created. /// private ChannelContract() : base(null, null) { } /// /// Gets the protocol message that may be in the given HTTP response. /// /// The response that is anticipated to contain an protocol message. /// /// The deserialized message parts, if found. Null otherwise. /// /// Thrown when the response is not valid. protected override IDictionary ReadFromResponseCore(IncomingWebResponse response) { Requires.NotNull(response, "response"); throw new NotImplementedException(); } /// /// Queues a message for sending in the response stream where the fields /// are sent in the response stream in querystring style. /// /// The message to send as a response. /// /// The pending user agent redirect based message to be sent as an HttpResponse. /// /// /// This method implements spec V1.0 section 5.3. /// protected override OutgoingWebResponse PrepareDirectResponse(IProtocolMessage response) { Requires.NotNull(response, "response"); Contract.Ensures(Contract.Result() != null); throw new NotImplementedException(); } } }