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

NAME

Doit::Lwp - commands for dealing with WWW access

SYNOPSIS

    use Doit;
    my $doit = Doit->init;
    $doit->add_component('lwp');

    $doit->lwp_mirror('http://example.com', 'mirrored-file');

DESCRIPTION

Doit::Lwp is a Doit component providing commands for dealing with WWW access. It has to be added to a script using Doit's add_component:

    $doit->add_component('lwp');

DOIT COMMANDS

The following commands are added to the Doit runner object:

lwp_mirror

    $doit->lwp_mirror($url, $filename);
    $doit->lwp_mirror($url, $filename, refresh => always|never, ua => $ua);

Make sure that the resource at $url is fetched and stored on the local system as $filename. LWP::UserAgent's mirror is used to fetch the resource, so if the remote resource did not change and the remote server deals correctly with If-Modified-Since requests, then nothing happens.

The refresh option may be set to never --- in this case the resource will fetched only once, and never refreshed.

By default, LWP::UserAgent is used for doing the mirror. It is possible to use HTTP::Tiny by passing an object of this class to the ua option.

Please note that LWP::UserAgent's mirror is not atomic.

The command returns 1 if the resource was downloaded, otherwise 0.

AUTHOR

Slaven Rezic <srezic@cpan.org>

COPYRIGHT

Copyright (c) 2017 Slaven Rezic. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Doit, LWP::UserAgent, HTTP::Tiny.