diff options
author | jonmv <venstad@gmail.com> | 2022-05-04 16:22:07 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-05-04 16:22:07 +0200 |
commit | 61a0389206fbcb69ce9ede121f9f0b30283495bc (patch) | |
tree | 2e856752808b97592a09c6d278246d90b499ad52 /tenant-cd-api | |
parent | 4204e6ea8a1f133dce2ac9d7265c45e5d4c84395 (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.java | 7 |
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(); } + } |