summaryrefslogtreecommitdiffstats
path: root/vespa-feed-client
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-06-11 14:34:19 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-06-11 14:34:19 +0200
commit70b8ff8959fb63190b40f6d2ca98519fcd90c5ba (patch)
treec9184758ad234e46d86c2afa5c327d0502d0772a /vespa-feed-client
parent0d245d9e0f7225322aca782726fcbb641d9c3628 (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.java28
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);