CC: | bug-Catalyst-Plugin-Session [...] rt.cpan.org |
Subject: | Problem/bug in Catalyst::Plugin:Session when Combined with Engine::Apache |
Date: | Wed, 15 Aug 2007 18:17:25 +0300 |
To: | nothingmuch [...] woobling.org |
From: | "Valentin Tumarkin" <valentin [...] fuzzycow.org> |
Hi,
First of all - thank you for the great work on the Catalyst modules.
Now, down to business - I believe I have discovered a problem in the
recent releases of Catalyst::Plugin::Session. Below are my
discoveries.
It seems that the recent change in Catalyst::Plugin::Session (0.15)
causes a problem with Catalyst::Engine::Apache module, when trying to
return an Apache::Const::DECLINE status.
From the changelog:
"Changed finalize() to redispatch before saving session so other
finalize methods still have access to it."
Catalyst's handle_request gets the $status to return to Apache from
the finalize() method. Catalyst.pm finalize method returns
$c->response->status.
Since Catalyst::Plugin::Session (0.15) gets called after the default
Catalyst finalize method, and does not return anyhing - Apache never
gets its status.
At this time, as a workaround, I'm using a custom Plugin module with
own finalize function, which runs after Catalyst::Plugin::Session
finalize, and fixes the return value.
Regards,
Valentin