[cgiapp] Unexpected variable persistence with CAD / CADS

Richard Jones ra.jones at dpw.clara.co.uk
Tue Oct 21 09:02:37 EDT 2008

Richard Jones wrote:

> That value of 'id' (2 in this case) persisted from the previous action, 
>  and will continue to live indefinitely across multiple requests until 
> it is either superceded by another id, or until I re-start the CAD server.

Behaviour confirmed with a minimal app which just captures id param from 
the url - either using CAP::AutoRunmode - my $id = $self->param('id') - 
or directly using CAP::RunmodeDeclare - runmode foo ($id) - and dumps 
$id to stdout as a warn statement. Once the 'id' param has been used in 
a request, it stays around in $self for subsequent requests, until the 
CAD server is restarted. This seems to me to be incredibly bad and 
dangerous behaviour.

It doesn't seem to happen in an identical setup running under mod_perl, 
so I presume it's a 'feature' of the CAD::Server / HTTP::Server. Is this 
a known issue, and one of the caveats alluded to in the CAD::Server 
docs? Never been a problem for anyone else?
Richard Jones

More information about the cgiapp mailing list