class Firehose::Rack::Consumer::HttpLongPoll::MultiplexingHandler
Public Instance Methods
handle_request(request, env)
click to toggle source
# File lib/firehose/rack/consumer/http_long_poll.rb, line 148 def handle_request(request, env) subscriptions = Consumer.multiplex_subscriptions(request) log_request request, subscriptions, env subscriptions.each do |sub| respond_async(sub[:channel], sub[:message_sequence], env) end end
log_request(request, subscriptions, env)
click to toggle source
# File lib/firehose/rack/consumer/http_long_poll.rb, line 140 def log_request(request, subscriptions, env) if request.post? Firehose.logger.debug "HTTP multiplexing POST, subscribing #{subscriptions.inspect}" else Firehose.logger.debug "HTTP multiplexing GET with query #{env["QUERY_STRING"].inspect}" end end
wrap_frame(channel, message)
click to toggle source
# File lib/firehose/rack/consumer/http_long_poll.rb, line 136 def wrap_frame(channel, message) JSON.generate channel: channel, :message => message.payload, :last_sequence => message.sequence end