//-----------------------------------------------------------------------
//
// 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();
}
}
}