JSAN::Transport - JavaScript Archive Network Transport and Resources
# Create a transport my $transport = JSAN::Transport->new( verbose => 1, mirror_remote => 'http://openjsan.org/', mirror_local => '~/.jsan', ); # Retrieve a file $transport->file_get( 'index.sqlite' ); # Mirror a file $transport->mirror( '/dist/a/ad/adamk/Display.Swap-0.01.tar.gz' );
JSAN::Transport provides the primary programatic interface for creating and manipulating a JSAN client transport and resource manager.
JSAN::Transport
It controls connection to JSAN, retrieval and mirroring of files.
The new method initializes the JSAN client adapter. It takes a set of parameters and initializes the JSAN::Transport class.
new
The mirror_remoter param specifies the JSAN mirror to be retrieve packages and other files from. If you do not specify a location, a default value of http://openjsan.org will be used.
mirror_remoter
http://openjsan.org
A JSAN client downloads and caches various files from the repository. This primarily means the JSAN packages themselves, but also includes things like the index and other control files. This effectively creates a partial local mirror of the repository, although it will also include some working files not found on the server.
The mirror_local param specifies the path for the local mirror. If the path provided does not exist, the constructor will attempt to create it. If creation fails the constructor will throw an exception.
mirror_local
Mainly used for console interfaces for user feedback, the verbose flag causes the client to print various information to STDOUT as it does various tasks.
verbose
STDOUT
Returns true, or will throw an exception (i.e. die) on error.
The mirror_location accessor returns the URI::ToDisk of the URI to local path map.
mirror_location
The mirror_remote accessor returns the location of the remote mirror configured when the object was created.
mirror_remote
The mirror_local accessor returns the location of the local mirror configured when the object was created.
The verbose accessor returns the boolean flag on whether the object is running in verbose mode.
The file_location method takes the path of a file within the repository, and returns a URI::ToDisk object representing it's location on both the server, and on the local filesystem.
file_location
Paths should always be provided in unix/web format, not the local filesystem's format.
Returns a URI::ToDisk or throws an exception if passed a bad path.
The file_get method takes the path of a file within the repository, and fetches it from the remote repository, storing it at the appropriate local path.
file_get
As all file_ operations, paths should always be provided in unix/web format, not the local filesystem's format.
file_
Returns the URI::ToDisk for the file if retrieved successfully, false ('') if the file did not exist in the repository, or undef on error.
''
undef
The file_mirror method takes the path of a file within the repository, and mirrors it from the remote repository, storing it at the appropriate local path.
file_mirror
Using this method if preferable for items like indexs for which want to ensure you have the current version, but do not want to freshly download each time.
Returns the URI::ToDisk for the file if mirrored successfully, false ('') if the file did not exist in the repository, or undef on error.
The index_file method checks that the SQLite index is up to date, and returns the path to it on the filesystem.
index_file
- Add verbose support
Bugs should be reported via the CPAN bug tracker at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=JSAN-Client
For other issues, contact the author.
Adam Kennedy <adamk@cpan.org>
Copyright 2005 - 2010 Adam Kennedy.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
To install JSAN::Client, copy and paste the appropriate command in to your terminal.
cpanm
cpanm JSAN::Client
CPAN shell
perl -MCPAN -e shell install JSAN::Client
For more information on module installation, please visit the detailed CPAN module installation guide.