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 )