Fix duplication of parameters in qeuery string
[arvados.git] / lib / google / api_client / request.rb
index 9a084c31a4e3ecf9f4b7f88af088a517e4544315..9a08c2a5834f36b302e33317de866e713c0eed0e 100644 (file)
@@ -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