AnyEvent-HTTP-LWP-UserAgent
view release on metacpan or search on metacpan
lib/AnyEvent/HTTP/LWP/UserAgent.pm view on Meta::CPAN
my($self, @parameters) = @_;
my @suff = $self->_process_colonic_headers(\@parameters,1);
return $self->request_async( HTTP::Request::Common::HEAD( @parameters ), @suff );
}
sub put_async {
require HTTP::Request::Common;
my($self, @parameters) = @_;
my @suff = $self->_process_colonic_headers(\@parameters, (ref($parameters[1]) ? 2 : 1));
return $self->request_async( HTTP::Request::Common::PUT( @parameters ), @suff );
}
sub delete_async {
require HTTP::Request::Common;
my($self, @parameters) = @_;
my @suff = $self->_process_colonic_headers(\@parameters,1);
return $self->request_async( HTTP::Request::Common::DELETE( @parameters ), @suff );
}
}
plan tests => 14;
my $cv = AE::cv;
my %tests = (
DELETE => 'AnyEvent::HTTP::LWP::UserAgent::delete_async',
GET => 'AnyEvent::HTTP::LWP::UserAgent::get_async',
HEAD => 'AnyEvent::HTTP::LWP::UserAgent::head_async',
POST => 'AnyEvent::HTTP::LWP::UserAgent::post_async',
PUT => 'AnyEvent::HTTP::LWP::UserAgent::put_async',
);
Test::TCP::test_tcp(
server => sub {
my $port = shift;
my $server = HTTP::Server::Simple::Test->new($port);
$server->run;
},
client => sub {
my $port = shift;
t/request_content_ref.t view on Meta::CPAN
}
{
package HTTP::Server::Simple::Test;
our @ISA = 'HTTP::Server::Simple::CGI';
sub print_banner { }
sub handle_request {
my ($self, $cgi) = @_;
my $data = $cgi->param('PUTDATA');
print "HTTP/1.0 200 OK\r\n";
print "Content-Type: text/html\r\n";
print "Set-Cookie: test=abc; path=/\r\n";
print "\r\n";
print <<__HTML__;
<html>
<head>
<title>Test Web Page</title>
<base href="http://www.example.com/">
</head>
t/request_content_ref.t view on Meta::CPAN
my $port = shift;
my $server = HTTP::Server::Simple::Test->new($port);
$server->run;
},
client => sub {
my $port = shift;
my @content = ('This', ' ', 'is', ' ', 'content.', '');
my $ua = $pkg->new(cookie_jar => {});
# For AnyEvent::HTTP::LWP::UserAgent, even if Content-Length is not specified, chunked encoding is NOT used.
# For LWP::UserAgent, if Content-Length is not specified, chunked encoding is used.
my $req = HTTP::Request->new('PUT', "http://localhost:$port/", ['Content-Type' => 'text/plain', 'Content-Length' => 16], sub { return shift @content });
my $res = $ua->request($req);
ok $res->is_success;
like $ua->cookie_jar->as_string, qr/test=abc/, '$ua->cookie_jar set';
is $res->base, 'http://www.example.com/', '$res->base set';
like($res->content, qr{<p>This is content\.</p>}, 'content');
},
);
( run in 0.433 second using v1.01-cache-2.11-cpan-4e96b696675 )