summaryrefslogtreecommitdiffstats
path: root/clustercontroller-apputil/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-12-01 14:13:13 +0100
committerHarald Musum <musum@verizonmedia.com>2020-12-01 14:13:13 +0100
commit9c3c3967f9574c08da66b5d2bea26e6c298f0546 (patch)
tree32fcd726dad3c760c658852f6790857ad1c57027 /clustercontroller-apputil/src/main/java/com/yahoo
parent008477111ac92e2eec81596a5037a205bbea53ff (diff)
Move code in clustercontroller-apputils into clustercontroller-apps
Code in clustercontroller-apputils is now only used from clustercontroller-apps, so those two modules can be merged
Diffstat (limited to 'clustercontroller-apputil/src/main/java/com/yahoo')
-rw-r--r--clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscHttpRequestHandler.java128
-rw-r--r--clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscMetricWrapper.java52
-rw-r--r--clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/package-info.java5
3 files changed, 0 insertions, 185 deletions
diff --git a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscHttpRequestHandler.java b/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscHttpRequestHandler.java
deleted file mode 100644
index f518fe23fe6..00000000000
--- a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscHttpRequestHandler.java
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.clustercontroller.apputil.communication.http;
-
-import com.yahoo.container.jdisc.LoggingRequestHandler;
-import com.yahoo.jdisc.HeaderFields;
-import com.yahoo.jdisc.Response;
-import com.yahoo.jdisc.handler.CompletionHandler;
-import com.yahoo.text.Utf8;
-import com.yahoo.vespa.clustercontroller.utils.communication.http.HttpRequest;
-import com.yahoo.vespa.clustercontroller.utils.communication.http.HttpRequestHandler;
-import com.yahoo.vespa.clustercontroller.utils.communication.http.HttpResult;
-
-import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.time.Duration;
-import java.util.logging.Logger;
-
-/**
- * Note. This class is tested through apache http instance test, using this as other endpoint.
- *
- * @author Haakon Humberset
- * @author Harald Musum
- * @author Vegard Sjonfjell
- */
-public class JDiscHttpRequestHandler extends LoggingRequestHandler {
-
- private static final Logger log = Logger.getLogger(JDiscHttpRequestHandler.class.getName());
- private final HttpRequestHandler requestHandler;
-
- public JDiscHttpRequestHandler(HttpRequestHandler handler, LoggingRequestHandler.Context parentCtx) {
- super(parentCtx);
- this.requestHandler = handler;
- }
-
- static class EmptyCompletionHandler implements CompletionHandler {
- @Override
- public void completed() { }
- @Override
- public void failed(Throwable throwable) { }
- }
-
- @Override
- public com.yahoo.container.jdisc.HttpResponse handle(com.yahoo.container.jdisc.HttpRequest request) {
- final HttpRequest legacyRequest = new HttpRequest();
- final com.yahoo.jdisc.http.HttpRequest jDiscRequest = request.getJDiscRequest();
-
- legacyRequest.setScheme(request.getUri().getScheme());
- legacyRequest.setHost(request.getUri().getHost());
- setOperation(legacyRequest, request.getMethod());
- legacyRequest.setPort(request.getUri().getPort());
- legacyRequest.setPath(request.getUri().getPath());
- copyPostData(request, legacyRequest);
- copyRequestHeaders(legacyRequest, jDiscRequest);
- copyParameters(legacyRequest, jDiscRequest);
- legacyRequest.setTimeout(Duration.ofMinutes(60).toMillis());
-
- try {
- final HttpResult result = requestHandler.handleRequest(legacyRequest);
- log.fine("Got result " + result.toString(true));
- return copyResponse(result);
- } catch (Exception e) {
- log.warning("Caught exception while handling request: " + e.getMessage());
- return new com.yahoo.container.jdisc.HttpResponse(500) {
- @Override
- public void render(OutputStream outputStream) throws IOException {
- outputStream.write(Utf8.toBytes(e.getMessage()));
- }
- };
- }
- }
-
- static HttpRequest setOperation(HttpRequest request, com.yahoo.jdisc.http.HttpRequest.Method method) {
- switch (method) {
- case GET: return request.setHttpOperation(HttpRequest.HttpOp.GET);
- case POST: return request.setHttpOperation(HttpRequest.HttpOp.POST);
- case PUT: return request.setHttpOperation(HttpRequest.HttpOp.PUT);
- case DELETE: return request.setHttpOperation(HttpRequest.HttpOp.DELETE);
- default: throw new IllegalStateException("Unhandled method " + method);
- }
- }
-
- private com.yahoo.container.jdisc.HttpResponse copyResponse(final HttpResult result) {
- return new com.yahoo.container.jdisc.HttpResponse(result.getHttpReturnCode()) {
- @Override
- public void render(OutputStream outputStream) throws IOException {
- outputStream.write(Utf8.toBytes(result.getContent().toString()));
- }
-
- @Override
- public void complete(){
- copyResponseHeaders(result, getJdiscResponse());
- }
- };
- }
-
- private void copyPostData(com.yahoo.container.jdisc.HttpRequest request, HttpRequest legacyRequest) {
- try {
- legacyRequest.setPostContent(new String(request.getData().readAllBytes(), StandardCharsets.UTF_8));
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
-
- private static void copyParameters(HttpRequest legacyRequest, com.yahoo.jdisc.http.HttpRequest jDiscRequest) {
- for (String key : jDiscRequest.parameters().keySet()) {
- for (String value : jDiscRequest.parameters().get(key)) {
- legacyRequest.addUrlOption(key, value);
- }
- }
- }
-
- private static void copyRequestHeaders(HttpRequest legacyRequest, com.yahoo.jdisc.http.HttpRequest jDiscRequest) {
- for (String key : jDiscRequest.headers().keySet()) {
- for (String value : jDiscRequest.headers().get(key)) {
- legacyRequest.addHttpHeader(key, value);
- }
- }
- }
-
- private static HeaderFields copyResponseHeaders(HttpResult result, Response response) {
- HeaderFields headers = new HeaderFields();
- for (HttpRequest.KeyValuePair keyValuePair : result.getHeaders()) {
- response.headers().put((keyValuePair.getKey()), keyValuePair.getValue());
- }
- return headers;
- }
-
-}
diff --git a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscMetricWrapper.java b/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscMetricWrapper.java
deleted file mode 100644
index 559eaee4821..00000000000
--- a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/JDiscMetricWrapper.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.clustercontroller.apputil.communication.http;
-
-import com.yahoo.jdisc.Metric;
-import com.yahoo.vespa.clustercontroller.utils.util.MetricReporter;
-
-import java.util.logging.Logger;
-
-public class JDiscMetricWrapper implements MetricReporter {
-
- private final Object lock = new Object();
- private Metric m;
-
- private static class ContextWrapper implements MetricReporter.Context {
- Metric.Context wrappedContext;
-
- public ContextWrapper(Metric.Context wrapped) {
- this.wrappedContext = wrapped;
- }
- }
-
- public JDiscMetricWrapper(Metric m) {
- this.m = m;
- }
-
- public void updateMetricImplementation(Metric m) {
- synchronized (lock) {
- this.m = m;
- }
- }
-
- public void set(String s, Number number, MetricReporter.Context context) {
- synchronized (lock) {
- ContextWrapper cw = (ContextWrapper) context;
- m.set(s, number, cw == null ? null : cw.wrappedContext);
- }
- }
-
- public void add(String s, Number number, MetricReporter.Context context) {
- synchronized (lock) {
- ContextWrapper cw = (ContextWrapper) context;
- m.add(s, number, cw == null ? null : cw.wrappedContext);
- }
- }
-
- public MetricReporter.Context createContext(java.util.Map<java.lang.String,?> stringMap) {
- synchronized (lock) {
- return new ContextWrapper(m.createContext(stringMap));
- }
- }
-
-}
diff --git a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/package-info.java b/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/package-info.java
deleted file mode 100644
index 5d09603bea6..00000000000
--- a/clustercontroller-apputil/src/main/java/com/yahoo/vespa/clustercontroller/apputil/communication/http/package-info.java
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-@ExportPackage
-package com.yahoo.vespa.clustercontroller.apputil.communication.http;
-
-import com.yahoo.osgi.annotation.ExportPackage;