This makes the http engine tests pass again.
Still I have no idea why
around foo => sub {
shift->(@_);
};
isn't the same as
around foo => sub {
my $orig = shift;
$orig->(@_);
};
The first version will also pass the coderef to the original method.
=cut
-around finalize_read => sub {
+before finalize_read => sub {
# 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->(@_);
};
=head2 $self->prepare_read($c)
=cut
-around prepare_read => sub {
+before prepare_read => sub {
# Set the input handle to non-blocking
*STDIN->blocking(0);
- shift->(@_);
};
=head2 $self->read_chunk($c, $buffer, $length)