From 54ad99aa6e8881e4d38175e881f44e204bc89933 Mon Sep 17 00:00:00 2001 From: "C. Alexander Leigh" Date: Wed, 15 Feb 2023 19:55:26 -0800 Subject: [PATCH] lc-gdn-api: Migrated ESP code out to serve as the beginnings of mk19 --- .../lc/esp/engine}/AuthenticatedHandler.java | 2 +- .../main/java/lc/esp/engine/ESPEngine.java | 32 +++++++----------- java/lc-gdn-api-svc/build.gradle | 4 +-- .../main/java/lc/gdn/api/GdnApiService.java | 33 ++++--------------- .../java/lc/gdn/api/UserPasswordHandler.java | 1 + 5 files changed, 21 insertions(+), 51 deletions(-) rename java/{lc-gdn-api-svc/src/main/java/lc/gdn/api => lc-esp-engine/src/main/java/lc/esp/engine}/AuthenticatedHandler.java (99%) diff --git a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/AuthenticatedHandler.java b/java/lc-esp-engine/src/main/java/lc/esp/engine/AuthenticatedHandler.java similarity index 99% rename from java/lc-gdn-api-svc/src/main/java/lc/gdn/api/AuthenticatedHandler.java rename to java/lc-esp-engine/src/main/java/lc/esp/engine/AuthenticatedHandler.java index 3d19939a1..68bd96b2c 100644 --- a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/AuthenticatedHandler.java +++ b/java/lc-esp-engine/src/main/java/lc/esp/engine/AuthenticatedHandler.java @@ -1,4 +1,4 @@ -package lc.gdn.api; +package lc.esp.engine; import jakarta.servlet.http.HttpServletResponse; import lc.mecha.aaa.ActiveDirectory; diff --git a/java/lc-esp-engine/src/main/java/lc/esp/engine/ESPEngine.java b/java/lc-esp-engine/src/main/java/lc/esp/engine/ESPEngine.java index 8ade817fc..f91bf535a 100644 --- a/java/lc-esp-engine/src/main/java/lc/esp/engine/ESPEngine.java +++ b/java/lc-esp-engine/src/main/java/lc/esp/engine/ESPEngine.java @@ -1,40 +1,30 @@ package lc.esp.engine; -import lc.mecha.fabric.HandlerStatus; import lc.mecha.fabric.LiteralMessageSubscription; import lc.mecha.http.server.PrefixedHandler; import lc.mecha.http.server.WebPipeline; import lc.mecha.http.server.WebServer; -import lc.mecha.http.server.WebTransaction; -import lc.mecha.log.MechaLogger; -import lc.mecha.log.MechaLoggerFactory; - -import java.util.Set; - -public class ESPEngine extends PrefixedHandler { - private static final MechaLogger logger = MechaLoggerFactory.getLogger(ESPEngine.class); +import lc.mecha.lang.DangerousRunnable; +public class ESPEngine implements DangerousRunnable { private final WebServer ws; - public static void main(String[] args) throws Exception { - ESPEngine svc = new ESPEngine(); - svc.runDangerously(); + public ESPEngine() throws Exception { + ws = new WebServer(8080, 32); } - public ESPEngine() { - super(Set.of("/esp")); - ws = new WebServer(8080, 32); + public void register(PrefixedHandler handler) { ws.getWebPipeline().getServicePipeline().getSubscriptionBase().subscribe( - new LiteralMessageSubscription<>(this, WebPipeline.KEY_SERVICE)); + new LiteralMessageSubscription<>(handler, WebPipeline.KEY_SERVICE)); } @Override - public HandlerStatus handlePrefixedWebRequest(WebTransaction request) throws Exception { - logger.info("Request: {}", request); - return HandlerStatus.BREAK; + public void runDangerously() { + ws.start(); } - public void runDangerously() throws Exception { - ws.start(); + @Override + public void run() { + } } diff --git a/java/lc-gdn-api-svc/build.gradle b/java/lc-gdn-api-svc/build.gradle index 91231067b..cb0f78968 100644 --- a/java/lc-gdn-api-svc/build.gradle +++ b/java/lc-gdn-api-svc/build.gradle @@ -5,14 +5,14 @@ plugins { } group 'leighco' -version '1.5' +version '1.6' repositories { mavenCentral() } dependencies { - implementation project(':lc-mecha-http-server') + implementation project(':lc-esp-engine') implementation project(':lc-cloudbox') testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' diff --git a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/GdnApiService.java b/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/GdnApiService.java index 82e75e010..6014d98b9 100644 --- a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/GdnApiService.java +++ b/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/GdnApiService.java @@ -1,39 +1,18 @@ package lc.gdn.api; +import lc.esp.engine.ESPEngine; import lc.mecha.aaa.DirectoryService; -import lc.mecha.fabric.LiteralMessageSubscription; -import lc.mecha.http.server.WebPipeline; -import lc.mecha.http.server.WebServer; -import lc.mecha.lang.DangerousRunnable; - -public class GdnApiService implements DangerousRunnable { - private final WebServer ws; +public class GdnApiService { public static void main(String[] args) throws Exception { - GdnApiService svc = new GdnApiService(); - svc.runDangerously(); - } + ESPEngine engine = new ESPEngine(); - public GdnApiService() throws Exception { DirectoryService directory = new DirectoryService("gdn.leigh-co.com", "ldaps://dc0.gdn.leigh-co.com", "cn=users,dc=gdn,dc=leigh-co,dc=com"); - ws = new WebServer(8080, 32); - ws.getWebPipeline().getServicePipeline().getSubscriptionBase().subscribe( - new LiteralMessageSubscription<>(new TunnelIPHandler(), WebPipeline.KEY_SERVICE)); - - ws.getWebPipeline().getServicePipeline().getSubscriptionBase().subscribe( - new LiteralMessageSubscription<>(new UserPasswordHandler(directory), WebPipeline.KEY_SERVICE)); - } - - @Override - public void runDangerously() throws Exception { - ws.start(); - } - - @Override - public void run() { - + engine.register(new TunnelIPHandler()); + engine.register(new UserPasswordHandler(directory)); + engine.runDangerously(); } } diff --git a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/UserPasswordHandler.java b/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/UserPasswordHandler.java index 692f0ef36..1e5cbf9bf 100644 --- a/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/UserPasswordHandler.java +++ b/java/lc-gdn-api-svc/src/main/java/lc/gdn/api/UserPasswordHandler.java @@ -1,5 +1,6 @@ package lc.gdn.api; +import lc.esp.engine.AuthenticatedHandler; import lc.mecha.aaa.ActiveDirectory; import lc.mecha.aaa.DirectoryService; import lc.mecha.fabric.HandlerStatus; -- GitLab