Skip to content
Permalink
Browse files
bot: add version handler
Reviewed-by: erikj
  • Loading branch information
edvbld committed May 28, 2021
1 parent 92bf2dc commit a1664324b80b8cdbe000089ce46ac9dff978fd69
@@ -39,6 +39,7 @@ dependencies {
implementation project(':json')
implementation project(':census')
implementation project(':metrics')
implementation project(':version')
}

publishing {
@@ -30,6 +30,7 @@
requires transitive org.openjdk.skara.metrics;
requires org.openjdk.skara.network;
requires org.openjdk.skara.vcs;
requires org.openjdk.skara.version;
requires java.logging;
requires java.management;
requires jdk.management;
@@ -408,7 +408,8 @@ Optional<HttpServerConfiguration> httpServer(BotRunner runner) {
MetricsHandler.name(), MetricsHandler::create,
ReadinessHandler.name(), ReadinessHandler::create,
LivenessHandler.name(), LivenessHandler::create,
ProfileHandler.name(), ProfileHandler::create
ProfileHandler.name(), ProfileHandler::create,
VersionHandler.name(), VersionHandler::create
);
var contexts = new ArrayList<HttpContextConfiguration>();
var port = config.get("http-server").get("port").asInt();
@@ -0,0 +1,58 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package org.openjdk.skara.bot;

import org.openjdk.skara.json.JSONObject;
import org.openjdk.skara.version.Version;

import com.sun.net.httpserver.*;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.logging.Logger;

class VersionHandler implements HttpHandler {
private static final Logger log = Logger.getLogger("org.openjdk.skara.bot");

@Override
public void handle(HttpExchange exchange) throws IOException {
var version = Version.fromManifest();
if (version.isPresent()) {
var bytes = version.get().getBytes(StandardCharsets.UTF_8);
exchange.sendResponseHeaders(200, bytes.length);
exchange.getResponseBody().write(bytes);
exchange.getResponseBody().close();
} else {
exchange.sendResponseHeaders(500, 0);
exchange.getResponseBody().close();
}
}

static VersionHandler create(BotRunner runner, JSONObject configuration) {
return new VersionHandler();
}

static String name() {
return "version";
}
}

1 comment on commit a166432

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on a166432 May 28, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.