@@ -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 );
0 commit comments