X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e484a466d78c87114779b596d6ecd79f22088ee2..5845d196105cc4676847695833b7ef3658c8a180:/services/api/config/initializers/eventbus.rb diff --git a/services/api/config/initializers/eventbus.rb b/services/api/config/initializers/eventbus.rb index a065632e39..7da8ade701 100644 --- a/services/api/config/initializers/eventbus.rb +++ b/services/api/config/initializers/eventbus.rb @@ -1,5 +1,18 @@ require 'eventbus' Server::Application.configure do - config.middleware.insert_before ActionDispatch::Static, RackSocket, {:handler => EventBus} + # Enables websockets if ARVADOS_WEBSOCKETS is defined with any value. If + # ARVADOS_WEBSOCKETS=ws-only, server will only accept websocket connections + # and return an error response for all other requests. + if ENV['ARVADOS_WEBSOCKETS'] + config.middleware.insert_after ArvadosApiToken, RackSocket, { + :handler => EventBus, + :mount => "/websocket", + :websocket_only => (ENV['ARVADOS_WEBSOCKETS'] == "ws-only") + } + end + + # Define websocket_address configuration option, can be overridden in config files. + # See application.yml.example for details. + config.websocket_address = nil end