Skip to content

Commit 38345ef

Browse files
committed
Fix AsyncHttpClientCall#responseCallback NPE
Plus minor nits
1 parent ed1aa39 commit 38345ef

File tree

3 files changed

+19
-24
lines changed

3 files changed

+19
-24
lines changed

extras/retrofit2/src/main/java/org/asynchttpclient/extras/retrofit/AsyncHttpClientCall.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public Call clone() {
161161

162162
protected <T> T handleException(Throwable throwable, Callback responseCallback) {
163163
try {
164-
if (responseCallback == null) {
164+
if (responseCallback != null) {
165165
responseCallback.onFailure(this, toIOException(throwable));
166166
}
167167
} catch (Exception e) {

extras/retrofit2/src/test/java/org/asynchttpclient/extras/retrofit/AsyncHttpClientCallTest.java

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,11 @@
1212
*/
1313
package org.asynchttpclient.extras.retrofit;
1414

15+
import static org.asynchttpclient.extras.retrofit.AsyncHttpClientCall.*;
16+
import static org.mockito.Matchers.any;
17+
import static org.mockito.Mockito.*;
18+
import static org.testng.Assert.assertTrue;
1519
import io.netty.handler.codec.http.EmptyHttpHeaders;
16-
import lombok.extern.slf4j.Slf4j;
17-
import lombok.val;
18-
import okhttp3.Request;
19-
import org.asynchttpclient.AsyncCompletionHandler;
20-
import org.asynchttpclient.AsyncHttpClient;
21-
import org.asynchttpclient.BoundRequestBuilder;
22-
import org.asynchttpclient.Response;
23-
import org.testng.Assert;
24-
import org.testng.annotations.DataProvider;
25-
import org.testng.annotations.Test;
2620

2721
import java.io.IOException;
2822
import java.util.Arrays;
@@ -32,14 +26,17 @@
3226
import java.util.concurrent.atomic.AtomicInteger;
3327
import java.util.function.Consumer;
3428

35-
import static org.asynchttpclient.extras.retrofit.AsyncHttpClientCall.runConsumer;
36-
import static org.asynchttpclient.extras.retrofit.AsyncHttpClientCall.runConsumers;
37-
import static org.mockito.Matchers.any;
38-
import static org.mockito.Mockito.mock;
39-
import static org.mockito.Mockito.when;
40-
import static org.testng.Assert.assertTrue;
29+
import lombok.val;
30+
import okhttp3.Request;
31+
32+
import org.asynchttpclient.AsyncCompletionHandler;
33+
import org.asynchttpclient.AsyncHttpClient;
34+
import org.asynchttpclient.BoundRequestBuilder;
35+
import org.asynchttpclient.Response;
36+
import org.testng.Assert;
37+
import org.testng.annotations.DataProvider;
38+
import org.testng.annotations.Test;
4139

42-
@Slf4j
4340
public class AsyncHttpClientCallTest {
4441
static final Request REQUEST = new Request.Builder().url("http://www.google.com/").build();
4542

@@ -60,7 +57,7 @@ Object[][] dataProviderFirst() {
6057
}
6158

6259
@Test(dataProvider = "second")
63-
void shouldInvokeConsumersOnEachExecution(Consumer<AsyncCompletionHandler> handlerConsumer,
60+
void shouldInvokeConsumersOnEachExecution(Consumer<AsyncCompletionHandler<?>> handlerConsumer,
6461
int expectedStarted,
6562
int expectedOk,
6663
int expectedFailed) {
@@ -82,6 +79,7 @@ void shouldInvokeConsumersOnEachExecution(Consumer<AsyncCompletionHandler> handl
8279
when(httpClient.prepareRequest((org.asynchttpclient.RequestBuilder) any())).thenReturn(brb);
8380

8481
when(httpClient.executeRequest((org.asynchttpclient.Request) any(), any())).then(invocationOnMock -> {
82+
@SuppressWarnings("rawtypes")
8583
val handler = invocationOnMock.getArgumentAt(1, AsyncCompletionHandler.class);
8684
handlerConsumer.accept(handler);
8785
return null;
@@ -140,15 +138,13 @@ Object[][] dataProviderSecond() {
140138
when(response.getStatusText()).thenReturn("OK");
141139
when(response.getHeaders()).thenReturn(EmptyHttpHeaders.INSTANCE);
142140

143-
AsyncCompletionHandler x = null;
144-
145-
Consumer<AsyncCompletionHandler> okConsumer = handler -> {
141+
Consumer<AsyncCompletionHandler<?>> okConsumer = handler -> {
146142
try {
147143
handler.onCompleted(response);
148144
} catch (Exception e) {
149145
}
150146
};
151-
Consumer<AsyncCompletionHandler> failedConsumer = handler -> handler.onThrowable(new TimeoutException("foo"));
147+
Consumer<AsyncCompletionHandler<?>> failedConsumer = handler -> handler.onThrowable(new TimeoutException("foo"));
152148

153149
return new Object[][]{
154150
{okConsumer, 1, 1, 0},

extras/retrofit2/src/test/java/org/asynchttpclient/extras/retrofit/TestServices.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public static class Contributor implements Serializable {
3535
@NonNull
3636
String login;
3737

38-
@NonNull
3938
int contributions;
4039
}
4140

0 commit comments

Comments
 (0)