diff options
author | Bjørn Christian Seime <bjorn.christian@seime.no> | 2018-01-12 10:05:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-12 10:05:32 +0100 |
commit | 969ce8d9b62d26529e121600b141cdde41c22696 (patch) | |
tree | 3738a04d09bd8e6d9e6e9dd9a6eaf59f826be2e7 /controller-server | |
parent | 87d6777412738c155bb776b1be257e53dc7137e7 (diff) | |
parent | 742eeaf30b7e1ee69fed0b7cc269bd9880c553be (diff) |
Merge pull request #4637 from vespa-engine/freva/zone-v2-copy-method-override-header
ZoneV2 copy method override header
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java index 379e5c10847..b16fe7943ba 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java @@ -38,7 +38,7 @@ import java.nio.charset.StandardCharsets; import java.security.cert.X509Certificate; import java.time.Duration; import java.util.ArrayList; -import java.util.HashSet; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Optional; @@ -54,6 +54,7 @@ import static java.util.Collections.singleton; public class ConfigServerRestExecutorImpl implements ConfigServerRestExecutor { private static final Duration PROXY_REQUEST_TIMEOUT = Duration.ofSeconds(10); + private static final Set<String> HEADERS_TO_COPY = Collections.singleton("X-HTTP-Method-Override"); private final ZoneRegistry zoneRegistry; private final AthenzSslContextProvider sslContextProvider; @@ -125,7 +126,7 @@ public class ConfigServerRestExecutorImpl implements ConfigServerRestExecutor { final HttpRequestBase requestBase = createHttpBaseRequest( proxyRequest.getMethod(), fullUri, proxyRequest.getData()); // Empty list of headers to copy for now, add headers when needed, or rewrite logic. - copyHeaders(proxyRequest.getHeaders(), requestBase, new HashSet<>()); + copyHeaders(proxyRequest.getHeaders(), requestBase); RequestConfig config = RequestConfig.custom() .setConnectTimeout((int) PROXY_REQUEST_TIMEOUT.toMillis()) @@ -193,10 +194,10 @@ public class ConfigServerRestExecutorImpl implements ConfigServerRestExecutor { } } - private void copyHeaders(Map<String, List<String>> headers, HttpRequestBase toRequest, Set<String> headersToCopy) { + private static void copyHeaders(Map<String, List<String>> headers, HttpRequestBase toRequest) { for (Map.Entry<String, List<String>> headerEntry : headers.entrySet()) { - for (String value : headerEntry.getValue()) { - if (headersToCopy.contains(value)) { + if (HEADERS_TO_COPY.contains(headerEntry.getKey())) { + for (String value : headerEntry.getValue()) { toRequest.addHeader(headerEntry.getKey(), value); } } |