diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-06-11 14:34:19 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-06-11 14:34:19 +0200 |
commit | 70b8ff8959fb63190b40f6d2ca98519fcd90c5ba (patch) | |
tree | c9184758ad234e46d86c2afa5c327d0502d0772a /vespa-feed-client | |
parent | 0d245d9e0f7225322aca782726fcbb641d9c3628 (diff) |
Set headers from original request
Diffstat (limited to 'vespa-feed-client')
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java index 06bd22a1b2e..dc889d29d36 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/JettyCluster.java @@ -3,6 +3,7 @@ package ai.vespa.feed.client; import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClientTransport; +import org.eclipse.jetty.client.api.Request; import org.eclipse.jetty.client.api.Result; import org.eclipse.jetty.client.util.BufferingResponseListener; import org.eclipse.jetty.client.util.BytesContentProvider; @@ -71,19 +72,20 @@ class JettyCluster implements Cluster { Endpoint endpoint = endpoints.get(index); endpoint.inflight.incrementAndGet(); try { - endpoint.client.newRequest(endpoint.uri.resolve(request.path())) - .method(request.method()) - .timeout(5, TimeUnit.MINUTES) - .content(request.body() == null ? null : new BytesContentProvider(request.body())) - .send(new BufferingResponseListener() { - @Override public void onComplete(Result result) { - if (result.isSucceeded()) - vessel.complete(HttpResponse.of(result.getResponse().getStatus(), - getContent())); - else - vessel.completeExceptionally(result.getFailure()); - } - }); + Request jettyRequest = endpoint.client.newRequest(endpoint.uri.resolve(request.path())) + .method(request.method()) + .timeout(5, TimeUnit.MINUTES) + .content(request.body() == null ? null : new BytesContentProvider("application/json", request.body())); + request.headers().forEach((name, value) -> jettyRequest.header(name, value.get())); + jettyRequest.send(new BufferingResponseListener() { + @Override public void onComplete(Result result) { + if (result.isSucceeded()) + vessel.complete(HttpResponse.of(result.getResponse().getStatus(), + getContent())); + else + vessel.completeExceptionally(result.getFailure()); + } + }); } catch (Throwable thrown) { vessel.completeExceptionally(thrown); |