diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2013-02-20 22:28:51 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2013-02-20 22:28:51 -0800 |
commit | 55cba0e1003cde651d0c65c7f7d8270393f65594 (patch) | |
tree | 26bc3a67a3bf608255b531baf4bb369b2a5d0943 /src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs | |
parent | 6d037a420c0d304bb2edeee17dce1b11db60b2bf (diff) | |
download | DotNetOpenAuth-55cba0e1003cde651d0c65c7f7d8270393f65594.zip DotNetOpenAuth-55cba0e1003cde651d0c65c7f7d8270393f65594.tar.gz DotNetOpenAuth-55cba0e1003cde651d0c65c7f7d8270393f65594.tar.bz2 |
Removes ConsumerBase.PrepareAuthorizedRequestAsync methods.
HttpClient, full steam ahead.
Diffstat (limited to 'src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs')
-rw-r--r-- | src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs index 6029d47..8a79adf 100644 --- a/src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs +++ b/src/DotNetOpenAuth.OAuth.Consumer/OAuth/OAuth1HttpMessageHandlerBase.cs @@ -128,6 +128,31 @@ namespace DotNetOpenAuth.OAuth { public int NonceLength { get; set; } /// <summary> + /// Applies OAuth authorization to the specified request. + /// This method is applied automatically to outbound requests that use this message handler instance. + /// However this method may be useful for obtaining the OAuth 1.0 signature without actually sending the request. + /// </summary> + public void ApplyOAuthParameters(HttpRequestMessage request) { + Requires.NotNull(request, "request"); + + var oauthParameters = this.GetOAuthParameters(); + string signature = this.GetSignature(request, oauthParameters); + oauthParameters.Add("oauth_signature", signature); + + // Add parameters and signature to request. + switch (this.Location) { + case OAuthParametersLocation.AuthorizationHttpHeader: + request.Headers.Authorization = new AuthenticationHeaderValue(Protocol.AuthorizationHeaderScheme, MessagingUtilities.AssembleAuthorizationHeader(oauthParameters.AsKeyValuePairs())); + break; + case OAuthParametersLocation.QueryString: + var uriBuilder = new UriBuilder(request.RequestUri); + uriBuilder.AppendQueryArgs(oauthParameters.AsKeyValuePairs()); + request.RequestUri = uriBuilder.Uri; + break; + } + } + + /// <summary> /// Sends an HTTP request to the inner handler to send to the server as an asynchronous operation. /// </summary> /// <param name="request">The HTTP request message to send to the server.</param> @@ -311,29 +336,6 @@ namespace DotNetOpenAuth.OAuth { } /// <summary> - /// Applies OAuth authorization to the specified request. - /// </summary> - private void ApplyOAuthParameters(HttpRequestMessage request) { - Requires.NotNull(request, "request"); - - var oauthParameters = this.GetOAuthParameters(); - string signature = this.GetSignature(request, oauthParameters); - oauthParameters.Add("oauth_signature", signature); - - // Add parameters and signature to request. - switch (this.Location) { - case OAuthParametersLocation.AuthorizationHttpHeader: - request.Headers.Authorization = new AuthenticationHeaderValue(Protocol.AuthorizationHeaderScheme, MessagingUtilities.AssembleAuthorizationHeader(oauthParameters.AsKeyValuePairs())); - break; - case OAuthParametersLocation.QueryString: - var uriBuilder = new UriBuilder(request.RequestUri); - uriBuilder.AppendQueryArgs(oauthParameters.AsKeyValuePairs()); - request.RequestUri = uriBuilder.Uri; - break; - } - } - - /// <summary> /// Gets the OAuth 1.0 signature to apply to the specified request. /// </summary> /// <param name="request">The outbound HTTP request.</param> |