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 3d19939a149121a2b8d68dd514ff1f0f2f39ec4c..68bd96b2ca134d10c36c40a5dd0a84ff342b1099 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 8ade817fc57a4953e0b64a96941a3d9008ed5469..f91bf535aca46af35b858cece2e3d29d57fdc143 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 91231067b019cb87dbc24a168a89f665b7f170db..cb0f78968168427065fe6bbb665a562f754c37d4 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 82e75e010e8a3549d3effbe2e3d0149fdb415c2d..6014d98b98637a0d7c9b50cf9780ab34c1a47983 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 692f0ef361db48efc224eddcfe44b0429420fafe..1e5cbf9bf25882e6b80f725d7443292e6fe1a9ee 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;