lib/twitter/rest/client.rb in twitter-5.6.0 vs lib/twitter/rest/client.rb in twitter-5.7.0
- old
+ new
@@ -3,28 +3,11 @@
require 'faraday/request/multipart'
require 'json'
require 'timeout'
require 'twitter/client'
require 'twitter/error'
-require 'twitter/error/configuration_error'
-require 'twitter/error/request_timeout'
-require 'twitter/rest/api/direct_messages'
-require 'twitter/rest/api/favorites'
-require 'twitter/rest/api/friends_and_followers'
-require 'twitter/rest/api/help'
-require 'twitter/rest/api/lists'
-require 'twitter/rest/api/oauth'
-require 'twitter/rest/api/places_and_geo'
-require 'twitter/rest/api/saved_searches'
-require 'twitter/rest/api/search'
-require 'twitter/rest/api/spam_reporting'
-require 'twitter/rest/api/suggested_users'
-require 'twitter/rest/api/timelines'
-require 'twitter/rest/api/trends'
-require 'twitter/rest/api/tweets'
-require 'twitter/rest/api/undocumented'
-require 'twitter/rest/api/users'
+require 'twitter/rest/api'
require 'twitter/rest/request/multipart_with_file'
require 'twitter/rest/response/parse_json'
require 'twitter/rest/response/raise_error'
module Twitter
@@ -32,26 +15,11 @@
# Wrapper for the Twitter REST API
#
# @note All methods have been separated into modules and follow the same grouping used in {http://dev.twitter.com/doc the Twitter API Documentation}.
# @see http://dev.twitter.com/pages/every_developer
class Client < Twitter::Client
- include Twitter::REST::API::DirectMessages
- include Twitter::REST::API::Favorites
- include Twitter::REST::API::FriendsAndFollowers
- include Twitter::REST::API::Help
- include Twitter::REST::API::Lists
- include Twitter::REST::API::OAuth
- include Twitter::REST::API::PlacesAndGeo
- include Twitter::REST::API::SavedSearches
- include Twitter::REST::API::Search
- include Twitter::REST::API::SpamReporting
- include Twitter::REST::API::SuggestedUsers
- include Twitter::REST::API::Timelines
- include Twitter::REST::API::Trends
- include Twitter::REST::API::Tweets
- include Twitter::REST::API::Undocumented
- include Twitter::REST::API::Users
+ include Twitter::REST::API
attr_accessor :bearer_token
attr_writer :connection_options, :middleware
ENDPOINT = 'https://api.twitter.com'
def connection_options
@@ -89,17 +57,18 @@
end
end
# Perform an HTTP GET request
def get(path, params = {})
- request(:get, path, params)
+ headers = request_headers(:get, path, params)
+ request(:get, path, params, headers)
end
# Perform an HTTP POST request
def post(path, params = {})
- signature_params = params.values.any? { |value| value.respond_to?(:to_io) } ? {} : params
- request(:post, path, params, signature_params)
+ headers = params.values.any? { |value| value.respond_to?(:to_io) } ? request_headers(:post, path, params, {}) : request_headers(:post, path, params)
+ request(:post, path, params, headers)
end
# @return [Boolean]
def bearer_token?
!!bearer_token
@@ -117,15 +86,12 @@
# @return [Faraday::Connection]
def connection
@connection ||= Faraday.new(ENDPOINT, connection_options)
end
- def request(method, path, params = {}, signature_params = params)
- response = connection.send(method.to_sym, path, params) do |request|
- request.headers.update(request_headers(method, path, params, signature_params))
- end
- response.env
+ def request(method, path, params = {}, headers = {})
+ connection.send(method.to_sym, path, params) { |request| request.headers.update(headers) }.env
rescue Faraday::Error::TimeoutError, Timeout::Error => error
raise(Twitter::Error::RequestTimeout.new(error))
rescue Faraday::Error::ClientError, JSON::ParserError => error
fail(Twitter::Error.new(error))
end
@@ -136,15 +102,15 @@
if bearer_token_request
headers[:accept] = '*/*'
headers[:authorization] = bearer_token_credentials_auth_header
headers[:content_type] = 'application/x-www-form-urlencoded; charset=UTF-8'
else
- headers[:authorization] = auth_token(method, path, params, signature_params)
+ headers[:authorization] = auth_header(method, path, params, signature_params)
end
headers
end
- def auth_token(method, path, params = {}, signature_params = params)
+ def auth_header(method, path, params = {}, signature_params = params)
if !user_token?
@bearer_token = token unless bearer_token?
bearer_auth_header
else
oauth_auth_header(method, ENDPOINT + path, signature_params).to_s