Skip to content

Commit bfa0109

Browse files
committed
Remove OAuthRequestAsync, just OAuthRequest. Request should not know anything about sync vs async
1 parent c9bb1a1 commit bfa0109

File tree

37 files changed

+694
-685
lines changed

37 files changed

+694
-685
lines changed

changelog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
[SNAPSHOT]
2+
* Remove OAuthRequestAsync, just OAuthRequest. Request should know about sync vs async
3+
14
[3.4.1]
25
* Drop deprecated methods
36
* Move doktornarabote.ru urls to https (thanks to https://github.com/ezibrov)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.github.scribejava.apis.service;
22

33
import com.github.scribejava.core.builder.api.DefaultApi20;
4-
import com.github.scribejava.core.model.AbstractRequest;
54
import com.github.scribejava.core.model.OAuth2AccessToken;
65
import com.github.scribejava.core.model.OAuthConfig;
6+
import com.github.scribejava.core.model.OAuthRequest;
77
import com.github.scribejava.core.oauth.OAuth20Service;
88

99
public class DoktornaraboteOAuthServiceImpl extends OAuth20Service {
@@ -13,7 +13,7 @@ public DoktornaraboteOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1313
}
1414

1515
@Override
16-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
16+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
1717
request.addHeader("Authorization", "Bearer " + accessToken.getAccessToken());
1818
}
1919
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.github.scribejava.apis.service;
22

33
import com.github.scribejava.core.builder.api.DefaultApi20;
4-
import com.github.scribejava.core.model.AbstractRequest;
54
import com.github.scribejava.core.model.OAuth2AccessToken;
65
import com.github.scribejava.core.model.OAuthConfig;
6+
import com.github.scribejava.core.model.OAuthRequest;
77
import com.github.scribejava.core.oauth.OAuth20Service;
88

99
public class GeniusOAuthServiceImpl extends OAuth20Service {
@@ -13,7 +13,7 @@ public GeniusOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1313
}
1414

1515
@Override
16-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
16+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
1717
request.addHeader("Authorization", "Bearer " + accessToken.getAccessToken());
1818
}
1919
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.github.scribejava.apis.service;
22

33
import com.github.scribejava.core.builder.api.DefaultApi20;
4-
import com.github.scribejava.core.model.AbstractRequest;
54
import com.github.scribejava.core.model.OAuth2AccessToken;
65
import com.github.scribejava.core.model.OAuthConfig;
6+
import com.github.scribejava.core.model.OAuthRequest;
77
import com.github.scribejava.core.oauth.OAuth20Service;
88

99
public class HHOAuthServiceImpl extends OAuth20Service {
@@ -13,7 +13,7 @@ public HHOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1313
}
1414

1515
@Override
16-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
16+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
1717
request.addHeader("Authorization", "Bearer " + accessToken.getAccessToken());
1818
}
1919
}

scribejava-apis/src/main/java/com/github/scribejava/apis/service/ImgurOAuthServiceImpl.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import com.github.scribejava.apis.ImgurApi;
44
import com.github.scribejava.core.builder.api.DefaultApi20;
5-
import com.github.scribejava.core.model.AbstractRequest;
65
import com.github.scribejava.core.model.OAuth2AccessToken;
76
import com.github.scribejava.core.model.OAuthConfig;
87
import com.github.scribejava.core.model.OAuthConstants;
8+
import com.github.scribejava.core.model.OAuthRequest;
99
import com.github.scribejava.core.oauth.OAuth20Service;
1010

1111
public class ImgurOAuthServiceImpl extends OAuth20Service {
@@ -15,7 +15,9 @@ public ImgurOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1515
}
1616

