X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f4ca9ad94a6bb006d1f3c7ba207837f1736d1247..6f1c0e1dd16f53ce4fb7e8785a130e5f588500e5:/services/api/app/middlewares/rack_socket.rb diff --git a/services/api/app/middlewares/rack_socket.rb b/services/api/app/middlewares/rack_socket.rb index 19350c40e6..8f82e585df 100644 --- a/services/api/app/middlewares/rack_socket.rb +++ b/services/api/app/middlewares/rack_socket.rb @@ -69,6 +69,10 @@ class RackSocket def call env request = Rack::Request.new(env) if request.path_info == @endpoint and Faye::WebSocket.websocket?(env) + if @handler.overloaded? + return [503, {"Content-Type" => "text/plain"}, ["Too many connections, try again later."]] + end + ws = Faye::WebSocket.new(env, nil, :ping => 30) # Notify handler about new connection