better redirect, thanks Anthony

This commit is contained in:
mdipierro
2012-08-08 14:20:05 -05:00
parent 7f97301e06
commit 549f3f27dc
2 changed files with 11 additions and 14 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.0 (2012-08-08 14:15:29) dev Version 2.00.0 (2012-08-08 14:20:03) dev
+10 -13
View File
@@ -119,19 +119,16 @@ class HTTP(BaseException):
return self.message return self.message
def redirect(location, how=303, type='http'): def redirect(location, how=303, client_side=False):
if type=='auto': if location:
from gluon import current from gluon import current
type = 'client' if current.request.ajax else 'http' loc = location.replace('\r', '%0D').replace('\n', '%0A')
if not location: if client_side and current.request.ajax:
return raise HTTP(200, **{'web2py-redirect-location': loc})
location = location.replace('\r', '%0D').replace('\n', '%0A') else:
if type == 'client': raise HTTP(how,
raise HTTP(200, **{'web2py-redirect-location': location}) 'You are being redirected <a href="%s">here</a>' % loc,
else: Location=loc)
raise HTTP(how,
'You are being redirected <a href="%s">here</a>' % location,
Location=location)