X-Git-Url: https://git.decadent.org.uk/gitweb/?p=maypole.git;a=blobdiff_plain;f=lib%2FMaypole.pm;h=596479e21ec8f2b57cbe4dd20dc1957c2385ad18;hp=fdb1b8659a493d76daad16232a65cf882ae36065;hb=5f90e1e118700c4cba7575299aa42dc4ffc0eb67;hpb=bd6da5dd49b9a50d49098f97278e4b440cb17bd9 diff --git a/lib/Maypole.pm b/lib/Maypole.pm index fdb1b86..596479e 100644 --- a/lib/Maypole.pm +++ b/lib/Maypole.pm @@ -184,7 +184,8 @@ __PACKAGE__->mk_classdata($_) for qw( config init_done view_object model_classes __PACKAGE__->mk_accessors( qw( params query objects model_class template_args output path args action template error document_encoding content_type table - headers_in headers_out stash status parent build_form_elements) + headers_in headers_out stash status parent build_form_elements + user session) ); __PACKAGE__->config( Maypole::Config->new() ); @@ -435,8 +436,10 @@ sub handler : method { return $self->status unless $self->status == Maypole::Constants::OK(); die "status undefined after start_request_hook()" unless defined $self->status; - $self->get_session; - $self->get_user; + + $self->session($self->get_session); + $self->user($self->get_user); + my $status = $self->handler_guts; return $status unless $status == OK; # TODO: require send_output to return a status code @@ -459,7 +462,7 @@ to call those actions. You may pass a query string in the usual URL style. You should not fully qualify the Maypole URLs. Note: any HTTP POST or URL parameters passed to the parent are not passed to the -component sub-request, only what is included in the url passed as an argyument +component sub-request, only what is included in the url passed as an argument to the method =cut @@ -474,7 +477,9 @@ sub component { $self->args([]); $self->objects([]); - $self->get_user; + $self->session($self->get_session); + $self->user($self->get_user); + my $url = URI->new($path); $self->{path} = $url->path; $self->parse_path;