class Elasticsearch::Transport::Transport::HTTP::Faraday
The default transport implementation, using the [Faraday](rubygems.org/gems/faraday) library for abstracting the HTTP client.
@see Transport::Base
Public Instance Methods
__build_connections()
click to toggle source
Builds and returns a collection of connections.
@return [Connections::Collection]
# File lib/elasticsearch/transport/transport/http/faraday.rb, line 34 def __build_connections Connections::Collection.new :connections => hosts.map { |host| host[:protocol] = host[:scheme] || DEFAULT_PROTOCOL host[:port] ||= DEFAULT_PORT url = __full_url(host) Connections::Connection.new :host => host, :connection => ::Faraday::Connection.new(url, (options[:transport_options] || {}), &@block ) }, :selector_class => options[:selector_class], :selector => options[:selector] end
host_unreachable_exceptions()
click to toggle source
Returns an array of implementation specific connection errors.
@return [Array]
# File lib/elasticsearch/transport/transport/http/faraday.rb, line 53 def host_unreachable_exceptions [::Faraday::Error::ConnectionFailed, ::Faraday::Error::TimeoutError] end
perform_request(method, path, params={}, body=nil)
click to toggle source
Performs the request by invoking {Transport::Base#perform_request} with a block.
@return [Response] @see Elasticsearch::Transport::Transport::Base#perform_request
Calls superclass method
Elasticsearch::Transport::Transport::Base#perform_request
# File lib/elasticsearch/transport/transport/http/faraday.rb, line 19 def perform_request(method, path, params={}, body=nil) super do |connection, url| response = connection.connection.run_request method.downcase.to_sym, url, ( body ? __convert_to_json(body) : nil ), {} Response.new response.status, response.body, response.headers end end