diff --git a/java/lc-esp-eo-service/build.gradle b/java/lc-esp-eo-service/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..e273d337ce43fecd43c8e300021034f6a40da561 --- /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 0000000000000000000000000000000000000000..1463be9785e3005f519784445fb21f340bf727b2 --- /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 4a2c6ace8b243092877b3b02be4456c5e9f03f44..bbb5edcb5d624f304f18f57aba48394eb2027d08 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'