diff options
Diffstat (limited to 'src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs')
-rw-r--r-- | src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs index 7671194..5f3bba2 100644 --- a/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs +++ b/src/DotNetOpenAuth.OpenId.Provider/OpenId/Provider/HostProcessedRequest.cs @@ -31,6 +31,8 @@ namespace DotNetOpenAuth.OpenId.Provider { /// </summary> private RelyingPartyDiscoveryResult? realmDiscoveryResult; + private IHostFactories hostFactories; + /// <summary> /// Initializes a new instance of the <see cref="HostProcessedRequest"/> class. /// </summary> @@ -40,6 +42,7 @@ namespace DotNetOpenAuth.OpenId.Provider { : base(request, provider.SecuritySettings) { Requires.NotNull(provider, "provider"); + this.hostFactories = provider.Channel.HostFactories; this.negativeResponse = new Lazy<Task<NegativeAssertionResponse>>(() => NegativeAssertionResponse.CreateAsync(request, CancellationToken.None, provider.Channel)); Reporting.RecordEventOccurrence(this, request.Realm); } @@ -139,8 +142,8 @@ namespace DotNetOpenAuth.OpenId.Provider { /// Result of realm discovery. /// </returns> private async Task<RelyingPartyDiscoveryResult> IsReturnUrlDiscoverableCoreAsync(IHostFactories hostFactories, CancellationToken cancellationToken) { - Requires.NotNull(hostFactories, "hostFactories"); ErrorUtilities.VerifyInternal(this.Realm != null, "Realm should have been read or derived by now."); + hostFactories = hostFactories ?? this.hostFactories; try { if (this.SecuritySettings.RequireSsl && this.Realm.Scheme != Uri.UriSchemeHttps) { |