summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-02-08 08:11:58 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2010-02-08 08:11:58 -0800
commite8fb7ce1481187d8799acae7efc273a265aec786 (patch)
treeb8049f0765e7a4a7cba961b2920e24163a487e6d
parent0aac1cab4c6975cb5bf52f3b69ec025cd3555d02 (diff)
downloadDotNetOpenAuth-e8fb7ce1481187d8799acae7efc273a265aec786.zip
DotNetOpenAuth-e8fb7ce1481187d8799acae7efc273a265aec786.tar.gz
DotNetOpenAuth-e8fb7ce1481187d8799acae7efc273a265aec786.tar.bz2
Added an HttpWebRequest extension method to authorize HTTP requests with WRAP.
-rw-r--r--src/DotNetOpenAuth/OAuthWrap/ClientBase.cs7
-rw-r--r--src/DotNetOpenAuth/OAuthWrap/WrapUtilities.cs34
2 files changed, 36 insertions, 5 deletions
diff --git a/src/DotNetOpenAuth/OAuthWrap/ClientBase.cs b/src/DotNetOpenAuth/OAuthWrap/ClientBase.cs
index bec86c6..b277df1 100644
--- a/src/DotNetOpenAuth/OAuthWrap/ClientBase.cs
+++ b/src/DotNetOpenAuth/OAuthWrap/ClientBase.cs
@@ -34,7 +34,7 @@ namespace DotNetOpenAuth.OAuthWrap {
public AuthorizationServerDescription AuthorizationServer { get; private set; }
/// <summary>
- /// Gets the channel.
+ /// Gets the OAuth WRAP channel.
/// </summary>
/// <value>The channel.</value>
public Channel Channel { get; private set; }
@@ -48,10 +48,7 @@ namespace DotNetOpenAuth.OAuthWrap {
public static void AuthorizeRequest(HttpWebRequest request, string accessToken) {
Contract.Requires<ArgumentNullException>(request != null);
Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(accessToken));
- request.Headers[HttpRequestHeader.Authorization] = string.Format(
- CultureInfo.InvariantCulture,
- Protocol.HttpAuthorizationHeaderFormat,
- accessToken);
+ WrapUtilities.AuthorizeWithOAuthWrap(request, accessToken);
}
}
}
diff --git a/src/DotNetOpenAuth/OAuthWrap/WrapUtilities.cs b/src/DotNetOpenAuth/OAuthWrap/WrapUtilities.cs
new file mode 100644
index 0000000..5c391be
--- /dev/null
+++ b/src/DotNetOpenAuth/OAuthWrap/WrapUtilities.cs
@@ -0,0 +1,34 @@
+//-----------------------------------------------------------------------
+// <copyright file="WrapUtilities.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.OAuthWrap {
+ using System;
+ using System.Collections.Generic;
+ using System.Diagnostics.Contracts;
+ using System.Globalization;
+ using System.Linq;
+ using System.Net;
+ using System.Text;
+
+ /// <summary>
+ /// Some common utility methods for OAuth WRAP.
+ /// </summary>
+ public static class WrapUtilities {
+ /// <summary>
+ /// Authorizes an HTTP request using an OAuth WRAP access token.
+ /// </summary>
+ /// <param name="request">The request to authorize.</param>
+ /// <param name="accessToken">The access token previously obtained from the Authorization Server.</param>
+ public static void AuthorizeWithOAuthWrap(this HttpWebRequest request, string accessToken) {
+ Contract.Requires<ArgumentNullException>(request != null);
+ Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(accessToken));
+ request.Headers[HttpRequestHeader.Authorization] = string.Format(
+ CultureInfo.InvariantCulture,
+ Protocol.HttpAuthorizationHeaderFormat,
+ accessToken);
+ }
+ }
+}