sub run_loop { my ($self) = @_; my $requester = $self->requester; $self->{_REQUEST_NUMBER}=0; # initialize the request counter while (my $input = $requester->new_request()) { $self->_reset_timings; # start request timing begin_timing('REQUEST'); $self->scratch->init; ++$self->{_REQUEST_NUMBER}; warn "[--] Starting a new request $self->{_REQUEST_NUMBER} (Client: $ENV{REMOTE_ADDR}) ...\n"; $self->{_INPUT} = $input; # read application configuration $self->config_object->getConfig($self->name()); # process request $self->_process_request; # finish the request $requester->close_request(); $self->invoke_post_request_callbacks; # end request timing $self->timing('REQUEST', time_since('REQUEST')); warn "[--] Finished handling request $self->{_REQUEST_NUMBER} ...\n"; $self->post_request; }