From 36e9cfb87f22feb4543ec4935d25837c2a3fe2ec Mon Sep 17 00:00:00 2001 From: Erik Michaels-Ober Date: Sun, 18 Aug 2013 19:24:35 +0200 Subject: [PATCH] Add on_request callback --- lib/twitter/streaming/client.rb | 17 +++++++++++++++-- lib/twitter/streaming/response.rb | 3 +-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/twitter/streaming/client.rb b/lib/twitter/streaming/client.rb index c443abce5..217b9db46 100644 --- a/lib/twitter/streaming/client.rb +++ b/lib/twitter/streaming/client.rb @@ -63,10 +63,23 @@ def track!(*keywords, &block) end end + # Set a Proc to be run when connection established. + def on_request(&block) + if block_given? + @on_request = block + self + elsif instance_variable_defined?(:@on_request) + @on_request + else + Proc.new {} + end + end + def request(options, &block) + on_request.call # TODO: consider HTTP::Request - request = Twitter::Streaming::Request.new(@request_options.merge(options)) - response = Twitter::Streaming::Response.new(block) + request = Twitter::Streaming::Request.new(@request_options.merge(options)) + response = Twitter::Streaming::Response.new(block) @connection.future.stream(request, response) end diff --git a/lib/twitter/streaming/response.rb b/lib/twitter/streaming/response.rb index fa6a163d6..d7e80858e 100644 --- a/lib/twitter/streaming/response.rb +++ b/lib/twitter/streaming/response.rb @@ -9,8 +9,7 @@ def initialize(block) end def on_headers_complete(headers) - puts headers - # handle response codes + # TODO: handle response codes end def on_body(data)