From 7beddb91c607fae816fab8e8b17015794dcc081d Mon Sep 17 00:00:00 2001 From: Alex Leigh Date: Sun, 17 Sep 2023 15:11:06 -0700 Subject: [PATCH] lc-esp-eo-service: Added new module for EO service --- java/lc-esp-eo-service/build.gradle | 19 +++++++++++ .../java/lc/esp/eo/service/EOService.java | 32 +++++++++++++++++++ java/settings.gradle | 1 + 3 files changed, 52 insertions(+) create mode 100644 java/lc-esp-eo-service/build.gradle create mode 100644 java/lc-esp-eo-service/src/main/java/lc/esp/eo/service/EOService.java diff --git a/java/lc-esp-eo-service/build.gradle b/java/lc-esp-eo-service/build.gradle new file mode 100644 index 000000000..e273d337c --- /dev/null +++ b/java/lc-esp-eo-service/build.gradle @@ -0,0 +1,19 @@ +plugins { + id 'java' +} + +version = '20.0-SNAPSHOT' + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':lc-esp-engine') + testImplementation platform('org.junit:junit-bom:5.9.1') + testImplementation 'org.junit.jupiter:junit-jupiter' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/java/lc-esp-eo-service/src/main/java/lc/esp/eo/service/EOService.java b/java/lc-esp-eo-service/src/main/java/lc/esp/eo/service/EOService.java new file mode 100644 index 000000000..1463be978 --- /dev/null +++ b/java/lc-esp-eo-service/src/main/java/lc/esp/eo/service/EOService.java @@ -0,0 +1,32 @@ +package lc.esp.eo.service; + +import lc.esp.engine.ESPEngine; +import lc.mecha.fabric.HandlerStatus; +import lc.mecha.http.server.HttpTransaction; +import lc.mecha.http.server.PrefixedHandler; +import lc.mecha.log.MechaLogger; +import lc.mecha.log.MechaLoggerFactory; + +import java.util.Set; + +/** + * The EO front-end service. This provides EO & EOFS services to callers both internal and external. + * + * @author Alex Leigh + * @since mk20 (TOKYO PROTOCOL) + */ +public class EOService { + private static final MechaLogger logger = MechaLoggerFactory.getLogger(EOService.class); + + public static void main(String[] args) throws Exception { + ESPEngine esp = new ESPEngine(); + esp.register(new PrefixedHandler(Set.of("/api/eo")) { + @Override + public HandlerStatus handlePrefixedWebRequest(HttpTransaction request) throws Throwable { + request.httpServletResponse.getOutputStream().write("Hello World\n".getBytes()); + return HandlerStatus.BREAK; + } + }); + esp.runDangerously(); + } +} diff --git a/java/settings.gradle b/java/settings.gradle index 4a2c6ace8..bbb5edcb5 100644 --- a/java/settings.gradle +++ b/java/settings.gradle @@ -29,4 +29,5 @@ include 'lc-esp-eo-sdk' include 'lc-esp-engine' include 'lc-esp-example-service' include 'lc-esp-script-engine' +include 'lc-esp-eo-service' -- GitLab