Skip to content

Commit 5ee2173

Browse files
author
Stephan
committed
Added tests for JDKHttpClient, fixed bug
1 parent f296c75 commit 5ee2173

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

scribejava-core/src/main/java/com/github/scribejava/core/httpclient/jdk/JDKHttpClient.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,13 @@ public void close() throws IOException {
3333
public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers, Verb httpVerb, String completeUrl,
3434
byte[] bodyContents, OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
3535
try {
36-
final T response = converter.convert(execute(userAgent, headers, httpVerb, completeUrl, bodyContents));
37-
callback.onCompleted(response);
38-
return new JDKHttpFuture<>(response);
36+
final Response response = execute(userAgent, headers, httpVerb, completeUrl, bodyContents);
37+
@SuppressWarnings("unchecked")
38+
final T t = converter == null ? (T) response : converter.convert(response);
39+
if (callback != null) {
40+
callback.onCompleted(t);
41+
}
42+
return new JDKHttpFuture<>(t);
3943
} catch (InterruptedException | ExecutionException | IOException e) {
4044
callback.onThrowable(e);
4145
return new JDKHttpFuture<>(e);
@@ -46,11 +50,13 @@ public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers,
4650
public <T> Future<T> executeAsync(String userAgent, Map<String, String> headers, Verb httpVerb, String completeUrl,
4751
String bodyContents, OAuthAsyncRequestCallback<T> callback, OAuthRequest.ResponseConverter<T> converter) {
4852
try {
49-
final T response = converter.convert(execute(userAgent, headers, httpVerb, completeUrl, bodyContents));
53+
final Response response = execute(userAgent, headers, httpVerb, completeUrl, bodyContents);
54+
@SuppressWarnings("unchecked")
55+
final T t = converter == null ? (T) response : converter.convert(response);
5056
if (callback != null) {
51-
callback.onCompleted(response);
57+
callback.onCompleted(t);
5258
}
53-
return new JDKHttpFuture<>(response);
59+
return new JDKHttpFuture<>(t);
5460
} catch (InterruptedException | ExecutionException | IOException e) {
5561
if (callback != null) {
5662
callback.onThrowable(e);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.github.scribejava.core.httpclient.jdk;
2+
3+
import com.github.scribejava.core.AbstractClientTest;
4+
import com.github.scribejava.core.httpclient.HttpClient;
5+
6+
public class JDKHttpClientTest extends AbstractClientTest {
7+
8+
@Override
9+
protected HttpClient createNewClient() {
10+
return new JDKHttpClient(JDKHttpClientConfig.defaultConfig());
11+
}
12+
}

0 commit comments

Comments
 (0)