diff --git a/lib/twilio-ruby/http/http_client.rb b/lib/twilio-ruby/http/http_client.rb index 99f3c7cc8..0a0607012 100644 --- a/lib/twilio-ruby/http/http_client.rb +++ b/lib/twilio-ruby/http/http_client.rb @@ -6,7 +6,7 @@ module Twilio module HTTP class Client attr_accessor :adapter - attr_reader :timeout, :last_response, :last_request + attr_reader :timeout, :last_response, :last_request, :connection def initialize(proxy_prot = nil, proxy_addr = nil, proxy_port = nil, proxy_user = nil, proxy_pass = nil, ssl_ca_file = nil, timeout: nil) @@ -39,6 +39,7 @@ def _request(request) # rubocop:disable Metrics/MethodLength 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 + f.params = request.params.nil? ? {} : request.params @configure_connection_blocks.each { |block| block.call(f) } f.adapter @adapter @@ -65,7 +66,7 @@ def _request(request) # rubocop:disable Metrics/MethodLength def send(request) @connection.send(request.method.downcase.to_sym, request.url, - request.method == 'GET' ? request.params : request.data) + request.data) rescue Faraday::Error => e raise Twilio::REST::TwilioError, e end diff --git a/spec/http/http_client_spec.rb b/spec/http/http_client_spec.rb index 27d290bec..422b62cd5 100644 --- a/spec/http/http_client_spec.rb +++ b/spec/http/http_client_spec.rb @@ -133,6 +133,13 @@ expect(@client.last_request.timeout).to be_nil end + it 'should contain params in Connection object' do + allow_any_instance_of(Faraday::Connection).to receive(:send).and_return(double('response', status: 301, body: {}, headers: { something: '1' })) + params = Twilio::Values.of({ 'abc' => 'xyz' }) + @client.request('host', 'port', 'DELETE', 'url', params, nil, {}, ['a', 'b']) + expect(@client.connection.params).to eq({ 'abc' => 'xyz' }) + end + describe 'last_response' do let(:last_response) { Twilio::Response.new(200, 'body') } end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 62fbbaa88..8b295d076 100755 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -19,6 +19,7 @@ require 'twilio-ruby' require 'rspec/matchers' require 'equivalent-xml' +require 'rspec/core' RSpec.configure do |config| config.expect_with :rspec do |c|