From 219eb6b919d85077a73873f2a124bf4b63930f92 Mon Sep 17 00:00:00 2001 From: MiaoWoo Date: Sat, 30 May 2020 10:21:17 +0800 Subject: [PATCH] feat: add web proxy support Signed-off-by: MiaoWoo --- src/main/java/pw/yumc/MiaoScript/MiaoScriptSpring.java | 9 --------- src/main/java/pw/yumc/MiaoScript/web/WebServerProxy.java | 8 ++++++++ .../{WebSocketServerProxy.java => WebSocketProxy.java} | 2 +- .../pw/yumc/MiaoScript/websocket/WebSocketServer.java | 4 ++-- 4 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 src/main/java/pw/yumc/MiaoScript/web/WebServerProxy.java rename src/main/java/pw/yumc/MiaoScript/websocket/{WebSocketServerProxy.java => WebSocketProxy.java} (90%) diff --git a/src/main/java/pw/yumc/MiaoScript/MiaoScriptSpring.java b/src/main/java/pw/yumc/MiaoScript/MiaoScriptSpring.java index 1e1eb8e..7a9a019 100644 --- a/src/main/java/pw/yumc/MiaoScript/MiaoScriptSpring.java +++ b/src/main/java/pw/yumc/MiaoScript/MiaoScriptSpring.java @@ -8,13 +8,10 @@ import org.springframework.stereotype.Component; import org.springframework.web.socket.server.standard.ServerEndpointExporter; import java.io.File; -import javax.annotation.PreDestroy; @Slf4j @Component public class MiaoScriptSpring { - private ScriptEngine engine; - @Bean @SneakyThrows public ScriptEngine buildScriptEngine(ApplicationContext applicationContext) { @@ -25,10 +22,4 @@ public class MiaoScriptSpring { public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } - - @PreDestroy - public void disableEngine() { - engine.disableEngine(); - engine = null; - } } diff --git a/src/main/java/pw/yumc/MiaoScript/web/WebServerProxy.java b/src/main/java/pw/yumc/MiaoScript/web/WebServerProxy.java new file mode 100644 index 0000000..9f8fa71 --- /dev/null +++ b/src/main/java/pw/yumc/MiaoScript/web/WebServerProxy.java @@ -0,0 +1,8 @@ +package pw.yumc.MiaoScript.web; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public interface WebServerProxy { + Object process(HttpServletRequest req, HttpServletResponse resp); +} diff --git a/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServerProxy.java b/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketProxy.java similarity index 90% rename from src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServerProxy.java rename to src/main/java/pw/yumc/MiaoScript/websocket/WebSocketProxy.java index 65c73a6..677de7f 100644 --- a/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServerProxy.java +++ b/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketProxy.java @@ -4,7 +4,7 @@ import javax.websocket.CloseReason; import javax.websocket.EndpointConfig; import javax.websocket.Session; -public interface WebSocketServerProxy { +public interface WebSocketProxy { void onOpen(Session session, EndpointConfig config); void onMessage(Session session, String message); diff --git a/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServer.java b/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServer.java index 12bb3df..0b42207 100644 --- a/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServer.java +++ b/src/main/java/pw/yumc/MiaoScript/websocket/WebSocketServer.java @@ -14,12 +14,12 @@ import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/ws/") public class WebSocketServer implements ApplicationContextAware { private static ApplicationContext context; - private WebSocketServerProxy proxy; + private WebSocketProxy proxy; private boolean checkProxy(Session session) { try { if (this.proxy == null) { - this.proxy = context.getBean(WebSocketServerProxy.class); + this.proxy = context.getBean(WebSocketProxy.class); } return true; } catch (Exception ex) {