# Remember to update this in Catalyst::Runtime as well!
-our $VERSION = '5.90063';
+our $VERSION = '5.90064';
sub import {
my ( $class, @arguments ) = @_;
}
$class->setup_finalize;
- # Should be the last thing we do so that user things hooking
- # setup_finalize can log..
- $class->log->_flush() if $class->log->can('_flush');
+
+ # Turn autoflush back off once setup is finished.
+ # TODO: this is being done purely for Static::Simple (legacy API), and has been suggested by
+ # mst to be removed and require/update Static::Simple to set this flag itself
+ $class->log->autoflush(0) if ($class->log->can('autoflush'));
+
return $class || 1; # Just in case someone named their Application 0...
}
unless ( $class->log ) {
$class->log( Catalyst::Log->new(keys %levels) );
}
+
+ # Turn on autoflush by default:
+ $class->log->autoflush(1) if ($class->log->can('autoflush'));
if ( $levels{debug} ) {
Class::MOP::get_metaclass_by_name($class)->add_method('debug' => sub { 1 });
experience with L<Plack::Builder> or if you previously used the plugin
L<Catalyst::Plugin::EnableMiddleware> (which is now considered deprecated)
+So basically your middleware handles an incoming request from the first
+registered middleware, down and handles the response from the last middleware
+up.
+
=cut
sub registered_middlewares {
sub setup_middleware {
my $class = shift;
my @middleware_definitions = @_ ?
- @_ : reverse(@{$class->config->{'psgi_middleware'}||[]});
+ reverse(@_) : reverse(@{$class->config->{'psgi_middleware'}||[]});
my @middleware = ();
while(my $next = shift(@middleware_definitions)) {
it installed (if you want the faster XS parser, add it to you project Makefile.PL
or dist.ini, cpanfile, etc.)
-The C<data_handlers> configuation is a hashref whose keys are HTTP Content-Types
+The C<data_handlers> configuration is a hashref whose keys are HTTP Content-Types
(matched against the incoming request type using a regexp such as to be case
insensitive) and whose values are coderefs that receive a localized version of
C<$_> which is a filehandle object pointing to received body.