1717
@Override
18-
protected <T extends AbstractRequest> T createAccessTokenRequest(String oauthVerifier, T request) {
18+
protected OAuthRequest createAccessTokenRequest(String oauthVerifier) {
19+
final DefaultApi20 api = getApi();
20+
final OAuthRequest request = new OAuthRequest(api.getAccessTokenVerb(), api.getAccessTokenEndpoint());
1921
final OAuthConfig config = getConfig();
2022
request.addBodyParameter(OAuthConstants.CLIENT_ID, config.getApiKey());
2123
request.addBodyParameter(OAuthConstants.CLIENT_SECRET, config.getApiSecret());
@@ -31,7 +33,7 @@ protected <T extends AbstractRequest> T createAccessTokenRequest(String oauthVer
3133
}
3234

3335
@Override
34-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
36+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
3537
request.addHeader("Authorization",
3638
accessToken == null
3739
? "Client-ID " + getConfig().getApiKey() : "Bearer " + accessToken.getAccessToken());
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.github.scribejava.apis.service;
22

33
import com.github.scribejava.core.builder.api.DefaultApi20;
4-
import com.github.scribejava.core.model.AbstractRequest;
54
import com.github.scribejava.core.model.OAuth2AccessToken;
65
import com.github.scribejava.core.model.OAuthConfig;
6+
import com.github.scribejava.core.model.OAuthRequest;
77
import com.github.scribejava.core.oauth.OAuth20Service;
88

99
public class LinkedIn20ServiceImpl extends OAuth20Service {
@@ -13,7 +13,7 @@ public LinkedIn20ServiceImpl(DefaultApi20 api, OAuthConfig config) {
1313
}
1414

1515
@Override
16-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
16+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
1717
request.addQuerystringParameter("oauth2_access_token", accessToken.getAccessToken());
1818
}
1919
}

scribejava-apis/src/main/java/com/github/scribejava/apis/service/MailruOAuthServiceImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import org.apache.commons.codec.CharEncoding;
88
import static org.apache.commons.codec.digest.DigestUtils.md5Hex;
99
import com.github.scribejava.core.builder.api.DefaultApi20;
10-
import com.github.scribejava.core.model.AbstractRequest;
1110
import com.github.scribejava.core.model.OAuth2AccessToken;
1211
import com.github.scribejava.core.model.OAuthConfig;
12+
import com.github.scribejava.core.model.OAuthRequest;
1313
import com.github.scribejava.core.oauth.OAuth20Service;
1414

1515
public class MailruOAuthServiceImpl extends OAuth20Service {
@@ -19,7 +19,7 @@ public MailruOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1919
}
2020

2121
@Override
22-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
22+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
2323
// sig = md5(params + secret_key)
2424
request.addQuerystringParameter("session_key", accessToken.getAccessToken());
2525
request.addQuerystringParameter("app_id", getConfig().getApiKey());

scribejava-apis/src/main/java/com/github/scribejava/apis/service/OdnoklassnikiServiceImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import org.apache.commons.codec.CharEncoding;
66
import static org.apache.commons.codec.digest.DigestUtils.md5Hex;
77
import com.github.scribejava.core.builder.api.DefaultApi20;
8-
import com.github.scribejava.core.model.AbstractRequest;
98
import com.github.scribejava.core.model.OAuth2AccessToken;
109
import com.github.scribejava.core.model.OAuthConfig;
10+
import com.github.scribejava.core.model.OAuthRequest;
1111
import com.github.scribejava.core.oauth.OAuth20Service;
1212
import java.util.Arrays;
1313

@@ -18,7 +18,7 @@ public OdnoklassnikiServiceImpl(DefaultApi20 api, OAuthConfig config) {
1818
}
1919

2020
@Override
21-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
21+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
2222
//sig = lower(md5( sorted_request_params_composed_string + md5(access_token + application_secret_key)))
2323
try {
2424
final String tokenDigest = md5Hex(accessToken.getAccessToken() + getConfig().getApiSecret());
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.github.scribejava.apis.service;
22

33
import com.github.scribejava.core.builder.api.DefaultApi20;
4-
import com.github.scribejava.core.model.AbstractRequest;
54
import com.github.scribejava.core.model.OAuth2AccessToken;
65
import com.github.scribejava.core.model.OAuthConfig;
76
import com.github.scribejava.core.model.OAuthConstants;
7+
import com.github.scribejava.core.model.OAuthRequest;
88
import com.github.scribejava.core.oauth.OAuth20Service;
99

1010
public class TutByOAuthServiceImpl extends OAuth20Service {
@@ -14,7 +14,7 @@ public TutByOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
1414
}
1515

1616
@Override
17-
public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
17+
public void signRequest(OAuth2AccessToken accessToken, OAuthRequest request) {
1818
request.addQuerystringParameter(OAuthConstants.TOKEN, accessToken.getAccessToken());
1919
}
2020
}

scribejava-apis/src/test/java/com/github/scribejava/apis/examples/FacebookAsyncNingExample.java

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.github.scribejava.apis.FacebookApi;
99
import com.github.scribejava.core.builder.ServiceBuilder;
1010
import com.github.scribejava.core.model.OAuth2AccessToken;
11-
import com.github.scribejava.core.model.OAuthRequestAsync;
11+
import com.github.scribejava.core.model.OAuthRequest;
1212
import com.github.scribejava.core.model.Response;
1313
import com.github.scribejava.core.model.Verb;
1414
import com.github.scribejava.core.oauth.OAuth20Service;
@@ -35,62 +35,62 @@ public static void main(String... args) throws InterruptedException, ExecutionEx
3535
.setReadTimeout(1_000)
3636
.build());
3737

