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 )