#!perl use common::sense; use Test::More tests => 1; use AnyEvent::Impl::Perl; use AnyEvent; use AnyEvent::HTTPD; use AnyEvent::Socket; my $c = AnyEvent->condvar; my $h = AnyEvent::HTTPD->new; my $cnt = 0; $h->reg_cb ( '/test' => sub { my ($httpd, $req) = @_; $cnt++; $req->respond ({ content => ['text/plain', "Test response ($cnt)"] }); }, ); my $hdl; my $buf; tcp_connect '127.0.0.1', $h->port, sub { my ($fh) = @_ or die "couldn't connect: $!"; $hdl = AnyEvent::Handle->new ( fh => $fh, on_eof => sub { $c->send }, on_read => sub { $buf .= $hdl->rbuf; $hdl->rbuf = ''; if ($buf =~ /Test response \(2\)/) { $c->send; } }); for (1..2) { $hdl->push_write ( "GET\040http://localhost:19090/test\040HTTP/1.0\015\012" . "Connection: Keep-Alive\015\012\015\012" ); } }; $c->recv; is ($cnt, 2, 'two requests over one connection');