On 19 Aug 2010, at 18:12, Charlie Garrison wrote:
> Good morning,
> 
> On 19/08/10 at 9:12 AM -0700, Bryan Opfer <[email protected]> wrote:
> 
>> I have the same exact behavior in my app after upgrading to 0.14.  So,
>> I don't think it is just your app.  Interestingly, if I remove "param"
>> from my config and use the mode where the session id is appended to
>> the URI, then things work fine.  But, if I use the session id in the
>> param, it breaks just like your app.
> 
> We're hitting the same thing then. I've just been playing with 
> C::P::Session::State::URI code and found that if I change line 323 from:
> 
>        if ( my $sid = $c->request->param($param) ) {
> 
> to:
> 
>        if ( my $sid = 0 ) {
> 
> then the problem goes away. So without knowing more about Cat internals I 
> would conclude that calling $c->request->param during `prepare_path` is 
> creating problems elsewhere. I also tried:
> 
>        if ( my $sid = $c->request->parameters->{$param} ) {

Try changing parameters to query_parameters. It sounds like hitting params is 
causing it to read the body and mess things up when it comes to read the body 
again.

Also if you could see to creating a (failing) regression test this would help.



> 
> And that fails as well.
> 
> I've tried following the code logic but I'm quickly getting lost in all the 
> different prepare_* methods spread among Catalyst.pm and the different 
> C::Engine modules.
> 
> For now I've changed C::P::Session::State::URI with `sub prepare_action 
> {...]` rather than `prepare_path` and my app is working. Hopefully someone 
> with some better ideas than me can suggest what the proper fix is.
> 
> 
> Charlie




_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to