summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/MockingHostFactories.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Test/MockingHostFactories.cs')
-rw-r--r--src/DotNetOpenAuth.Test/MockingHostFactories.cs11
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) {