diff --git a/lib/pincers/http/client.rb b/lib/pincers/http/client.rb
index <HASH>..<HASH> 100644
--- a/lib/pincers/http/client.rb
+++ b/lib/pincers/http/client.rb
@@ -78,7 +78,7 @@ module Pincers::Http
     end
 
     def absolute_uri_for(_url)
-      uri = Utils.parse_uri(_url)
+      uri = _url.is_a?(URI) ? _url : Utils.parse_uri(_url)
       if uri.relative?
         raise ArgumentError, 'Absolute url was required' if @document.nil?
         uri = URI.join(@document.uri, uri)
diff --git a/lib/pincers/http/utils.rb b/lib/pincers/http/utils.rb
index <HASH>..<HASH> 100644
--- a/lib/pincers/http/utils.rb
+++ b/lib/pincers/http/utils.rb
@@ -18,8 +18,8 @@ module Pincers::Http
       pair_recursive [], _hash
     end
 
-    def parse_uri(_uri)
-      URI.parse _uri
+    def parse_uri(_url)
+      URI.parse _url
     end
 
   private
feat(http.client): enables absolute_uri_for to receive an URI