class FayeRails::Middleware
Constants
- DEFAULTS
Public Class Methods
new(app, options={}, &block)
click to toggle source
# File lib/faye-rails/middleware.rb, line 13 def initialize(app, options={}, &block) @app = app if Rails.application.config.middleware.include? Rack::Lock message = <<-EOF WARNING: You have the Rack::Lock middlware enabled. faye-rails can't work when Rack::Lock is enabled, as it will cause a deadlock on every request. Please add: config.middleware.delete Rack::Lock to your application config in application.rb EOF Rails.logger.fatal message $stdout.puts message exit 1 end unknown_options = options.keys - DEFAULTS.keys if unknown_options.one? raise ArgumentError, "Unknown option: #{unknown_options.first}." elsif unknown_options.any? raise ArgumentError, "Unknown options: #{unknown_options * ", "}." end options = DEFAULTS.merge(options) server = options.delete(:server) Faye::WebSocket.load_adapter(server) if server && server != 'passenger' @adapter = FayeRails::RackAdapter.new(@app, options) @adapter.instance_eval(&block) if block.respond_to? :call end
Public Instance Methods
call(env)
click to toggle source
# File lib/faye-rails/middleware.rb, line 51 def call(env) @adapter.call(env) end