The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CPANPLUS::Internals::Fetch

SYNOPSIS

    my $output = $cb->_fetch(
                        module      => $modobj,
                        fetchdir    => '/path/to/save/to',
                        verbose     => BOOL,
                        force       => BOOL,
                    );

    $cb->_add_fail_host( host => 'foo.com' );
    $cb->_host_ok(       host => 'foo.com' );

DESCRIPTION

CPANPLUS::Internals::Fetch fetches files from either ftp, http, file or rsync mirrors.

This is the rough flow:

    $cb->_fetch
        Delegate to File::Fetch;

METHODS

$path = _fetch( module => $modobj, [fetchdir => '/path/to/save/to', verbose => BOOL, force => BOOL, prefer_bin => BOOL] )

_fetch will fetch files based on the information in a module object. You always need a module object. If you want a fake module object for a one-off fetch, look at CPANPLUS::Module::Fake.

fetchdir is the place to save the file to. Usually this information comes from your configuration, but you can override it expressly if needed.

force forces a new download, even if the file already exists.

verbose simply indicates whether or not to print extra messages.

prefer_bin indicates whether you prefer the use of commandline programs over perl modules. Defaults to your corresponding config setting.

_fetch figures out, based on the host list, what scheme to use and from there, delegates to File::Fetch do the actual fetching.

Returns the path of the output file on success, false on failure.

Note that you can set a blacklist on certain methods in the config. Simply add the identifying name of the method (ie, lwp) to: $conf->_set_fetch( blacklist => ['lwp'] );

And the LWP function will be skipped by File::Fetch.

_add_fail_host( host => $host_hashref )

Mark a particular host as bad. This makes CPANPLUS::Internals::Fetch skip it in fetches until this cache is flushed.

_host_ok( host => $host_hashref )

Query the cache to see if this host is ok, or if it has been flagged as bad.

Returns true if the host is ok, false otherwise.