From 095fc8140e15e00686f9034874f817cc5a81453b Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Fri, 6 Aug 2021 12:32:44 -0500 Subject: [PATCH] Increase from default binary message size --- .../WebSocketResourceProviderFactory.java | 16 +++++++++------- .../WebSocketResourceProviderFactoryTest.java | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/websocket-resources/src/main/java/org/whispersystems/websocket/WebSocketResourceProviderFactory.java b/websocket-resources/src/main/java/org/whispersystems/websocket/WebSocketResourceProviderFactory.java index 4fcd1c804..50fed50ec 100644 --- a/websocket-resources/src/main/java/org/whispersystems/websocket/WebSocketResourceProviderFactory.java +++ b/websocket-resources/src/main/java/org/whispersystems/websocket/WebSocketResourceProviderFactory.java @@ -4,7 +4,13 @@ */ package org.whispersystems.websocket; +import static java.util.Optional.ofNullable; + import io.dropwizard.jersey.jackson.JacksonMessageBodyProvider; +import java.io.IOException; +import java.security.Principal; +import java.util.Arrays; +import java.util.Optional; import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest; import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse; import org.eclipse.jetty.websocket.servlet.WebSocketCreator; @@ -20,13 +26,6 @@ import org.whispersystems.websocket.auth.WebsocketAuthValueFactoryProvider; import org.whispersystems.websocket.session.WebSocketSessionContextValueFactoryProvider; import org.whispersystems.websocket.setup.WebSocketEnvironment; -import java.io.IOException; -import java.security.Principal; -import java.util.Arrays; -import java.util.Optional; - -import static java.util.Optional.ofNullable; - public class WebSocketResourceProviderFactory extends WebSocketServlet implements WebSocketCreator { private static final Logger logger = LoggerFactory.getLogger(WebSocketResourceProviderFactory.class); @@ -80,6 +79,9 @@ public class WebSocketResourceProviderFactory extends WebSo @Override public void configure(WebSocketServletFactory factory) { factory.setCreator(this); + // TODO extract to configuration + factory.getPolicy().setMaxBinaryMessageSize(512 * 1024); + factory.getPolicy().setMaxTextMessageSize(512 * 1024); } private String getRemoteAddress(ServletUpgradeRequest request) { diff --git a/websocket-resources/src/test/java/org/whispersystems/websocket/WebSocketResourceProviderFactoryTest.java b/websocket-resources/src/test/java/org/whispersystems/websocket/WebSocketResourceProviderFactoryTest.java index 00580f336..28fa3d8c2 100644 --- a/websocket-resources/src/test/java/org/whispersystems/websocket/WebSocketResourceProviderFactoryTest.java +++ b/websocket-resources/src/test/java/org/whispersystems/websocket/WebSocketResourceProviderFactoryTest.java @@ -20,6 +20,7 @@ import java.util.Optional; import javax.security.auth.Subject; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.UpgradeRequest; +import org.eclipse.jetty.websocket.api.WebSocketPolicy; import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest; import org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; @@ -105,6 +106,7 @@ public class WebSocketResourceProviderFactoryTest { WebSocketEnvironment environment = mock(WebSocketEnvironment.class ); WebSocketServletFactory servletFactory = mock(WebSocketServletFactory.class ); when(environment.jersey()).thenReturn(jerseyEnvironment); + when(servletFactory.getPolicy()).thenReturn(mock(WebSocketPolicy.class)); WebSocketResourceProviderFactory factory = new WebSocketResourceProviderFactory(environment, Account.class); factory.configure(servletFactory);