From 61a0389206fbcb69ce9ede121f9f0b30283495bc Mon Sep 17 00:00:00 2001 From: jonmv Date: Wed, 4 May 2022 16:22:07 +0200 Subject: Avoid building request unless needed --- .../src/main/java/ai/vespa/hosted/cd/EndpointAuthenticator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tenant-cd-api') 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 authorizationHeaders = authorizationHeaders(); + if (authorizationHeaders.isEmpty()) + return request; + Map> 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 authorizationHeaders() { return Map.of(); } + } -- cgit v1.2.3