$c->finalize_body;
}
+ $c->finalize_ioc;
+
$c->log_response;
if ($c->use_stats) {
sub finalize_uploads { my $c = shift; $c->engine->finalize_uploads( $c, @_ ) }
+=head2 $c->finalize_ioc
+
+Flushes all services with Request lifecycle.
+
+=cut
+
+sub finalize_ioc { shift->container->flush_request_services() }
+
=head2 $c->get_action( $action, $namespace )
Gets an action in a given namespace.
return Devel::InnerPackage::list_packages( $module );
}
+# copied from stevan's OX
+sub flush_request_services {
+ my $self = shift;
+ my @services = $self->get_service_list;
+
+ foreach my $service (@services) {
+ my $injection = $self->get_service($service);
+ if ($injection->does('Catalyst::IOC::LifeCycle::Request')) {
+ $injection->flush_instance;
+ }
+ }
+}
+
1;
__END__
Components found by C<locate_components> will be passed to this method, which
is expected to return a list of component (package) names to be set up.
+=head2 flush_request_services
+
=head2 setup_components
=head1 AUTHORS
--- /dev/null
+package Catalyst::IOC::LifeCycle::Request;
+use Moose::Role;
+use namespace::autoclean;
+
+# based on Bread::Board::LifeCycle::Request from OX
+# just behaves like a singleton - ::Request instances
+# will get flushed after the response is sent
+with 'Bread::Board::LifeCycle::Singleton';
+
+1;