Net-Curl-Parallel
view release on metacpan or search on metacpan
lib/Net/Curl/Parallel.pm view on Meta::CPAN
if ($method eq 'POST') {
$curl->setopt(CURLOPT_POST, 1);
$curl->setopt(CURLOPT_POSTFIELDS, $content);
}
# Configure headers
$curl->setopt(CURLOPT_HTTPHEADER, $headers)
if @$headers;
$curl->setopt(CURLOPT_WRITEDATA, $curl->{private}{response}->fh_body);
$curl->setopt(CURLOPT_WRITEHEADER, $curl->{private}{response}->fh_head);
# Configure redirect behavior
$curl->setopt(CURLOPT_FOLLOWLOCATION, $self->max_redirects > 0);
$curl->setopt(CURLOPT_MAXREDIRS, $self->max_redirects);
$curl->setopt(CURLOPT_AUTOREFERER, 1);
# Allow user override of ssl certificate verification
$curl->setopt(CURLOPT_SSL_VERIFYPEER, $self->verify_ssl_peer);
# Set request timeout
t/Net/Curl/Parallel/setup_curl.t view on Meta::CPAN
is delete $curl->{opts}{CURLOPT_HTTPHEADER()}, [['Connection: keep-alive']], 'CURLOPT_HTTPHEADER';
is delete $curl->{opts}{CURLOPT_FOLLOWLOCATION()}, [''], 'CURLOPT_FOLLOWLOCATION';
is delete $curl->{opts}{CURLOPT_MAXREDIRS()}, [0], 'CURLOPT_MAXREDIRS';
is delete $curl->{opts}{CURLOPT_AUTOREFERER()}, [1], 'CURLOPT_AUTOREFERER';
is delete $curl->{opts}{CURLOPT_SSL_VERIFYPEER()}, [$f->verify_ssl_peer], 'CURLOPT_SSL_VERIFYPEER';
is delete $curl->{opts}{CURLOPT_TIMEOUT_MS()}, [$f->request_timeout], 'CURLOPT_TIMEOUT_MS';
# These are set to IO objects, so ignore them.
ok delete $curl->{opts}{CURLOPT_WRITEDATA()}, 'CURLOPT_WRITEDATA set';
ok delete $curl->{opts}{CURLOPT_WRITEHEADER()}, 'CURLOPT_WRITEHEADER set';
is 0+keys(%{$curl->{opts}}), 0, 'All options accounted for';
};
# TESTS:
# if !POST && !keep_alive, then no headers set
subtest 'keep_alive false -> no headers' => sub {
my $f = Net::Curl::Parallel->new(
keep_alive => 0,
);
( run in 0.251 second using v1.01-cache-2.11-cpan-55f5a4728d2 )