Added support for -location
diff --git a/httplib2/__init__.py b/httplib2/__init__.py
index 8a55408..2f58afb 100644
--- a/httplib2/__init__.py
+++ b/httplib2/__init__.py
@@ -637,6 +637,7 @@
                             response['location'] = urlparse.urljoin(absolute_uri, location)
                     if response.status == 301 and method in ["GET", "HEAD"]:
                         response['-x-permanent-redirect-url'] = response['location']
+                        response['-location'] = absolute_uri 
                         _updateCache(headers, response, content, self.cache, cachekey)
                     if headers.has_key('if-none-match'):
                         del headers['if-none-match']
@@ -645,6 +646,7 @@
                     if response.has_key('location'):
                         location = response['location']
                         old_response = copy.deepcopy(response)
+                        old_response['-location'] = absolute_uri 
                         redirect_method = ((response.status == 303) and (method not in ["GET", "HEAD"])) and "GET" or method
                         (response, content) = self.request(location, redirect_method, body=body, headers = headers, redirections = redirections - 1)
                         response.previous = old_response
@@ -652,6 +654,7 @@
                     raise RedirectLimit( _("Redirected more times than rediection_limit allows."))
             elif response.status in [200, 203] and method == "GET":
                 # Don't cache 206's since we aren't going to handle byte range requests
+                response['-location'] = absolute_uri 
                 _updateCache(headers, response, content, self.cache, cachekey)
 
         return (response, content)
diff --git a/httplib2test.py b/httplib2test.py
index 50bf0f2..84f83a2 100755
--- a/httplib2test.py
+++ b/httplib2test.py
@@ -130,14 +130,18 @@
         # Test that we automatically follow 301 redirects
         # and that we cache the 301 response
         uri = urlparse.urljoin(base, "301/onestep.asis")
+        destination = urlparse.urljoin(base, "302/final-destination.txt")
         (response, content) = self.http.request(uri, "GET")
         self.assertEqual(response.status, 200)
+        self.assertTrue(response.has_key('-location'))
+        self.assertEqual(response['-location'], destination)
         self.assertEqual(content, "This is the final destination.\n")
         self.assertEqual(response.previous.status, 301)
         self.assertEqual(response.previous.fromcache, False)
 
         (response, content) = self.http.request(uri, "GET")
         self.assertEqual(response.status, 200)
+        self.assertEqual(response['-location'], destination)
         self.assertEqual(content, "This is the final destination.\n")
         self.assertEqual(response.previous.status, 301)
         self.assertEqual(response.previous.fromcache, True)
@@ -146,8 +150,10 @@
         # Test that we automatically follow 302 redirects
         # and that we DO NOT cache the 302 response
         uri = urlparse.urljoin(base, "302/onestep.asis")
+        destination = urlparse.urljoin(base, "302/final-destination.txt")
         (response, content) = self.http.request(uri, "GET")
         self.assertEqual(response.status, 200)
+        self.assertEqual(response['-location'], destination)
         self.assertEqual(content, "This is the final destination.\n")
         self.assertEqual(response.previous.status, 302)
         self.assertEqual(response.previous.fromcache, False)
@@ -156,9 +162,11 @@
         (response, content) = self.http.request(uri, "GET")
         self.assertEqual(response.status, 200)
         self.assertEqual(response.fromcache, True)
+        self.assertEqual(response['-location'], destination)
         self.assertEqual(content, "This is the final destination.\n")
         self.assertEqual(response.previous.status, 302)
         self.assertEqual(response.previous.fromcache, False)
+        self.assertEqual(response.previous['-location'], uri)
 
         uri = urlparse.urljoin(base, "302/twostep.asis")