Sha256: f4a2719fa9b8146eccf354c98acbe94c00071651056bba5df7d370f428209b5c

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

require 'faraday'
require_relative 'user_agent_option'
module MicrosoftKiotaFaraday
    module Middleware
        class UserAgentHandler < Faraday::Middleware
            @@default_option = UserAgentOption.new
			@@user_agent_key = "User-Agent"
			def call(request_env)
                request_option = request_env[:request][:context][@@default_option.get_key] unless request_env[:request].nil? || request_env[:request][:context].nil?
                request_option = @@default_option if request_option.nil?
                unless request_env[:request_headers].nil? || !request_option.enabled || request_option.product_name.nil? || request_option.product_name.empty? || request_option.product_version.nil? || request_option.product_version.empty? then
                    existing_value = request_env[:request_headers][@@user_agent_key]
					additional_value = "#{request_option.product_name}/#{request_option.product_version}"
					if !existing_value || existing_value.empty? then
						request_env[:request_headers][@@user_agent_key] = additional_value
					elsif !existing_value.include? additional_value then
						request_env[:request_headers][@@user_agent_key] = "#{existing_value} #{additional_value}"
					end
                end
                @app.call(request_env) unless @app.nil?
            end
		end
	end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
microsoft_kiota_faraday-0.15.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb
microsoft_kiota_faraday-0.14.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb
microsoft_kiota_faraday-0.13.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb
microsoft_kiota_faraday-0.12.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb
microsoft_kiota_faraday-0.11.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb
microsoft_kiota_faraday-0.10.0 lib/microsoft_kiota_faraday/middleware/user_agent_handler.rb