From 3c0fa40e741347b457694ec33623e4e3a6880a9e Mon Sep 17 00:00:00 2001 From: rhenium Date: Sun, 19 May 2013 16:23:57 +0900 Subject: change HTTP client to Typhoeus --- Gemfile | 5 +++-- Gemfile.lock | 7 +++++++ config/initializers/faraday.rb | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 config/initializers/faraday.rb diff --git a/Gemfile b/Gemfile index ef2a093..ad4ac38 100644 --- a/Gemfile +++ b/Gemfile @@ -7,15 +7,16 @@ gem 'dalli' gem 'counter_culture' gem 'rails_config' -gem 'yajl-ruby', :require => "yajl" +gem 'yajl-ruby', require: "yajl" gem 'unicorn' gem 'thin' -gem 'daemon-spawn', :require => 'daemon_spawn' +gem 'daemon-spawn', require: 'daemon_spawn' gem 'msgpack' gem 'msgpack-rpc' gem 'em-work_queue' +gem 'typhoeus', require: "typhoeus/adapters/faraday" gem 'twitter' gem 'omniauth-twitter' diff --git a/Gemfile.lock b/Gemfile.lock index c284529..0735571 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -53,6 +53,9 @@ GEM em-work_queue (0.0.1) eventmachine erubis (2.7.0) + ethon (0.5.12) + ffi (>= 1.3.0) + mime-types (~> 1.18) eventmachine (1.0.3) execjs (1.4.0) multi_json (~> 1.0) @@ -63,6 +66,7 @@ GEM railties (>= 3.0.0) faraday (0.8.7) multipart-post (~> 1.1) + ffi (1.8.1) haml (4.0.2) tilt haml-rails (0.4) @@ -171,6 +175,8 @@ GEM faraday (~> 0.8, < 0.10) multi_json (~> 1.0) simple_oauth (~> 0.2) + typhoeus (0.6.3) + ethon (~> 0.5.11) tzinfo (0.3.37) uglifier (2.1.0) execjs (>= 0.3.0) @@ -209,6 +215,7 @@ DEPENDENCIES sass-rails (~> 4.0.0.rc1) thin twitter + typhoeus uglifier (>= 1.0.3) unicorn webmock diff --git a/config/initializers/faraday.rb b/config/initializers/faraday.rb new file mode 100644 index 0000000..6c88253 --- /dev/null +++ b/config/initializers/faraday.rb @@ -0,0 +1,18 @@ +# https://github.com/sferik/twitter/blob/2ec6142/lib/twitter/default.rb#L28 +Twitter.middleware = Faraday::Builder.new do |builder| + # Convert file uploads to Faraday::UploadIO objects + builder.use Twitter::Request::MultipartWithFile + # Checks for files in the payload + builder.use Faraday::Request::Multipart + # Convert request params to "www-form-urlencoded" + builder.use Faraday::Request::UrlEncoded + # Handle 4xx server responses + builder.use Twitter::Response::RaiseError, Twitter::Error::ClientError + # Parse JSON response bodies using MultiJson + builder.use Twitter::Response::ParseJson + # Handle 5xx server responses + builder.use Twitter::Response::RaiseError, Twitter::Error::ServerError + # Set Faraday's HTTP adapter + builder.adapter :typhoeus +end + -- cgit v1.2.3