added response.url support for 301's and the like.
authorKenneth Reitz <me@kennethreitz.com>
Mon, 14 Feb 2011 14:53:56 +0000 (09:53 -0500)
committerKenneth Reitz <me@kennethreitz.com>
Mon, 14 Feb 2011 14:53:56 +0000 (09:53 -0500)
README.rst
requests/core.py

index 9b3cfb68a440525484ce35c11bce894f252538a6..1c0289a1bbe41467af2257319c7cfb37d25b05c1 100644 (file)
@@ -88,6 +88,9 @@ All request functions return a Response object (see below).
     Request.content:
         (Bytes) Received Content
 
+    Request.url
+        (String) URL of response. Useful for detecting redirects. 
+
 
 **HTTP Authentication Registry:**
 
index 5d9e5b744b0d0fc2e2d7794b45c12129ac699c63..71f6963806afdce34cd6ffeb966a5556993430bf 100644 (file)
@@ -137,8 +137,9 @@ class Request(object):
                                        resp = opener(req)
                                        self.response.status_code = resp.code
                                        self.response.headers = resp.info().dict
-                                       if self.method.lower() == 'get':
+                                       if self.method == 'GET':
                                                self.response.content = resp.read()
+                                       self.response.url = resp.url
 
                                        success = True
                                except urllib2.HTTPError as why:
@@ -172,6 +173,7 @@ class Request(object):
                                        self.response.status_code = resp.code
                                        self.response.headers = resp.info().dict
                                        self.response.content = resp.read()
+                                       self.response.url = resp.url
 
                                        success = True
 
@@ -208,6 +210,7 @@ class Request(object):
                                        self.response.status_code = resp.code
                                        self.response.headers = resp.info().dict
                                        self.response.content = resp.read()
+                                       self.response.url = resp.url
 
                                        success = True
 
@@ -230,6 +233,7 @@ class Response(object):
                self.content = None
                self.status_code = None
                self.headers = dict()
+               self.url = None
                
        def __repr__(self):
                return '<Response [%s]>' % (self.status_code)