Make WebSocket optional, disabled by default. Add tests.

This commit is contained in:
Moxie Marlinspike
2014-02-12 14:39:45 -08:00
parent a9994ef5aa
commit a6463df5bb
13 changed files with 250 additions and 4 deletions

View File

@@ -147,8 +147,11 @@ public class WhisperServerService extends Service<WhisperServerConfiguration> {
environment.addResource(keysController);
environment.addResource(messageController);
environment.addServlet(new WebsocketControllerFactory(deviceAuthenticator, storedMessageManager, pubSubManager),
"/v1/websocket/");
if (config.getWebsocketConfiguration().isEnabled()) {
environment.addServlet(new WebsocketControllerFactory(deviceAuthenticator, storedMessageManager, pubSubManager),
"/v1/websocket/");
environment.addFilter(new CORSHeaderFilter(), "/*");
}
environment.addHealthCheck(new RedisHealthCheck(redisClient));
environment.addHealthCheck(new MemcacheHealthCheck(memcachedClient));
@@ -156,8 +159,6 @@ public class WhisperServerService extends Service<WhisperServerConfiguration> {
environment.addProvider(new IOExceptionMapper());
environment.addProvider(new RateLimitExceededExceptionMapper());
environment.addFilter(new CORSHeaderFilter(), "/*");
if (config.getGraphiteConfiguration().isEnabled()) {
GraphiteReporter.enable(15, TimeUnit.SECONDS,
config.getGraphiteConfiguration().getHost(),