lib/twilio-ruby/http/http_client.rb in twilio-ruby-5.55.0 vs lib/twilio-ruby/http/http_client.rb in twilio-ruby-5.56.0

- old
+ new

@@ -14,21 +14,31 @@ @proxy_path = "#{proxy_addr}:#{proxy_port}" if proxy_addr && proxy_port @proxy_auth = "#{proxy_user}:#{proxy_pass}@" if proxy_pass && proxy_user @ssl_ca_file = ssl_ca_file @timeout = timeout @adapter = Faraday.default_adapter + @configure_connection_blocks = [] end + def configure_connection(&block) + raise ArgumentError, "#{__method__} must be given a block!" unless block_given? + + @configure_connection_blocks << block + nil + end + def _request(request) @connection = Faraday.new(url: request.host + ':' + request.port.to_s, ssl: { verify: true }) do |f| f.options.params_encoder = Faraday::FlatParamsEncoder f.request :url_encoded - f.adapter @adapter f.headers = request.headers f.basic_auth(request.auth[0], request.auth[1]) f.proxy = "#{@proxy_prot}://#{@proxy_auth}#{@proxy_path}" if @proxy_prot && @proxy_path f.options.open_timeout = request.timeout || @timeout f.options.timeout = request.timeout || @timeout + + @configure_connection_blocks.each { |block| block.call(f) } + f.adapter @adapter end @last_request = request @last_response = nil