diff --git a/plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/launch/DefaultGLSPServerLauncher.java b/plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/launch/DefaultGLSPServerLauncher.java index e2265329..39f54702 100644 --- a/plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/launch/DefaultGLSPServerLauncher.java +++ b/plugins/org.eclipse.glsp.server/src/org/eclipse/glsp/server/launch/DefaultGLSPServerLauncher.java @@ -95,18 +95,15 @@ public void failed(final Throwable exc, final Void attachment) { return onShutdown; } - private void createClientConnection(final AsynchronousSocketChannel socketChannel) { + protected void createClientConnection(final AsynchronousSocketChannel socketChannel) { Injector injector = createInjector(); - GsonConfigurator gsonConf = injector.getInstance(GsonConfigurator.class); try { InputStream in = Channels.newInputStream(socketChannel); OutputStream out = Channels.newOutputStream(socketChannel); - Consumer configureGson = (final GsonBuilder builder) -> gsonConf.configureGsonBuilder(builder); - Function wrapper = Function.identity(); GLSPServer glspServer = injector.getInstance(GLSPServer.class); Launcher launcher = Launcher.createIoLauncher(glspServer, GLSPClient.class, in, out, - threadPool, wrapper, configureGson); + threadPool, messageWrapper(injector), configureGson(injector)); glspServer.connect(launcher.getRemoteProxy()); log.info("Starting GLSP server connection for client " + socketChannel.getRemoteAddress()); launcher.startListening().get(); @@ -123,6 +120,15 @@ private void createClientConnection(final AsynchronousSocketChannel socketChanne } } + protected Consumer configureGson(final Injector injector) { + GsonConfigurator gsonConf = injector.getInstance(GsonConfigurator.class); + return (final GsonBuilder builder) -> gsonConf.configureGsonBuilder(builder); + } + + protected Function messageWrapper(final Injector injector) { + return Function.identity(); + } + @Override public void shutdown() { log.info("Stopping all connections to the GLSP server...");