App-Wax
view release on metacpan or search on metacpan
lib/App/Wax.pod view on Meta::CPAN
=head1 SYNOPSIS
use App::Wax;
exit App::Wax->new->run(\@ARGV);
=head1 DESCRIPTION
C<App::Wax> is the helper library for L<wax>, a command-line program which runs
other command-line programs and converts their URL arguments to local file
paths.
See the L<wax> documentation for more details.
=head1 ATTRIBUTES
=head2 app_name
B<Type>: Str, rw, default: "wax".
The application name used in L<debug|"debug"> and L<error|"log"> messages.
=head2 cache
B<Type>: Bool, rw, default: false.
If set to true, the remote resource is saved to a persistent file whose path is
substituted for the resource's URL on subsequent invocations of the command.
If C<cache> and L<"mirror"> are both set to true, an exception is thrown.
=head2 directory
B<Type>: Str, rw, optional.
The directory to download remote resources to. If not supplied,
the system's L<temporary directory|https://en.wikipedia.org/wiki/Temporary_folder>
is used.
Can be checked with C<has_directory>.
=head2 keep
B<Type>: Bool, ro, default: false.
True if L<"cache"> or L<"mirror"> are true, false otherwise.
Used to determine which L<"resolve"> method to use.
=head2 mime_types
B<Type>: L<Mime::Types>, rw.
An instance of L<Mime::Types> used to help determine an extension for the file.
=head2 mirror
B<Type>: Bool, rw, default: false.
If set to true, the remote resource is saved to a persistent file. On
subsequent invocations, the resource is re-downloaded if it has been updated,
and its path is substituted for the resource's URL.
If L<"cache"> and L<"mirror"> are both set to true, an exception is thrown.
=head2 separator
B<Type>: Str, rw, default: "--".
A optional token used to mark the end of C<wax>'s options.
Can be cleared with C<clear_separator> and checked with C<has_separator>.
=head2 template
B<Type>: Str, rw.
The template format string supplied as the C<TEMPLATE> parameter to C<File::Temp-E<gt>new()>.
=head2 timeout
B<Type>: Int, rw, default: 60.
The timeout (in seconds) for HTTP requests.
=head2 user_agent
B<Type>: Str, rw.
The value of the HTTP client's C<User-Agent> header.
=head2 verbose
B<Type>: Bool, rw, default: false.
If set to true, diagnostic messages are printed to STDERR.
=head1 METHODS
=head2 content_type
B<Signature>: [ $url: Str, $url_index: Int ] -> $content_type: Str
Returns the value of the HTTP C<Content-Type> header for the supplied URL, e.g. C<text/html>.
=head2 debug
B<Signature>: $message: Str -> None
Logs the message to STDERR if L<"verbose"> is set to true.
B<Signature>: $template: Str, @args: List[Str] -> None
Interpolates the arguments into the C<sprintf> template and logs the message to STDERR
if L<"verbose"> is set to true.
=head2 download
B<Signature>: [ $url: Str, $url_index: Int ], $path: Str -> Maybe[Str]
Saves the contents of the URL to the path. Returns the error message if an error ocurred.
( run in 0.775 second using v1.01-cache-2.11-cpan-39bf76dae61 )