package Catalyst::Engine::HTTP;
+use Class::C3;
use Moose;
extends 'Catalyst::Engine::CGI';
+no Moose;
+
use Data::Dump qw(dump);
use Errno 'EWOULDBLOCK';
use HTTP::Date ();
=cut
-before finalize_read => sub {
+sub finalize_read {
# Never ever remove this, it would result in random length output
# streams if STDIN eq STDOUT (like in the HTTP engine)
*STDIN->blocking(1);
-};
+ shift->next::method(@_);
+}
=head2 $self->prepare_read($c)
=cut
-befpre prepare_read => sub {
+sub prepare_read {
# Set the input handle to non-blocking
*STDIN->blocking(0);
-};
+ shift->next::method(@_);
+}
=head2 $self->read_chunk($c, $buffer, $length)
=cut
-around write => sub {
- my $orig = shift;
+sub write {
my ( $self, $c, $buffer ) = @_;
# Avoid 'print() on closed filehandle Remote' warnings when using IE
$buffer = $headers . $buffer;
}
- my $ret = $self->$orig( $c, $buffer );
+ my $ret = $self->next::method($c, $buffer);
if ( !defined $ret ) {
$self->{_write_error} = $!;
else {
DEBUG && warn "write: Wrote response ($ret bytes)\n";
}
-
+
return $ret;
-};
+}
=head2 run