On Jan 1, 2011, at 10:12 AM, Arun K.Rajeevan wrote:
> I set, routes_apps_raw=['init']
> 
> and modified controllers to use request.raw_args
> Now my controllers are working fine.
> 
> But it caused two new problems :related to download and login
> 
> 1) def download():
>        return response.download(request,db)
>    
>     since above will not work when routes_apps_raw is set, I modified it to
> 
> def download():
>     import os, time
>     filename = 
> os.path.join(request.folder,'uploads',request.raw_args.split('/')[0])
>     return response.stream(open(filename,'rb'))
> 
> Now it displays images in webpage, but I've a option to download picture.
> using default download method, it used to open a file save dialog but, now it 
> displays picture in browser (in encoded form, hence 'garbage' )
> 
> what  should I add to my custom download function to work properly.
> 

See my earlier message on this subject.

> 2) Login form is not working anymore.
>    Browser reports 'too many redirects' when I try to access login or 
> registration forms and such.
> 
> what went wrong? How to fix it?

In default.user, process request.raw_args into request.args, and perform the 
standard check on each arg.

This will be easier in the new system (this is good feedback; thanks). 
Tentatively: raw_args will be a list of raw args, rather than a string, and 
will always be there. args will be a list of validated args, as now, but if 
args-checking is disabled, I'll silently replace any invalid arg in args with 
None.

Reply via email to