<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,10 +21,6 @@ module HTTParty
       @path = URI.parse(uri)
     end
 
-    def uri
-      path.relative? ? URI.parse(&quot;#{options[:base_uri]}#{path}&quot;) : path
-    end
-
     # FIXME: this method is doing way to much and needs to be split up
     # options can be any or all of:
     #   query       =&gt; hash of keys/values or a query string (foo=bar&amp;baz=poo)
@@ -38,13 +34,21 @@ module HTTParty
       raise ArgumentError, ':headers must be a hash' if options[:headers] &amp;&amp; !options[:headers].is_a?(Hash)
       raise ArgumentError, ':basic_auth must be a hash' if options[:basic_auth] &amp;&amp; !options[:basic_auth].is_a?(Hash)
       
-      existing_query = uri.query ? &quot;#{uri.query}&amp;&quot; : ''
-      uri.query      = if options[:query].blank?
-        existing_query + options[:default_params].to_query
+      uri = path.relative? ? URI.parse(&quot;#{options[:base_uri]}#{path}&quot;) : path
+      
+      
+      query_string_parts = []
+      query_string_parts &lt;&lt; uri.query unless uri.query.blank?
+      
+      if options[:query].is_a?(Hash)
+        query_string_parts &lt;&lt; options[:default_params].merge(options[:query]).to_query
       else
-        existing_query + (options[:query].is_a?(Hash) ? options[:default_params].merge(options[:query]).to_query : options[:query])
+        query_string_parts &lt;&lt; options[:default_params].to_query unless options[:default_params].blank?
+        query_string_parts &lt;&lt; options[:query] unless options[:query].blank?
       end
       
+      uri.query = query_string_parts.join('&amp;') if query_string_parts.size &gt; 0
+      
       request        = http_method.new(uri.request_uri)
       request.body   = options[:body].is_a?(Hash) ? options[:body].to_query : options[:body] unless options[:body].blank?
       request.initialize_http_header options[:headers]</diff>
      <filename>lib/httparty/request.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c3e2a57083f91b93bda22e7427307020d0ecacc3</id>
    </parent>
  </parents>
  <author>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </author>
  <url>http://github.com/jnunemaker/httparty/commit/c67b6d4f01b9e01438da4ce3aa92f32828806eb3</url>
  <id>c67b6d4f01b9e01438da4ce3aa92f32828806eb3</id>
  <committed-date>2008-11-11T15:58:53-08:00</committed-date>
  <authored-date>2008-11-11T15:58:53-08:00</authored-date>
  <message>Everything seems to be working once again since the minor refactoring.</message>
  <tree>922e57d3894a5655833bc05c568e8c82ffd5de8c</tree>
  <committer>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </committer>
</commit>
