[Python-checkins] python/dist/src/Lib urllib.py,1.157,1.158
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Thu, 15 May 2003 18:45:17 -0700
Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv8888
Modified Files:
urllib.py
Log Message:
More fixes according to SF 549151:
- When redirecting, always use GET. This is common practice and
more-or-less sanctioned by the HTTP standard.
- Add a handler for 307 redirection, which becomes an error for POST,
but a regular redirect for GET and HEAD.
Index: urllib.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/urllib.py,v
retrieving revision 1.157
retrieving revision 1.158
diff -C2 -d -r1.157 -r1.158
*** urllib.py 24 Apr 2003 15:32:08 -0000 1.157
--- urllib.py 16 May 2003 01:45:14 -0000 1.158
***************
*** 578,585 ****
# In case the server sent a relative URL, join with original:
newurl = basejoin(self.type + ":" + url, newurl)
! if data is None:
! return self.open(newurl)
! else:
! return self.open(newurl, data)
def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
--- 578,582 ----
# In case the server sent a relative URL, join with original:
newurl = basejoin(self.type + ":" + url, newurl)
! return self.open(newurl)
def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
***************
*** 590,593 ****
--- 587,597 ----
"""Error 303 -- also relocated (essentially identical to 302)."""
return self.http_error_302(url, fp, errcode, errmsg, headers, data)
+
+ def http_error_307(self, url, fp, errcode, errmsg, headers, data=None):
+ """Error 307 -- relocated, but turn POST into error."""
+ if data is None:
+ return self.http_error_302(url, fp, errcode, errmsg, headers, data)
+ else:
+ return self.http_error_default(url, fp, errcode, errmsg, headers)
def http_error_401(self, url, fp, errcode, errmsg, headers, data=None):