summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdProviderWebForms/Code/Util.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-03-26 11:19:06 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2013-03-26 11:19:06 -0700
commit3d37ff45cab6838d80b22e6b782a0b9b4c2f4aeb (patch)
treec15816c3d7f6e74334553f2ff98605ce1c22c538 /samples/OpenIdProviderWebForms/Code/Util.cs
parent5e9014f36b2d53b8e419918675df636540ea24e2 (diff)
parente6f7409f4caceb7bc2a5b4ddbcb1a4097af340f2 (diff)
downloadDotNetOpenAuth-3d37ff45cab6838d80b22e6b782a0b9b4c2f4aeb.zip
DotNetOpenAuth-3d37ff45cab6838d80b22e6b782a0b9b4c2f4aeb.tar.gz
DotNetOpenAuth-3d37ff45cab6838d80b22e6b782a0b9b4c2f4aeb.tar.bz2
Move to HttpClient throughout library.
Diffstat (limited to 'samples/OpenIdProviderWebForms/Code/Util.cs')
-rw-r--r--samples/OpenIdProviderWebForms/Code/Util.cs35
1 files changed, 32 insertions, 3 deletions
diff --git a/samples/OpenIdProviderWebForms/Code/Util.cs b/samples/OpenIdProviderWebForms/Code/Util.cs
index deff447..5333124 100644
--- a/samples/OpenIdProviderWebForms/Code/Util.cs
+++ b/samples/OpenIdProviderWebForms/Code/Util.cs
@@ -6,11 +6,13 @@
namespace OpenIdProviderWebForms.Code {
using System;
+ using System.Threading;
+ using System.Threading.Tasks;
using System.Web;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.Provider;
- public class Util {
+ public static class Util {
public static string ExtractUserName(Uri url) {
return url.Segments[url.Segments.Length - 1];
}
@@ -52,7 +54,7 @@ namespace OpenIdProviderWebForms.Code {
// add extension responses here.
}
} else {
- HttpContext.Current.Response.Redirect("~/decide.aspx", true);
+ HttpContext.Current.Response.Redirect("~/decide.aspx", false);
}
}
@@ -68,8 +70,35 @@ namespace OpenIdProviderWebForms.Code {
// These would typically be filled in from a user database
}
} else {
- HttpContext.Current.Response.Redirect("~/decide.aspx", true);
+ HttpContext.Current.Response.Redirect("~/decide.aspx", false);
}
}
+
+ internal static Task ToApm(this Task task, AsyncCallback callback, object state) {
+ if (task == null) {
+ throw new ArgumentNullException("task");
+ }
+
+ var tcs = new TaskCompletionSource<object>(state);
+ task.ContinueWith(
+ t => {
+ if (t.IsFaulted) {
+ tcs.TrySetException(t.Exception.InnerExceptions);
+ } else if (t.IsCanceled) {
+ tcs.TrySetCanceled();
+ } else {
+ tcs.TrySetResult(null);
+ }
+
+ if (callback != null) {
+ callback(tcs.Task);
+ }
+ },
+ CancellationToken.None,
+ TaskContinuationOptions.None,
+ TaskScheduler.Default);
+
+ return tcs.Task;
+ }
}
} \ No newline at end of file