diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-01-16 13:07:14 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-01-16 13:07:14 +0100 |
commit | f5ae96dcd47dddc9e393d6b0251794919888ce6f (patch) | |
tree | 630e1ea8a3cacc011e9455ced5fa374d936b8c7c | |
parent | 4a4969bb2e9f5871b78ed05377619365d35c1fd3 (diff) |
Move ProxyResponse to its own class so it can be reused
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java | 25 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java | 36 |
2 files changed, 36 insertions, 25 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java index 0f5642525d3..6549f359b29 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/LogRetriever.java @@ -4,13 +4,10 @@ package com.yahoo.vespa.config.server.http; import ai.vespa.util.http.VespaHttpClientBuilder; import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.yolean.Exceptions; -import org.apache.http.Header; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import java.io.IOException; -import java.io.OutputStream; -import java.util.Optional; import java.util.logging.Logger; /** @@ -31,26 +28,4 @@ public class LogRetriever { } } - private static class ProxyResponse extends HttpResponse { - - private final org.apache.http.HttpResponse clientResponse; - - private ProxyResponse(org.apache.http.HttpResponse clientResponse) { - super(clientResponse.getStatusLine().getStatusCode()); - this.clientResponse = clientResponse; - } - - @Override - public String getContentType() { - return Optional.ofNullable(clientResponse.getFirstHeader("Content-Type")) - .map(Header::getValue) - .orElseGet(super::getContentType); - } - - @Override - public void render(OutputStream outputStream) throws IOException { - clientResponse.getEntity().writeTo(outputStream); - } - } - } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java new file mode 100644 index 00000000000..4c310dd8a0d --- /dev/null +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/ProxyResponse.java @@ -0,0 +1,36 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.config.server.http; + +import com.yahoo.container.jdisc.HttpResponse; +import org.apache.http.Header; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Optional; + +/** + * Proxies response back to client, keeps Content-Type header if it is present + * + * @author Ola Aunrønning + */ +class ProxyResponse extends HttpResponse { + + private final org.apache.http.HttpResponse clientResponse; + + ProxyResponse(org.apache.http.HttpResponse clientResponse) { + super(clientResponse.getStatusLine().getStatusCode()); + this.clientResponse = clientResponse; + } + + @Override + public String getContentType() { + return Optional.ofNullable(clientResponse.getFirstHeader("Content-Type")) + .map(Header::getValue) + .orElseGet(super::getContentType); + } + + @Override + public void render(OutputStream outputStream) throws IOException { + clientResponse.getEntity().writeTo(outputStream); + } +} |