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