38-
final OAuth20Service service = new ServiceBuilder()
38+
try (OAuth20Service service = new ServiceBuilder()
3939
.apiKey(clientId)
4040
.apiSecret(clientSecret)
4141
.state(secretState)
4242
.callback("http://www.example.com/oauth_callback/")
4343
.httpClientConfig(clientConfig)
44-
.build(FacebookApi.instance());
44+
.build(FacebookApi.instance())) {
45+
final Scanner in = new Scanner(System.in, "UTF-8");
4546

46-
final Scanner in = new Scanner(System.in, "UTF-8");
47+
System.out.println("=== " + NETWORK_NAME + "'s Async OAuth Workflow ===");
48+
System.out.println();
4749

48-
System.out.println("=== " + NETWORK_NAME + "'s Async OAuth Workflow ===");
49-
System.out.println();
50+
// Obtain the Authorization URL
51+
System.out.println("Fetching the Authorization URL...");
52+
final String authorizationUrl = service.getAuthorizationUrl();
53+
System.out.println("Got the Authorization URL!");
54+
System.out.println("Now go and authorize ScribeJava here:");
55+
System.out.println(authorizationUrl);
56+
System.out.println("And paste the authorization code here");
57+
System.out.print(">>");
58+
final String code = in.nextLine();
59+
System.out.println();
5060

51-
// Obtain the Authorization URL
52-
System.out.println("Fetching the Authorization URL...");
53-
final String authorizationUrl = service.getAuthorizationUrl();
54-
System.out.println("Got the Authorization URL!");
55-
System.out.println("Now go and authorize ScribeJava here:");
56-
System.out.println(authorizationUrl);
57-
System.out.println("And paste the authorization code here");
58-
System.out.print(">>");
59-
final String code = in.nextLine();
60-
System.out.println();
61+
System.out.println("And paste the state from server here. We have set 'secretState'='"
62+
+ secretState + "'.");
63+
System.out.print(">>");
64+
final String value = in.nextLine();
65+
if (secretState.equals(value)) {
66+
System.out.println("State value does match!");
67+
} else {
68+
System.out.println("Ooops, state value does not match!");
69+
System.out.println("Expected = " + secretState);
70+
System.out.println("Got = " + value);
71+
System.out.println();
72+
}
6173

62-
System.out.println("And paste the state from server here. We have set 'secretState'='" + secretState + "'.");
63-
System.out.print(">>");
64-
final String value = in.nextLine();
65-
if (secretState.equals(value)) {
66-
System.out.println("State value does match!");
67-
} else {
68-
System.out.println("Ooops, state value does not match!");
69-
System.out.println("Expected = " + secretState);
70-
System.out.println("Got = " + value);
74+
// Trade the Request Token and Verfier for the Access Token
75+
System.out.println("Trading the Request Token for an Access Token...");
76+
final OAuth2AccessToken accessToken = service.getAccessTokenAsync(code, null).get();
77+
System.out.println("Got the Access Token!");
78+
System.out.println("(if your curious it looks like this: " + accessToken
79+
+ ", 'rawResponse'='" + accessToken.getRawResponse() + "')");
7180
System.out.println();
72-
}
73-
74-
// Trade the Request Token and Verfier for the Access Token
75-
System.out.println("Trading the Request Token for an Access Token...");
76-
final OAuth2AccessToken accessToken = service.getAccessTokenAsync(code, null).get();
77-
System.out.println("Got the Access Token!");
78-
System.out.println("(if your curious it looks like this: " + accessToken
79-
+ ", 'rawResponse'='" + accessToken.getRawResponse() + "')");
80-
System.out.println();
8181

82-
// Now let's go and ask for a protected resource!
83-
System.out.println("Now we're going to access a protected resource...");
84-
final OAuthRequestAsync request = new OAuthRequestAsync(Verb.GET, PROTECTED_RESOURCE_URL);
85-
service.signRequest(accessToken, request);
86-
final Response response = service.execute(request, null).get();
87-
System.out.println("Got it! Lets see what we found...");
88-
System.out.println();
89-
System.out.println(response.getCode());
90-
System.out.println(response.getBody());
82+
// Now let's go and ask for a protected resource!
83+
System.out.println("Now we're going to access a protected resource...");
84+
final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
85+
service.signRequest(accessToken, request);
86+
final Response response = service.execute(request, null).get();
87+
System.out.println("Got it! Lets see what we found...");
88+
System.out.println();
89+
System.out.println(response.getCode());
90+
System.out.println(response.getBody());
9191

92-
System.out.println();
93-
System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
94-
service.closeAsyncClient();
92+
System.out.println();
93+
System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
94+
}
9595
}
9696
}

0 commit comments

Comments
 (0)