summaryrefslogtreecommitdiffstats
path: root/tenant-cd-api
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-05-04 16:22:07 +0200
committerjonmv <venstad@gmail.com>2022-05-04 16:22:07 +0200
commit61a0389206fbcb69ce9ede121f9f0b30283495bc (patch)
tree2e856752808b97592a09c6d278246d90b499ad52 /tenant-cd-api
parent4204e6ea8a1f133dce2ac9d7265c45e5d4c84395 (diff)
Avoid building request unless needed
Diffstat (limited to 'tenant-cd-api')
-rw-r--r--tenant-cd-api/src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java
index 8985375fce2..efc80ab0d33 100644
--- a/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java
+++ b/tenant-cd-api/src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java
@@ -29,8 +29,12 @@ public interface EndpointAuthenticator {
/** Adds necessary authentication data to the given HTTP request builder, to pass the data plane of a Vespa endpoint. */
default HttpRequest.Builder authenticated(HttpRequest.Builder request) {
+ Map<String, String> authorizationHeaders = authorizationHeaders();
+ if (authorizationHeaders.isEmpty())
+ return request;
+
Map<String, List<String>> headers = request.build().headers().map();
- authorizationHeaders().forEach((name, value) -> {
+ authorizationHeaders.forEach((name, value) -> {
if ( ! headers.containsKey(name))
request.setHeader(name, value);
});
@@ -40,4 +44,5 @@ public interface EndpointAuthenticator {
default Map<String, String> authorizationHeaders() {
return Map.of();
}
+
}