On 18 Aug 2009, at 01:19, Steve Kleiman wrote:
Thanks for taking a look. I thought I had it isolated but seems
not. Tried what you suggested below but the instigator of the
cookie happens at a different juncture.
The instigator for a 'Catalyst::Plugin::Session' cookie being set
is 'Session::prepare_action'. The method calls 'sessionid' which
ultimately invokes the resetting of the cookie.
Right.. But you then clear the cookie at the end of the hit, problem
solved?
So a more refined question would be, is there a way to wrap only
'Session::prepare_action' whilst not wrapping all the other
'prepare_action' methods? I've tried the following but have had no
luck:
before 'prepare_action' => sub { ... }
before 'Session::prepare_action' => sub { ... }
before 'Catalyst::Plugin::Session::prepare_action' => sub { ... }
Thanks for the help....
Sure - Class::MOP::Class->initialize('Catalyst::Plugin::Session')-
>add_before_modifier iirc. Also - when you say 'wrap' - a before
modifier won't wrap a method - the method _always_ runs.
Also, monkeypatching like this is a bad idea, as it has global effect
(your entire perl interpreter).
Why doesn't the initial solution solve your problem, by clearing the
troublesome cookie (so the browser never sees it) at the end of the hit.
Cheers
t0m
_______________________________________________
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/