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 )