Skip to content

Commit 9900ad3

Browse files
committed
* [#1946] fix(FunctionalTest): fix call of constructor StringPart
* [#1941] chore(travis): test openjdk7 and oraclejdk8 * [#1941] chore(travis): remove test on openjdk6 * [#1941] chore(library): update to async-http-client from v1.8.14 to 1.9.31 * [#1946] chore(libraries): update from netty 3.9.4 to 3.10.4 ** remove some deprecated method call and used the new ones Conflicts: framework/build.xml framework/src/play/libs/ws/WSAsync.java
1 parent b006d7f commit 9900ad3

7 files changed

+191
-129
lines changed

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
language: java
22
jdk:
33
- openjdk7
4+
- oraclejdk8
45
script: ant -buildfile ./framework/build.xml test
56
after_failure:
67
cat ./samples-and-tests/just-test-cases/test-result/*.failed.html

framework/dependencies.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require: &allDependencies
1313
- cglib -> cglib-nodep 3.1
1414
- com.google.code.gson -> gson 2.3.1
1515
- com.jamonapi -> jamon 2.81
16-
- com.ning -> async-http-client 1.8.16
16+
- com.ning -> async-http-client 1.9.31
1717
- commons-beanutils 1.8.3
1818
- commons-codec 1.10
1919
- commons-collections 3.2.1
@@ -56,7 +56,7 @@ require: &allDependencies
5656
- org.hibernate -> hibernate-c3p0 4.2.19.Final
5757
- com.mchange -> mchange-commons-java 0.2.9
5858
- org.javassist -> javassist 3.19.0-GA
59-
- org.jboss.netty -> netty 3.9.8.Final
59+
- org.jboss.netty -> netty 3.10.4.Final
6060
- org.postgresql -> postgresql 9.0
6161
- org.slf4j -> slf4j-api 1.7.10
6262
- org.slf4j -> slf4j-log4j12 1.7.10
-523 KB
Binary file not shown.
723 KB
Binary file not shown.
Binary file not shown.

framework/src/play/libs/ws/WSAsync.java

+14-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package play.libs.ws;
22

3+
import java.nio.charset.Charset;
34
import com.ning.http.client.*;
45
import com.ning.http.client.AsyncHttpClient.BoundRequestBuilder;
56
import com.ning.http.client.AsyncHttpClientConfig.Builder;
@@ -28,6 +29,9 @@
2829
import java.net.URLDecoder;
2930
import java.net.URLEncoder;
3031
import java.util.*;
32+
import com.ning.http.client.multipart.ByteArrayPart;
33+
import com.ning.http.client.multipart.FilePart;
34+
import com.ning.http.client.multipart.Part;
3135

3236
/**
3337
* Simple HTTP client to make webservices requests.
@@ -84,7 +88,7 @@ public WSAsync() {
8488
}
8589
// when using raw urls, AHC does not encode the params in url.
8690
// this means we can/must encode it(with correct encoding) before passing it to AHC
87-
confBuilder.setUseRawUrl(true);
91+
confBuilder.setDisableUrlEncodingForBoundedRequests(true);
8892
httpClient = new AsyncHttpClient(confBuilder.build());
8993
}
9094

@@ -159,9 +163,9 @@ protected void addQueryString(BoundRequestBuilder requestBuilder) {
159163
}
160164

161165
if (value == null) {
162-
requestBuilder.addQueryParameter(URLEncoder.encode(name, encoding), null);
166+
requestBuilder.addQueryParam(URLEncoder.encode(name, encoding), null);
163167
} else {
164-
requestBuilder.addQueryParameter(URLEncoder.encode(name, encoding), URLEncoder.encode(value, encoding));
168+
requestBuilder.addQueryParam(URLEncoder.encode(name, encoding), URLEncoder.encode(value, encoding));
165169
}
166170

167171
}
@@ -367,9 +371,7 @@ private BoundRequestBuilder prepare(BoundRequestBuilder builder) {
367371
builder.addHeader(key, headers.get(key));
368372
}
369373
builder.setFollowRedirects(this.followRedirects);
370-
PerRequestConfig perRequestConfig = new PerRequestConfig();
371-
perRequestConfig.setRequestTimeoutInMs(this.timeout * 1000);
372-
builder.setPerRequestConfig(perRequestConfig);
374+
builder.setRequestTimeout(this.timeout * 1000);
373375
return builder;
374376
}
375377

@@ -404,7 +406,8 @@ private void checkFileBody(BoundRequestBuilder builder) {
404406
builder.addBodyPart(new FilePart(this.fileParams[i].paramName,
405407
this.fileParams[i].file,
406408
MimeTypes.getMimeType(this.fileParams[i].file.getName()),
407-
encoding));
409+
Charset.forName(encoding)
410+
));
408411
}
409412
if (this.parameters != null) {
410413
try {
@@ -414,11 +417,11 @@ private void checkFileBody(BoundRequestBuilder builder) {
414417
if (value instanceof Collection<?> || value.getClass().isArray()) {
415418
Collection<?> values = value.getClass().isArray() ? Arrays.asList((Object[]) value) : (Collection<?>) value;
416419
for (Object v : values) {
417-
Part part = new ByteArrayPart(key, null, v.toString().getBytes(encoding), "text/plain", encoding);
420+
Part part = new ByteArrayPart(key, v.toString().getBytes(encoding), "text/plain", Charset.forName(encoding), null);
418421
builder.addBodyPart( part );
419422
}
420423
} else {
421-
Part part = new ByteArrayPart(key, null, value.toString().getBytes(encoding), "text/plain", encoding);
424+
Part part = new ByteArrayPart(key, value.toString().getBytes(encoding), "text/plain", Charset.forName(encoding), null);
422425
builder.addBodyPart( part );
423426
}
424427
}
@@ -481,11 +484,11 @@ private void checkFileBody(BoundRequestBuilder builder) {
481484
Collection<?> values = value.getClass().isArray() ? Arrays.asList((Object[]) value) : (Collection<?>) value;
482485
for (Object v: values) {
483486
// must encode it since AHC uses raw urls
484-
builder.addQueryParameter(encode(key), encode(v.toString()));
487+
builder.addQueryParam(encode(key), encode(v.toString()));
485488
}
486489
} else {
487490
// must encode it since AHC uses raw urls
488-
builder.addQueryParameter(encode(key), encode(value.toString()));
491+
builder.addQueryParam(encode(key), encode(value.toString()));
489492
}
490493
}
491494
setResolvedContentType("text/html; charset=" + encoding);

0 commit comments

Comments
 (0)