AnyEvent-UserAgent
view release on metacpan or search on metacpan
t/05-timeout.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use AnyEvent ();
use AnyEvent::UserAgent ();
our $TIMEOUT = 0.5;
{
no warnings 'prototype';
no warnings 'redefine';
*AnyEvent::HTTP::http_request = sub {
my $cb = pop();
my $t; $t = AE::timer $TIMEOUT + 10, 0, sub {
undef($t);
$cb->('', {
Status => 200,
Reason => 'OK',
});
};
};
}
my $ua = AnyEvent::UserAgent->new(
request_timeout => $TIMEOUT,
);
my $cv = AE::cv;
$ua->get('http://example.com/', sub {
my ($res) = @_;
ok $res->code == 597;
is $res->message, 'Request timeout';
$cv->send();
});
$cv->recv();
done_testing;
( run in 0.857 second using v1.01-cache-2.11-cpan-84de2e75c66 )