class Faye::Reconnect::ServerExtension

Public Class Methods

new(app) click to toggle source
# File lib/faye/reconnect/server_extension.rb, line 5
def initialize(app)
  @server = app.instance_variable_get(:@server)
end

Public Instance Methods

incoming(message, callback) click to toggle source
# File lib/faye/reconnect/server_extension.rb, line 9
def incoming(message, callback)
  if message.key?('previousClientId')
    client_id = message['previousClientId']
    @server.engine.client_exists(client_id) do |exists|
      if exists
        @server.engine.ping(client_id)
        message['clientId'] = client_id
        message['error'] = 'Already connected'
      end
      callback.call(message)
    end
  else
    callback.call(message)
  end
end