NAME
Net::HTTP::Client - A Not-quite-so-low-level HTTP connection (client)
VERSION
version 0.012
SYNOPSIS
use Net::HTTP::Client;
my $client = Net::HTTP::Client->new(Host => 'localhost', KeepAlive => 0);
my $res = $client->request(POST => '/foo', 'fizz buzz');
if ($res->is_success) {
print $res->decoded_content;
} else {
warn $res->status_line, "\n";
}
# a new connection to www.example.com
$res = $client->request(GET => 'www.example.com');
# another connection to www.example.com
$res = $client->request(GET => 'www.example.com/foo');
# a new connection to localhost:3335
$res = $client->request(GET => 'localhost/bar');
# original connection to localhost:3335 IFF KeepAlive is set, otherwise a new connection
$res = $client->request(POST => '/baz', 'foo');
# or you can skip calling new()
$res = Net::HTTP::Client->request(POST => 'localhost:3335/foo', 'Content-Type' => 'application/x-www-form-urlencoded', 'foo=fizz+buzz');
DESCRIPTION
Net::HTTP::Client provides a simple interface to Net::HTTP, and is a sub-class of it.
This was written because I wanted something that did less than what LWP::UserAgent does when making requests. Like LWP::UserAgent, it returns an HTTP::Response object, so you can handle the response just the same.
- new(%options)
-
The Net::HTTP::Client constructor method takes the same options as Net::HTTP, with the same requirements.
- request($method, $uri, @headers?, $content?)
-
Sends a request with method $method and path $uri. Key-value pairs of @headers and $content are optional. If KeepAlive is set at new(), multiple calls to this will use the same connection. Otherwise, a new connection will be created automatically. In addition, a $uri may contain a different host and port, in which case it will make a new connection. For convenience, if you don't wish to reuse connections, you may call this method directly without invoking new() if $uri contains a host.
Returns an HTTP::Response object.
- get_content()
-
Reads and returns the body content of the response. This is called by request(), so don't use this if using that.
COPYRIGHT AND LICENSE
Copyright (C) 2014 by Ashley Willis <ashley+perl@gitable.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.12.4 or, at your option, any later version of Perl 5 you may have available.