lib/vertebrae/connection.rb in vertebrae-1.0.2 vs lib/vertebrae/connection.rb in vertebrae-1.0.4
- old
+ new
@@ -32,47 +32,25 @@
def options=(options)
@options = options
@configuration = Vertebrae::Configuration.new(options)
end
- # Default middleware stack that uses default adapter as specified at
- # configuration stage.
+ # Returns a Faraday::Connection object
#
- def default_middleware
- Proc.new do |builder|
- builder.use Faraday::Multipart::Middleware
- builder.use Faraday::Request::UrlEncoded
+ def connection
+ self.faraday_connection ||= Faraday.new(configuration.faraday_options) do |f|
if configuration.authenticated?
- builder.use Faraday::Request::Authorization, :basic, configuration.username, configuration.password
+ f.request :authorization, :basic, configuration.username, configuration.password
end
-
- builder.use Faraday::Response::Logger if ENV['DEBUG']
-
+ f.request :multipart
+ f.request :url_encoded
unless options[:raw]
- builder.use Faraday::Mashify::Middleware
- builder.use Faraday::Response::Json
+ f.response :mashify
+ f.response :json
end
- builder.use Vertebrae::Response::RaiseError
- builder.adapter configuration.adapter
- end
- end
- # Exposes middleware builder to facilitate custom stacks and easy
- # addition of new extensions such as cache adapter.
- #
- def stack(&block)
- @stack ||= begin
- if block_given?
- Faraday::RackBuilder.new(&block)
- else
- Faraday::RackBuilder.new(&default_middleware)
- end
+ f.response :raise_error
+ f.adapter configuration.adapter
end
- end
-
- # Returns a Faraday::Connection object
- #
- def connection
- self.faraday_connection ||= Faraday.new(configuration.faraday_options.merge(:builder => stack))
end
end
end