diff options
Diffstat (limited to 'src/DotNetOpenAuth.Test/MockingHostFactories.cs')
-rw-r--r-- | src/DotNetOpenAuth.Test/MockingHostFactories.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/DotNetOpenAuth.Test/MockingHostFactories.cs b/src/DotNetOpenAuth.Test/MockingHostFactories.cs index 5dd09e2..d9f6b02 100644 --- a/src/DotNetOpenAuth.Test/MockingHostFactories.cs +++ b/src/DotNetOpenAuth.Test/MockingHostFactories.cs @@ -19,6 +19,7 @@ namespace DotNetOpenAuth.Test { public MockingHostFactories(List<TestBase.Handler> handlers = null) { this.handlers = handlers ?? new List<TestBase.Handler>(); this.CookieContainer = new CookieContainer(); + this.AllowAutoRedirects = true; } public List<TestBase.Handler> Handlers { @@ -27,8 +28,16 @@ namespace DotNetOpenAuth.Test { public CookieContainer CookieContainer { get; set; } + public bool AllowAutoRedirects { get; set; } + public HttpMessageHandler CreateHttpMessageHandler() { - return new AutoRedirectHandler(new CookieDelegatingHandler(new ForwardingMessageHandler(this.handlers, this), this.CookieContainer)); + var forwardingMessageHandler = new ForwardingMessageHandler(this.handlers, this); + var cookieDelegatingHandler = new CookieDelegatingHandler(forwardingMessageHandler, this.CookieContainer); + if (this.AllowAutoRedirects) { + return new AutoRedirectHandler(cookieDelegatingHandler); + } else { + return cookieDelegatingHandler; + } } public HttpClient CreateHttpClient(HttpMessageHandler handler = null) { |