# This file documents the revision history for Perl extension Catalyst.
+ Backward compatibility fixes:
+
+ - Fix calling MyApp->engine_class to set the engine class manually.
+
5.89003 2011-07-28 20:11:50 (TRIAL release)
Backward compatibility fixes:
* Fix nginx middlewares so that they are generic, or can somehow
be used by people with their own .psgi files
- * Fix a sane / nicer way to do custom engines.
* I've noticed a small difference with Catalyst::Test. The latest stable
version include two headers, 'host' and 'https'. They are missing from
=cut
sub engine_class {
- my $class = shift;
- confess("Setting ->engine_class manually is no longer supported. XXX FIXME") if scalar @_;
+ my ($class, $requested_engine) = @_;
+
+ if (!$class->engine_loader || $requested_engine) {
+ $class->engine_loader(
+ Catalyst::EngineLoader->new({
+ application_name => $class,
+ (defined $requested_engine
+ ? (requested_engine => $requested_engine) : ()),
+ }),
+ );
+ }
$class->engine_loader->catalyst_engine_class;
}
sub setup_engine {
my ($class, $requested_engine) = @_;
- $class->engine_loader(
- Catalyst::EngineLoader->new({
- application_name => $class,
- (defined $requested_engine
- ? (requested_engine => $requested_engine) : ()),
- }),
- );
+ my $engine = $class->engine_class($requested_engine);
# Don't really setup_engine -- see _setup_psgi_app for explanation.
return if $class->loading_psgi_file;
- my $engine = $class->engine_class;
Class::MOP::load_class($engine);
if ($ENV{MOD_PERL}) {