From eba6c907e96b37f5c30f75a88ce12cef517eb6a1 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 17 Jun 2020 16:05:53 +0100 Subject: [PATCH] wip: status handler --- .../wlgitbridge/server/GitBridgeServer.java | 1 + .../ic/wlgitbridge/server/StatusHandler.java | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/GitBridgeServer.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/GitBridgeServer.java index 3008ed1028..e39dbb3a41 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/GitBridgeServer.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/GitBridgeServer.java @@ -128,6 +128,7 @@ public class GitBridgeServer { api.setContextPath("/api"); HandlerCollection handlers = new HandlerList(); + handlers.addHandler(new StatusHandler(bridge)); handlers.addHandler(initResourceHandler()); handlers.addHandler(new PostbackHandler(bridge)); handlers.addHandler(new DefaultHandler()); diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java new file mode 100644 index 0000000000..fc60aa8057 --- /dev/null +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/server/StatusHandler.java @@ -0,0 +1,40 @@ +package uk.ac.ic.wlgitbridge.server; + +import org.eclipse.jetty.server.HttpConnection; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.handler.AbstractHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import uk.ac.ic.wlgitbridge.bridge.Bridge; +import uk.ac.ic.wlgitbridge.util.Log; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class StatusHandler extends AbstractHandler { + + private final Bridge bridge; + + public StatusHandler(Bridge bridge) { + this.bridge = bridge; + } + + @Override + public void handle( + String target, + Request baseRequest, + HttpServletRequest request, + HttpServletResponse response + ) throws IOException { + if ("GET".equals(baseRequest.getMethod()) && "/status".equals(target)) { + Log.info("GET <- /api/status"); + baseRequest.setHandled(true); + response.setContentType("text/plain"); + response.setStatus(200); + response.getWriter().println("ok"); + } + } + +}