From f421551018ebf25f3a9896abbeabcf6918d63e09 Mon Sep 17 00:00:00 2001 From: Steven Bazyl Date: Tue, 22 Jan 2013 22:14:50 -0800 Subject: [PATCH] Fix duplication of parameters in qeuery string --- lib/google/api_client/request.rb | 9 +++++---- spec/google/api_client/discovery_spec.rb | 3 +-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/google/api_client/request.rb b/lib/google/api_client/request.rb index 9a084c31a..9a08c2a58 100644 --- a/lib/google/api_client/request.rb +++ b/lib/google/api_client/request.rb @@ -181,14 +181,15 @@ module Google # @return [Array<(Symbol, Addressable::URI, Hash, [#read,#to_str])>] def to_http_request request = ( - if self.uri + if self.api_method + self.api_method.generate_request(self.parameters, self.body, self.headers) + elsif self.uri unless self.parameters.empty? self.uri.query = Addressable::URI.form_encode(self.parameters) end [self.http_method, self.uri.to_s, self.headers, self.body] - else - self.api_method.generate_request(self.parameters, self.body, self.headers) end) + return request end ## @@ -227,7 +228,7 @@ module Google def to_env(connection) method, uri, headers, body = self.to_http_request http_request = connection.build_request(method) do |req| - req.url(uri) + req.url(uri.to_s) req.headers.update(headers) req.body = body end diff --git a/spec/google/api_client/discovery_spec.rb b/spec/google/api_client/discovery_spec.rb index 38e38925f..9b8f0b715 100644 --- a/spec/google/api_client/discovery_spec.rb +++ b/spec/google/api_client/discovery_spec.rb @@ -432,8 +432,7 @@ describe Google::APIClient do it 'should generate requests against the correct URIs' do conn = stub_connection do |stub| - stub.get('/plus/v1/people/107807692475771887386/activities/public' + - '?collection=public&userId=107807692475771887386') do |env| + stub.get('/plus/v1/people/107807692475771887386/activities/public') do |env| end end