setHeaders(..) 추가

master
mjkhan21 9 months ago
parent fd2c935ae1
commit cf152acf1b

@ -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);
}

Loading…
Cancel
Save