Catmandu

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

    "Any::URI::Escape" => 0,
    "App::Cmd" => "0.33",
    "CGI::Expand" => "2.02",
    "Class::Method::Modifiers" => 0,
    "Clone" => "0.31",
    "Config::Onion" => "1.004",
    "Cpanel::JSON::XS" => "3.0213",
    "Data::Compare" => "1.22",
    "Data::Util" => "0.66",
    "Getopt::Long" => 0,
    "HTTP::Request" => 0,
    "Hash::Merge::Simple" => 0,
    "IO::Handle::Util" => "0.01",
    "LWP::UserAgent" => 0,
    "List::SomeUtils" => "0.59",
    "Log::Any" => 0,
    "Log::Any::Adapter" => 0,
    "MIME::Types" => 0,
    "Module::Build" => "0.4229",
    "Module::Info" => 0,
    "Moo" => "1.004006",

META.json  view on Meta::CPAN

            "Any::URI::Escape" : "0",
            "App::Cmd" : "0.33",
            "CGI::Expand" : "2.02",
            "Class::Method::Modifiers" : "0",
            "Clone" : "0.31",
            "Config::Onion" : "1.004",
            "Cpanel::JSON::XS" : "3.0213",
            "Data::Compare" : "1.22",
            "Data::Util" : "0.66",
            "Getopt::Long" : "0",
            "HTTP::Request" : "0",
            "Hash::Merge::Simple" : "0",
            "IO::Handle::Util" : "0.01",
            "LWP::UserAgent" : "0",
            "List::SomeUtils" : "0.59",
            "Log::Any" : "0",
            "Log::Any::Adapter" : "0",
            "MIME::Types" : "0",
            "Module::Build" : "0.4229",
            "Module::Info" : "0",
            "Moo" : "1.004006",

META.yml  view on Meta::CPAN

  Any::URI::Escape: '0'
  App::Cmd: '0.33'
  CGI::Expand: '2.02'
  Class::Method::Modifiers: '0'
  Clone: '0.31'
  Config::Onion: '1.004'
  Cpanel::JSON::XS: '3.0213'
  Data::Compare: '1.22'
  Data::Util: '0.66'
  Getopt::Long: '0'
  HTTP::Request: '0'
  Hash::Merge::Simple: '0'
  IO::Handle::Util: '0.01'
  LWP::UserAgent: '0'
  List::SomeUtils: '0.59'
  Log::Any: '0'
  Log::Any::Adapter: '0'
  MIME::Types: '0'
  Module::Build: '0.4229'
  Module::Info: '0'
  Moo: '1.004006'

cpanfile  view on Meta::CPAN

requires 'Any::URI::Escape', 0;
requires 'App::Cmd', '0.33';
requires 'Getopt::Long', 0;
requires 'CGI::Expand', '2.02';
requires 'Class::Method::Modifiers', 0;
requires 'Clone', '0.31';
requires 'Config::Onion', '1.004';
requires 'Cpanel::JSON::XS', '3.0213';
requires 'Data::Compare', '1.22';
requires 'Data::Util', '0.66';
requires 'HTTP::Request', 0;
requires 'Hash::Merge::Simple', 0;
requires 'IO::Handle::Util', '0.01';
requires 'LWP::UserAgent', 0;
requires 'List::SomeUtils', '0.59';
requires 'Log::Any', 0;
requires 'Log::Any::Adapter', 0;
requires 'MIME::Types',0;
requires 'Module::Build', '>=0.4229'; # travis ci
requires 'Module::Info', 0;
requires 'Moo', '>=1.004006';

lib/Catmandu/Importer.pm  view on Meta::CPAN

package Catmandu::Importer;

use Catmandu::Sane;

our $VERSION = '1.2025';

use Catmandu::Util       qw(io is_value is_string is_array_ref is_hash_ref);
use Catmandu::Util::Path qw(as_path);
use LWP::UserAgent;
use HTTP::Request ();
use URI           ();
use URI::Template ();
use Moo::Role;
use namespace::clean;

with 'Catmandu::Logger';
with 'Catmandu::Iterable';
with 'Catmandu::IterableOnce';
with 'Catmandu::Fixable';
with 'Catmandu::Serializer';

lib/Catmandu/Importer.pm  view on Meta::CPAN

    $ua->protocols_allowed([qw(http https)]);
    $ua->env_proxy;
    $ua;
}

sub _http_request {
    my ($self, $method, $url, $headers, $body, $timing_tries) = @_;

    my $client = $self->_http_client;

    my $req = HTTP::Request->new($method, $url, $headers || []);
    $req->content($body) if defined $body;

    my $res = $client->request($req);

    if ($res->code =~ /^408|500|502|503|504$/ && $timing_tries) {
        my @tries = @$timing_tries;
        while (my $sleep = shift @tries) {
            sleep $sleep;
            $res = $client->request($req->clone);
            last if $res->code !~ /^408|500|502|503|504$/;



( run in 0.664 second using v1.01-cache-2.11-cpan-de7293f3b23 )