Skip to content

Commit

Permalink
read timeouts for access token and request token calls
Browse files Browse the repository at this point in the history
  • Loading branch information
fernandezpablo85 committed Oct 10, 2012
1 parent 7b4fe73 commit 09d85d6
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java
Expand Up @@ -5,6 +5,7 @@
import org.scribe.builder.api.*;
import org.scribe.model.*;
import org.scribe.utils.*;
import java.util.concurrent.TimeUnit;

/**
* OAuth 1.0a implementation of {@link OAuthService}
Expand Down Expand Up @@ -33,7 +34,7 @@ public OAuth10aServiceImpl(DefaultApi10a api, OAuthConfig config)
/**
* {@inheritDoc}
*/
public Token getRequestToken()
public Token getRequestToken(int timeout, TimeUnit unit)
{
config.log("obtaining request token from " + api.getRequestTokenEndpoint());
OAuthRequest request = new OAuthRequest(api.getRequestTokenVerb(), api.getRequestTokenEndpoint());
Expand All @@ -44,6 +45,7 @@ public Token getRequestToken()
appendSignature(request);

config.log("sending request...");
request.setReadTimeout(timeout, unit);
Response response = request.send();
String body = response.getBody();

Expand All @@ -52,6 +54,11 @@ public Token getRequestToken()
return api.getRequestTokenExtractor().extract(body);
}

public Token getRequestToken()
{
return getRequestToken(2, TimeUnit.SECONDS);
}

private void addOAuthParams(OAuthRequest request, Token token)
{
request.addOAuthParameter(OAuthConstants.TIMESTAMP, api.getTimestampService().getTimestampInSeconds());
Expand All @@ -68,7 +75,7 @@ private void addOAuthParams(OAuthRequest request, Token token)
/**
* {@inheritDoc}
*/
public Token getAccessToken(Token requestToken, Verifier verifier)
public Token getAccessToken(Token requestToken, Verifier verifier, int timeout, TimeUnit unit)
{
config.log("obtaining access token from " + api.getAccessTokenEndpoint());
OAuthRequest request = new OAuthRequest(api.getAccessTokenVerb(), api.getAccessTokenEndpoint());
Expand All @@ -78,10 +85,16 @@ public Token getAccessToken(Token requestToken, Verifier verifier)
config.log("setting token to: " + requestToken + " and verifier to: " + verifier);
addOAuthParams(request, requestToken);
appendSignature(request);
request.setReadTimeout(timeout, unit);
Response response = request.send();
return api.getAccessTokenExtractor().extract(response.getBody());
}

public Token getAccessToken(Token requestToken, Verifier verifier)
{
return getAccessToken(requestToken, verifier, 2, TimeUnit.SECONDS);
}

/**
* {@inheritDoc}
*/
Expand Down

0 comments on commit 09d85d6

Please sign in to comment.