lib/elasticsearch/transport/transport/http/faraday.rb in elasticsearch-transport-7.1.0 vs lib/elasticsearch/transport/transport/http/faraday.rb in elasticsearch-transport-7.2.0
- old
+ new
@@ -40,28 +40,42 @@
response = connection.connection.run_request(method.downcase.to_sym,
url,
( body ? __convert_to_json(body) : nil ),
headers)
- Response.new response.status, response.body, response.headers
+ Response.new response.status, decompress_response(response.body), response.headers
end
end
# Builds and returns a connection
#
# @return [Connections::Connection]
#
def __build_connection(host, options={}, block=nil)
client = ::Faraday.new(__full_url(host), options, &block)
+ apply_headers(client, options)
Connections::Connection.new :host => host, :connection => client
end
# Returns an array of implementation specific connection errors.
#
# @return [Array]
#
def host_unreachable_exceptions
[::Faraday::Error::ConnectionFailed, ::Faraday::Error::TimeoutError]
+ end
+
+ private
+
+ def user_agent_header(client)
+ @user_agent ||= begin
+ meta = ["RUBY_VERSION: #{RUBY_VERSION}"]
+ if RbConfig::CONFIG && RbConfig::CONFIG['host_os']
+ meta << "#{RbConfig::CONFIG['host_os'].split('_').first[/[a-z]+/i].downcase} #{RbConfig::CONFIG['target_cpu']}"
+ end
+ meta << "#{client.headers[USER_AGENT_STR]}"
+ "elasticsearch-ruby/#{VERSION} (#{meta.join('; ')})"
+ end
end
end
end
end
end