summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs')
-rw-r--r--src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs33
1 files changed, 12 insertions, 21 deletions
diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs
index 05a33bc..d96e5c9 100644
--- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs
+++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/OpenIdProvider.cs
@@ -11,7 +11,6 @@ namespace DotNetOpenAuth.OpenId.Provider {
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
- using System.Diagnostics.Contracts;
using System.Linq;
using System.Threading;
using System.Web;
@@ -20,13 +19,13 @@ namespace DotNetOpenAuth.OpenId.Provider {
using DotNetOpenAuth.Messaging.Bindings;
using DotNetOpenAuth.OpenId.ChannelElements;
using DotNetOpenAuth.OpenId.Messages;
+ using Validation;
using RP = DotNetOpenAuth.OpenId.RelyingParty;
/// <summary>
/// Offers services for a web page that is acting as an OpenID identity server.
/// </summary>
[SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = "By design")]
- [ContractVerification(true)]
public sealed class OpenIdProvider : IDisposable, IOpenIdHost {
/// <summary>
/// The name of the key to use in the HttpApplication cache to store the
@@ -55,8 +54,6 @@ namespace DotNetOpenAuth.OpenId.Provider {
/// </summary>
public OpenIdProvider()
: this(OpenIdElement.Configuration.Provider.ApplicationStore.CreateInstance(HttpApplicationStore)) {
- Contract.Ensures(this.SecuritySettings != null);
- Contract.Ensures(this.Channel != null);
}
/// <summary>
@@ -66,8 +63,6 @@ namespace DotNetOpenAuth.OpenId.Provider {
public OpenIdProvider(IOpenIdApplicationStore applicationStore)
: this((INonceStore)applicationStore, (ICryptoKeyStore)applicationStore) {
Requires.NotNull(applicationStore, "applicationStore");
- Contract.Ensures(this.SecuritySettings != null);
- Contract.Ensures(this.Channel != null);
}
/// <summary>
@@ -78,8 +73,6 @@ namespace DotNetOpenAuth.OpenId.Provider {
private OpenIdProvider(INonceStore nonceStore, ICryptoKeyStore cryptoKeyStore) {
Requires.NotNull(nonceStore, "nonceStore");
Requires.NotNull(cryptoKeyStore, "cryptoKeyStore");
- Contract.Ensures(this.SecuritySettings != null);
- Contract.Ensures(this.Channel != null);
this.SecuritySettings = OpenIdElement.Configuration.Provider.SecuritySettings.CreateSecuritySettings();
this.behaviors.CollectionChanged += this.OnBehaviorsChanged;
@@ -102,8 +95,7 @@ namespace DotNetOpenAuth.OpenId.Provider {
[EditorBrowsable(EditorBrowsableState.Advanced)]
public static IOpenIdApplicationStore HttpApplicationStore {
get {
- Requires.ValidState(HttpContext.Current != null && HttpContext.Current.Request != null, MessagingStrings.HttpContextRequired);
- Contract.Ensures(Contract.Result<IOpenIdApplicationStore>() != null);
+ RequiresEx.ValidState(HttpContext.Current != null && HttpContext.Current.Request != null, MessagingStrings.HttpContextRequired);
HttpContext context = HttpContext.Current;
var store = (IOpenIdApplicationStore)context.Application[ApplicationStoreKey];
if (store == null) {
@@ -131,8 +123,7 @@ namespace DotNetOpenAuth.OpenId.Provider {
/// </summary>
public ProviderSecuritySettings SecuritySettings {
get {
- Contract.Ensures(Contract.Result<ProviderSecuritySettings>() != null);
- Contract.Assume(this.securitySettings != null);
+ Assumes.True(this.securitySettings != null);
return this.securitySettings;
}
@@ -325,9 +316,9 @@ namespace DotNetOpenAuth.OpenId.Provider {
[SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Justification = "Code Contract requires that we cast early.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void SendResponse(IRequest request) {
- Requires.ValidState(HttpContext.Current != null, MessagingStrings.CurrentHttpContextRequired);
+ RequiresEx.ValidState(HttpContext.Current != null, MessagingStrings.CurrentHttpContextRequired);
Requires.NotNull(request, "request");
- Requires.True(request.IsResponseReady, "request");
+ Requires.That(request.IsResponseReady, "request", OpenIdStrings.ResponseNotReady);
this.ApplyBehaviorsToResponse(request);
Request requestInternal = (Request)request;
@@ -346,9 +337,9 @@ namespace DotNetOpenAuth.OpenId.Provider {
/// <exception cref="InvalidOperationException">Thrown if <see cref="IRequest.IsResponseReady"/> is <c>false</c>.</exception>
[SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Justification = "Code Contract requires that we cast early.")]
public void Respond(IRequest request) {
- Requires.ValidState(HttpContext.Current != null, MessagingStrings.CurrentHttpContextRequired);
+ RequiresEx.ValidState(HttpContext.Current != null, MessagingStrings.CurrentHttpContextRequired);
Requires.NotNull(request, "request");
- Requires.True(request.IsResponseReady, "request");
+ Requires.That(request.IsResponseReady, "request", OpenIdStrings.ResponseNotReady);
this.ApplyBehaviorsToResponse(request);
Request requestInternal = (Request)request;
@@ -364,7 +355,7 @@ namespace DotNetOpenAuth.OpenId.Provider {
[SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily", Justification = "Code Contract requires that we cast early.")]
public OutgoingWebResponse PrepareResponse(IRequest request) {
Requires.NotNull(request, "request");
- Requires.True(request.IsResponseReady, "request");
+ Requires.That(request.IsResponseReady, "request", OpenIdStrings.ResponseNotReady);
this.ApplyBehaviorsToResponse(request);
Request requestInternal = (Request)request;
@@ -387,9 +378,9 @@ namespace DotNetOpenAuth.OpenId.Provider {
/// be the same as <paramref name="claimedIdentifier"/>.</param>
/// <param name="extensions">The extensions.</param>
public void SendUnsolicitedAssertion(Uri providerEndpoint, Realm relyingPartyRealm, Identifier claimedIdentifier, Identifier localIdentifier, params IExtensionMessage[] extensions) {
- Requires.ValidState(HttpContext.Current != null, MessagingStrings.HttpContextRequired);
+ RequiresEx.ValidState(HttpContext.Current != null, MessagingStrings.HttpContextRequired);
Requires.NotNull(providerEndpoint, "providerEndpoint");
- Requires.True(providerEndpoint.IsAbsoluteUri, "providerEndpoint");
+ Requires.That(providerEndpoint.IsAbsoluteUri, "providerEndpoint", OpenIdStrings.AbsoluteUriRequired);
Requires.NotNull(relyingPartyRealm, "relyingPartyRealm");
Requires.NotNull(claimedIdentifier, "claimedIdentifier");
Requires.NotNull(localIdentifier, "localIdentifier");
@@ -418,11 +409,11 @@ namespace DotNetOpenAuth.OpenId.Provider {
/// </returns>
public OutgoingWebResponse PrepareUnsolicitedAssertion(Uri providerEndpoint, Realm relyingPartyRealm, Identifier claimedIdentifier, Identifier localIdentifier, params IExtensionMessage[] extensions) {
Requires.NotNull(providerEndpoint, "providerEndpoint");
- Requires.True(providerEndpoint.IsAbsoluteUri, "providerEndpoint");
+ Requires.That(providerEndpoint.IsAbsoluteUri, "providerEndpoint", OpenIdStrings.AbsoluteUriRequired);
Requires.NotNull(relyingPartyRealm, "relyingPartyRealm");
Requires.NotNull(claimedIdentifier, "claimedIdentifier");
Requires.NotNull(localIdentifier, "localIdentifier");
- Requires.ValidState(this.Channel.WebRequestHandler != null);
+ RequiresEx.ValidState(this.Channel.WebRequestHandler != null);
// Although the RP should do their due diligence to make sure that this OP
// is authorized to send an assertion for the given claimed identifier,