lib/elastic/transport/transport/http/faraday.rb in elastic-transport-8.1.3 vs lib/elastic/transport/transport/http/faraday.rb in elastic-transport-8.2.0

- old
+ new

@@ -32,33 +32,34 @@ # @return [Response] # @see Transport::Base#perform_request # def perform_request(method, path, params = {}, body = nil, headers = nil, opts = {}) super do |connection, url| - headers = if connection.connection.headers - if !headers.nil? - connection.connection.headers.merge(headers) - else - connection.connection.headers - end - else - headers - end + headers = parse_headers(headers, connection) body = body ? __convert_to_json(body) : nil body, headers = compress_request(body, headers) - response = connection.connection.run_request( - method.downcase.to_sym, - url, - body, - headers - ) + response = connection.connection.run_request(method.downcase.to_sym, url, body, headers) - Response.new response.status, decompress_response(response.body), response.headers + Response.new(response.status, decompress_response(response.body), response.headers) end end + # Merges headers already present in the connection and the ones passed in to perform_request + # + def parse_headers(headers, connection) + if connection.connection.headers + if !headers.nil? + connection.connection.headers.merge(headers) + else + connection.connection.headers + end + else + headers + end + end + # Builds and returns a connection # # @return [Connections::Connection] # def __build_connection(host, options={}, block=nil) @@ -71,27 +72,28 @@ # # @return [Array] # def host_unreachable_exceptions [ - ::Faraday::ConnectionFailed, - ::Faraday::TimeoutError, - ::Faraday.const_defined?(:ServerError) ? ::Faraday::ServerError : nil, - ::Faraday::SSLError + ::Faraday::ConnectionFailed, + ::Faraday::TimeoutError, + ::Faraday.const_defined?(:ServerError) ? ::Faraday::ServerError : nil, + ::Faraday::SSLError ].compact 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]}" - "elastic-transport-ruby/#{VERSION} (#{meta.join('; ')})" - end + 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] + "elastic-transport-ruby/#{VERSION} (#{meta.join('; ')})" + end end end end end end