AnyEvent-Connector
view release on metacpan or search on metacpan
t/connect.t view on Meta::CPAN
}
subtest 'successful echo proxy', sub {
my ($proxy_port, $proxy_guard, $proxy_cv) = setup_echo_proxy();
my $conn = AnyEvent::Connector->new(
proxy => "http://127.0.0.1:$proxy_port"
);
my $client_cv = AnyEvent->condvar;
my ($got_host, $got_port);
$conn->tcp_connect("this.never.exist.i.guess.com", 5500, sub {
(my $fh, $got_host, $got_port) = @_;
my $ah;
$ah = AnyEvent::Handle->new(
fh => $fh,
on_error => sub {
my ($h, $fatal, $msg) = @_;
$ah->destroy();
undef $ah;
$client_cv->croak($fatal, $msg);
},
t/connect.t view on Meta::CPAN
$ah->destroy();
undef $ah;
$client_cv->send($line);
});
});
my $client_got = $client_cv->recv();
my $proxy_got = $proxy_cv->recv();
is $client_got, "data submitted";
is $got_host, "127.0.0.1";
is $got_port, $proxy_port;
is $proxy_got->[0], "CONNECT this.never.exist.i.guess.com:5500 HTTP/1.1\r\nHost: this.never.exist.i.guess.com:5500\r\n\r\n";
is $proxy_got->[1], "data submitted\n";
is_deeply $proxy_got->[2], [];
};
subtest "proxy error", sub {
my ($proxy_port, $proxy_guard) = setup_closing_proxy();
my $conn = AnyEvent::Connector->new(
proxy => "http://127.0.0.1:$proxy_port"
);
my $client_cv = AnyEvent->condvar;
( run in 1.299 second using v1.01-cache-2.11-cpan-702932259ff )