[Catalyst] App breaks after updating to
Catalyst::Plugin::Session::State::URI v0.14
Ash Berlin
ash_cpan at firemirror.com
Thu Aug 19 17:32:49 GMT 2010
On 19 Aug 2010, at 18:12, Charlie Garrison wrote:
> Good morning,
>
> On 19/08/10 at 9:12 AM -0700, Bryan Opfer <b at opfermail.com> 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
More information about the Catalyst
mailing list