Skip to content

Commit c38b291

Browse files
committed
Merge pull request cloudbees-oss#41 from johnou/http_client_upgrade
Allow users to specify async-http-client version (1.9.3 compatible).
2 parents b52a150 + 7a5f3d2 commit c38b291

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@
2727
<artifactId>zendesk-java-client</artifactId>
2828
<version>0.2.5-SNAPSHOT</version>
2929

30+
<properties>
31+
<async-http-client.version>1.7.12</async-http-client.version>
32+
</properties>
33+
3034
<name>zendesk-java-client</name>
3135
<description>Java client for the Zendesk API</description>
3236
<url>https://github.com/cloudbees/zendesk-java-client</url>
@@ -71,7 +75,7 @@
7175
<dependency>
7276
<groupId>com.ning</groupId>
7377
<artifactId>async-http-client</artifactId>
74-
<version>1.7.12</version>
78+
<version>${async-http-client.version}</version>
7579
</dependency>
7680
<dependency>
7781
<groupId>com.fasterxml.jackson.core</groupId>

src/main/java/org/zendesk/client/v2/Zendesk.java

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,7 +1102,7 @@ private byte[] json(Object object) {
11021102
}
11031103
}
11041104

1105-
private <T> ListenableFuture<T> submit(Request request, AsyncCompletionHandler<T> handler) {
1105+
private <T> ListenableFuture<T> submit(Request request, ZendeskAsyncCompletionHandler<T> handler) {
11061106
try {
11071107
if (request.getStringData() != null) {
11081108
logger.debug("Request {} {}\n{}", request.getMethod(), request.getUrl(), request.getStringData());
@@ -1113,8 +1113,19 @@ private <T> ListenableFuture<T> submit(Request request, AsyncCompletionHandler<T
11131113
logger.debug("Request {} {}", request.getMethod(), request.getUrl());
11141114
}
11151115
return client.executeRequest(request, handler);
1116-
} catch (IOException e) {
1117-
throw new ZendeskException(e.getMessage(), e);
1116+
} catch (Throwable t) {
1117+
throw new ZendeskException(t);
1118+
}
1119+
}
1120+
1121+
private static abstract class ZendeskAsyncCompletionHandler<T> extends AsyncCompletionHandler<T> {
1122+
@Override
1123+
public void onThrowable(Throwable t) {
1124+
if (t instanceof IOException) {
1125+
throw new ZendeskException(t);
1126+
} else {
1127+
super.onThrowable(t);
1128+
}
11181129
}
11191130
}
11201131

@@ -1148,8 +1159,8 @@ private Request req(String method, Uri template, String contentType, byte[] body
11481159
return builder.build();
11491160
}
11501161

1151-
protected AsyncCompletionHandler<Void> handleStatus() {
1152-
return new AsyncCompletionHandler<Void>() {
1162+
protected ZendeskAsyncCompletionHandler<Void> handleStatus() {
1163+
return new ZendeskAsyncCompletionHandler<Void>() {
11531164
@Override
11541165
public Void onCompleted(Response response) throws Exception {
11551166
logResponse(response);
@@ -1162,8 +1173,8 @@ public Void onCompleted(Response response) throws Exception {
11621173
}
11631174

11641175
@SuppressWarnings("unchecked")
1165-
protected <T> AsyncCompletionHandler<T> handle(final Class<T> clazz) {
1166-
return new AsyncCompletionHandler<T>() {
1176+
protected <T> ZendeskAsyncCompletionHandler<T> handle(final Class<T> clazz) {
1177+
return new ZendeskAsyncCompletionHandler<T>() {
11671178
@Override
11681179
public T onCompleted(Response response) throws Exception {
11691180
logResponse(response);
@@ -1178,8 +1189,8 @@ public T onCompleted(Response response) throws Exception {
11781189
};
11791190
}
11801191

1181-
protected <T> AsyncCompletionHandler<T> handle(final Class<T> clazz, final String name) {
1182-
return new AsyncCompletionHandler<T>() {
1192+
protected <T> ZendeskAsyncCompletionHandler<T> handle(final Class<T> clazz, final String name) {
1193+
return new ZendeskAsyncCompletionHandler<T>() {
11831194
@Override
11841195
public T onCompleted(Response response) throws Exception {
11851196
logResponse(response);
@@ -1196,7 +1207,7 @@ public T onCompleted(Response response) throws Exception {
11961207

11971208
private static final String NEXT_PAGE = "next_page";
11981209

1199-
private abstract class PagedAsyncCompletionHandler<T> extends AsyncCompletionHandler<T> {
1210+
private abstract class PagedAsyncCompletionHandler<T> extends ZendeskAsyncCompletionHandler<T> {
12001211
private String nextPage;
12011212

12021213
public void setPagedProperties(JsonNode responseNode, Class<?> clazz) {
@@ -1215,7 +1226,6 @@ public String getNextPage() {
12151226

12161227
protected <T> PagedAsyncCompletionHandler<List<T>> handleList(final Class<T> clazz, final String name) {
12171228
return new PagedAsyncCompletionHandler<List<T>>() {
1218-
12191229
@Override
12201230
public List<T> onCompleted(Response response) throws Exception {
12211231
logResponse(response);
@@ -1235,7 +1245,6 @@ public List<T> onCompleted(Response response) throws Exception {
12351245

12361246
protected PagedAsyncCompletionHandler<List<SearchResultEntity>> handleSearchList(final String name) {
12371247
return new PagedAsyncCompletionHandler<List<SearchResultEntity>>() {
1238-
12391248
@Override
12401249
public List<SearchResultEntity> onCompleted(Response response) throws Exception {
12411250
logResponse(response);
@@ -1258,7 +1267,6 @@ public List<SearchResultEntity> onCompleted(Response response) throws Exception
12581267

12591268
protected PagedAsyncCompletionHandler<List<Target>> handleTargetList(final String name) {
12601269
return new PagedAsyncCompletionHandler<List<Target>>() {
1261-
12621270
@Override
12631271
public List<Target> onCompleted(Response response) throws Exception {
12641272
logResponse(response);

0 commit comments

Comments
 (0)