From 9724ac59f7b0cc70436bb6e25059d2e29176abfd Mon Sep 17 00:00:00 2001 From: siuying Date: Wed, 13 Jan 2010 16:24:17 +0800 Subject: [PATCH] use typhoeus --- .gems | 2 +- lib/green/controller.rb | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gems b/.gems index 5488494..2452af9 100644 --- a/.gems +++ b/.gems @@ -1,3 +1,3 @@ sinatra json -httpclient +typhoeus diff --git a/lib/green/controller.rb b/lib/green/controller.rb index b2baf0b..86a9249 100644 --- a/lib/green/controller.rb +++ b/lib/green/controller.rb @@ -1,8 +1,7 @@ require 'sinatra/base' $KCODE = 'UTF8' require 'logger' -require 'httpclient' - +require 'typhoeus' module Sinatra module Green @@ -13,7 +12,6 @@ def self.registered(app) app.before do @log = Logger.new($stdout) - @client = HTTPClient.new begin tweet(options.search_terms.join(' OR ')) rescue StandardError => e @@ -48,11 +46,7 @@ def tweet(term) last_tweet = Tweet.first(:order => [:twitter_id.desc]).twitter_id rescue 0 last_tweet ||= 0 - rpp = 100 - query = { 'q' => term, 'rpp' => rpp, 'since_id' => last_tweet } - header = {'User-Agent' => 'stopxrl.heroku.com'} - - res = JSON.parse(@client.get_content("http://search.twitter.com/search.json", query, header)) + res = JSON.parse(open("http://search.twitter.com/search.json", term, last_tweet)) results = res['results'] results.each do |t| #@log.info("tweet: #{t.inspect}") @@ -92,6 +86,12 @@ def partial(template, *args) end end + def open(url, term, last_tweet) + query = { :q => term, :rpp => "100", :since_id => last_tweet } + response = Typhoeus::Request.post(url, :timeout => 15000, :cache_timeout => 60, :params => query) + response.body + end + #prepare text for html output # add a tag to link # link hashtag