AnyEvent-HTTP-LWP-UserAgent-Determined

 view release on metacpan or  search on metacpan

lib/AnyEvent/HTTP/LWP/UserAgent/Determined.pm  view on Meta::CPAN

    my $pause_if_unsuccessful = shift @timing_tries;

    $before_c and $before_c->(
      $self, \@timing_tries, $pause_if_unsuccessful, $determination, \@args);
    $self->SUPER::simple_request_async(@args)->cb(sub {
      my $resp = shift->recv;
      $after_c and $after_c->(
        $self, \@timing_tries, $pause_if_unsuccessful, $determination, \@args, $resp);

      my $code = $resp->code;
      unless( $determination->{$code} ) { # normal case: all is well (or 404, etc)
        $cv->send($resp); return;
      }
      if(defined $pause_if_unsuccessful) { # it's undef only on the last

        sleep $pause_if_unsuccessful if $pause_if_unsuccessful;
        $loop->();
      } else {
        $cv->send($resp);
      }
    });

t/10_determined_test.t  view on Meta::CPAN

    sub print_banner { }

    sub handle_request {
        my ($self, $cgi) = @_;

        if($cgi->url(-path_info=>1) =~ m,/unavailable$,) {
            print "HTTP/1.0 503 Service Unavailable\r\n";
            print "\r\n";
            return;
        } elsif($cgi->url(-path_info=>1) =~ m,/notfound$,) {
            print "HTTP/1.0 404 Not found\r\n";
            print "\r\n";
            return;
        } elsif($cgi->url(-path_info=>1) =~ m,/redirect(\d)$,) {
            my $count = $1; 
            if($count < 3) {
                ++$count;
                print "HTTP/1.0 301 Moved Permanently\r\n";
                print "Location: /redirect$count\r\n";
                print "\r\n";
                return;

t/11_determined_test_async.t  view on Meta::CPAN

    sub print_banner { }

    sub handle_request {
        my ($self, $cgi) = @_;

        if($cgi->url(-path_info=>1) =~ m,/unavailable$,) {
            print "HTTP/1.0 503 Service Unavailable\r\n";
            print "\r\n";
            return;
        } elsif($cgi->url(-path_info=>1) =~ m,/notfound$,) {
            print "HTTP/1.0 404 Not found\r\n";
            print "\r\n";
            return;
        } elsif($cgi->url(-path_info=>1) =~ m,/redirect(\d)$,) {
            my $count = $1; 
            if($count < 3) {
                ++$count;
                print "HTTP/1.0 301 Moved Permanently\r\n";
                print "Location: /redirect$count\r\n";
                print "\r\n";
                return;



( run in 0.431 second using v1.01-cache-2.11-cpan-39bf76dae61 )