diff --git a/changelog.txt b/changelog.txt index e503311..14e7b55 100644 --- a/changelog.txt +++ b/changelog.txt @@ -35,3 +35,7 @@ [1.1.2] * FIX: Fixed ugly bug that made 1.1.1 practically unusable (thanks Stubbs) + +[1.1.3] + + * FEATURE: Added rawResponse to Token, for extracting additional parameters (thanks Dirk McCormick) diff --git a/src/main/java/org/scribe/extractors/TokenExtractor20Impl.java b/src/main/java/org/scribe/extractors/TokenExtractor20Impl.java index e931992..5753f98 100644 --- a/src/main/java/org/scribe/extractors/TokenExtractor20Impl.java +++ b/src/main/java/org/scribe/extractors/TokenExtractor20Impl.java @@ -26,7 +26,7 @@ public class TokenExtractor20Impl implements AccessTokenExtractor if (matcher.matches()) { String token = URLUtils.formURLDecode(matcher.group(1)); - return new Token(token, EMPTY_SECRET); + return new Token(token, EMPTY_SECRET, response); } else { diff --git a/src/main/java/org/scribe/extractors/TokenExtractorImpl.java b/src/main/java/org/scribe/extractors/TokenExtractorImpl.java index e5dac17..adc5711 100644 --- a/src/main/java/org/scribe/extractors/TokenExtractorImpl.java +++ b/src/main/java/org/scribe/extractors/TokenExtractorImpl.java @@ -29,7 +29,7 @@ public class TokenExtractorImpl implements RequestTokenExtractor, AccessTokenExt { String token = URLUtils.formURLDecode(matcher.group(1)); String secret = URLUtils.formURLDecode(matcher.group(2)); - return new Token(token, secret); + return new Token(token, secret, response); } else { diff --git a/src/main/java/org/scribe/model/Token.java b/src/main/java/org/scribe/model/Token.java index c6975ed..286fec6 100644 --- a/src/main/java/org/scribe/model/Token.java +++ b/src/main/java/org/scribe/model/Token.java @@ -13,6 +13,7 @@ public class Token implements Serializable private final String token; private final String secret; + private final String rawResponse; /** * Default constructor @@ -21,9 +22,15 @@ public class Token implements Serializable * @param secret token secret */ public Token(String token, String secret) + { + this(token, secret, null); + } + + public Token(String token, String secret, String rawResponse) { this.token = token; this.secret = secret; + this.rawResponse = rawResponse; } public String getToken() @@ -36,6 +43,15 @@ public class Token implements Serializable return secret; } + public String getRawResponse() + { + if (rawResponse == null) + { + throw new IllegalStateException("This token object was not constructed by scribe and does not have a rawResponse"); + } + return rawResponse; + } + @Override public String toString() {