|
|
|
|
@ -227,14 +227,17 @@ public class WebClient extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
private <T> HttpResponse<T> handleRequest(boolean async, HttpRequest hreq, HttpResponse.BodyHandler<T> bodyHandler, Consumer<HttpResponse<T>> respHandler) throws Exception {
|
|
|
|
|
log().debug("Sending request:\n{} {}", hreq.method(), hreq.uri());
|
|
|
|
|
|
|
|
|
|
if (!async) {
|
|
|
|
|
HttpResponse<T> resp = client().send(hreq, bodyHandler);
|
|
|
|
|
log().debug("{} response received", resp.statusCode());
|
|
|
|
|
resp.headers().map().forEach((k, v) -> log().debug("{} = {}", k, v));
|
|
|
|
|
return resp;
|
|
|
|
|
} else {
|
|
|
|
|
CompletableFuture<HttpResponse<T>> future = client().sendAsync(hreq, bodyHandler);
|
|
|
|
|
future.thenApply(resp -> {
|
|
|
|
|
log().debug("{} response received", resp.statusCode());
|
|
|
|
|
resp.headers().map().forEach((k, v) -> log().debug("{} = {}", k, v));
|
|
|
|
|
respHandler.accept(resp);
|
|
|
|
|
return resp;
|
|
|
|
|
});
|
|
|
|
|
@ -559,12 +562,20 @@ public class WebClient extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
HttpRequest.Builder builder = HttpRequest.newBuilder(URI.create(uri + queryString))
|
|
|
|
|
.GET();
|
|
|
|
|
if (headers != null)
|
|
|
|
|
headers.forEach((k, v) -> builder.header(k, v));
|
|
|
|
|
setHeaders(builder);
|
|
|
|
|
|
|
|
|
|
return builder.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setHeaders(HttpRequest.Builder builder) {
|
|
|
|
|
if (isEmpty(headers)) return;
|
|
|
|
|
|
|
|
|
|
headers.forEach((k, v) -> {
|
|
|
|
|
builder.header(k, v);
|
|
|
|
|
log(Request.class).debug("{} = {}", k, v);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getParams() {
|
|
|
|
|
if (keyValues == null) return "";
|
|
|
|
|
|
|
|
|
|
@ -593,11 +604,9 @@ public class WebClient extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
HttpRequest post() {
|
|
|
|
|
try {
|
|
|
|
|
HttpRequest.Builder builder = HttpRequest.newBuilder(URI.create(uri));
|
|
|
|
|
builder.POST(bodyPublisher(contentType()));
|
|
|
|
|
|
|
|
|
|
if (headers != null)
|
|
|
|
|
headers.forEach((k, v) -> builder.header(k, v));
|
|
|
|
|
HttpRequest.Builder builder = HttpRequest.newBuilder(URI.create(uri))
|
|
|
|
|
.POST(bodyPublisher(contentType()));
|
|
|
|
|
setHeaders(builder);
|
|
|
|
|
|
|
|
|
|
return builder.build();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
@ -640,7 +649,6 @@ public class WebClient extends AbstractComponent {
|
|
|
|
|
}
|
|
|
|
|
byteList.add(line("--" + boundary + "--"));
|
|
|
|
|
byteList.add(line(""));
|
|
|
|
|
// byteList.forEach(bytes -> System.out.print(new String(bytes)));
|
|
|
|
|
|
|
|
|
|
return BodyPublishers.ofByteArrays(byteList);
|
|
|
|
|
}
|
|
|
|
|
|