Catalyst-Engine-Server

 view release on metacpan or  search on metacpan

lib/Catalyst/Engine/Server/Base.pm  view on Meta::CPAN

    if ( $prop->{port} && not ref( $prop->{port} ) ) {
         $prop->{port} = [ $prop->{port} ];
    }
}

sub process_request {
    my $self   = shift;
    my $prop   = $self->{server};
    my $client = $prop->{client};

    local $SIG{ALRM} = sub { die "Timeout (30s)\n" };

  REQUEST:

    my $timeout = 30;
    my $parser  = HTTP::Parser->new;

    eval {

        alarm($timeout);

lib/Catalyst/Engine/Server/Base.pm  view on Meta::CPAN


        if ( $protocol ne 'HTTP/1.1' && $connection =~ /Keep-Alive/i ) {
            goto REQUEST;
        }
    };

    if ( my $error = $@ ) {

        chomp($error);

        unless ( $error =~ /^Timeout/ ) {
            warn $error;
        }
    }

  DONE:

    alarm(0);

    if ( $client->connected ) {
        $client->shutdown(2);



( run in 0.270 second using v1.01-cache-2.11-cpan-4d50c553e7e )