use NEXT;
use Socket;
use IO::Socket::INET ();
-use IO::Select ();
+use IO::Select ();
# For PAR
require Catalyst::Engine::HTTP::Restarter;
=head1 METHODS
-=over 4
-
-=item $self->finalize_headers($c)
+=head2 $self->finalize_headers($c)
=cut
$self->NEXT::finalize_headers($c);
}
-=item $self->finalize_read($c)
+=head2 $self->finalize_read($c)
=cut
return $self->NEXT::finalize_read($c);
}
-=item $self->prepare_read($c)
+=head2 $self->prepare_read($c)
=cut
return $self->NEXT::prepare_read($c);
}
-=item $self->read_chunk($c, $buffer, $length)
+=head2 $self->read_chunk($c, $buffer, $length)
=cut
}
}
-=item run
+=head2 run
=cut
my $sockdata = $self->_socket_data( \*Remote );
my $ipaddr = _inet_addr( $sockdata->{peeraddr} );
my $ready = 0;
- while ( my ( $ip, $mask ) = each %$allowed and not $ready ) {
+ foreach my $ip ( keys %$allowed ) {
+ my $mask = $allowed->{$ip};
$ready = ( $ipaddr & _inet_addr($mask) ) == _inet_addr($ip);
+ last if $ready;
}
if ($ready) {
$restart = 1;
sub _inet_addr { unpack "N*", inet_aton( $_[0] ) }
-=back
-
=head1 SEE ALSO
L<Catalyst>, L<Catalyst::Engine>.