summaryrefslogtreecommitdiffstats
path: root/src/DotNetOAuth/ServiceProvider.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2008-09-29 23:16:41 -0700
committerAndrew <andrewarnott@gmail.com>2008-10-02 07:33:55 -0700
commit5cbd5d7edb994f874b265ed2e7c43f0bcd27b6ac (patch)
treea7b11de02bc213b279906aaa4aafc7d15ff09bac /src/DotNetOAuth/ServiceProvider.cs
parent55c86fc27084af191bbb80fb91da34c24b945c3e (diff)
downloadDotNetOpenAuth-5cbd5d7edb994f874b265ed2e7c43f0bcd27b6ac.zip
DotNetOpenAuth-5cbd5d7edb994f874b265ed2e7c43f0bcd27b6ac.tar.gz
DotNetOpenAuth-5cbd5d7edb994f874b265ed2e7c43f0bcd27b6ac.tar.bz2
Removed the queue/dequeue methodology of queued responses. Now the methods that generate them return them.
Besides simplifying the API somewhat, this change allows for Consumer, ServiceProvider and Channel classes to be entirely threadsafe and reusable.
Diffstat (limited to 'src/DotNetOAuth/ServiceProvider.cs')
-rw-r--r--src/DotNetOAuth/ServiceProvider.cs15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/DotNetOAuth/ServiceProvider.cs b/src/DotNetOAuth/ServiceProvider.cs
index 778f9df..10ea5a7 100644
--- a/src/DotNetOAuth/ServiceProvider.cs
+++ b/src/DotNetOAuth/ServiceProvider.cs
@@ -53,11 +53,6 @@ namespace DotNetOAuth {
public ServiceProviderDescription Description { get; private set; }
/// <summary>
- /// Gets the pending user agent redirect based message to be sent as an HttpResponse.
- /// </summary>
- public Response PendingRequest { get; private set; }
-
- /// <summary>
/// Gets or sets the channel to use for sending/receiving messages.
/// </summary>
internal OAuthChannel Channel { get; set; }
@@ -108,12 +103,16 @@ namespace DotNetOAuth {
return this.Channel.ReadFromRequest<DirectUserToServiceProviderMessage>(request);
}
- internal void SendAuthorizationResponse(DirectUserToServiceProviderMessage request) {
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns>The pending user agent redirect based message to be sent as an HttpResponse.</returns>
+ internal Response SendAuthorizationResponse(DirectUserToServiceProviderMessage request) {
var authorization = new DirectUserToConsumerMessage(request.Callback) {
RequestToken = request.RequestToken,
};
- this.Channel.Send(authorization);
- this.PendingRequest = this.Channel.DequeueIndirectOrResponseMessage();
+ return this.Channel.Send(authorization);
}
internal RequestAccessTokenMessage ReadAccessTokenRequest() {