aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrhenium <re4k@re4k.info>2013-05-19 16:23:57 +0900
committerrhenium <re4k@re4k.info>2013-05-19 16:23:57 +0900
commit3c0fa40e741347b457694ec33623e4e3a6880a9e (patch)
treeab3e667db39ac9954aee19ed96d1ecf407a01882
parentb49ad1708874c273b5f6bf07c625ea2a7701825a (diff)
downloadaclog-3c0fa40e741347b457694ec33623e4e3a6880a9e.tar.gz
change HTTP client to Typhoeus
-rw-r--r--Gemfile5
-rw-r--r--Gemfile.lock7
-rw-r--r--config/initializers/faraday.rb18
3 files changed, 28 insertions, 2 deletions
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
+