=begin pod

=head1 NAME

LibCurl::HTTP

=head1 SYNOPSIS

  use LibCurl::HTTP;

  my $http = LibCurl::HTTP.new;

  say $http.GET('http://example.com').perform.content;

  say $http.GET('http://example.com', 'myfile').perform.response-code;

  say $http.HEAD('http://example.com').perform.response-code;

  $http.DELETE('http://example.com').perform;

  $http.PUT('http://example.com', 'myfile').perform;

  $http.POST('http://example.com/form.html', 'name=foo&opt=value').perform;

  $http.POST('http://example.com')
       .formadd(name => 'name', contents => 'foo')
       .formadd(name => 'file', file => 'file-to-upload.txt')
       .perform;

=head1 DESCRIPTION

A thin subclass of C<LibCurl::Easy> that adds extra methods for the
main HTTP methods.

=head2 METHODS

=item method B<GET>($URL, $filename?)

Set :httpget, URL => $URL, download => $filename.

=item method B<HEAD>($URL)

Set :nobody, URL => $URL

=item method B<DELETE>($URL)

Set customrequest => 'DELETE', URL => $URL

=item method B<PUT>($URL, $filename)

Set URL => $URL, upload => $filename

=item method B<POST>($URL, $content?)

Set URL => $URL, postfields => $content

=end pod