NAME
slackget10::Network::Connection::HTTP - This class encapsulate LWP::Simple
VERSION
Version 0.9.3
SYNOPSIS
This class encapsulate LWP::Simple, and provide some methods for the treatment of HTTP requests.
You can't use this class without the slackget10::Network::Connection one.
This class need the following extra CPAN modules :
- LWP::Simple
- Time::HiRes
use slackget10::Network::Connection::HTTP;
my $foo = slackget10::Network::Connection::HTTP->new();
...
This module require the following modules from CPAN : LWP::Simple, Time::HiRes.
CONSTRUCTOR
new
This class is not designed to be instanciate alone or used alone. You have to use the slackget10::Network::Connection.
FUNCTIONS
test_server
This method test the rapidity of the mirror, by timing a head request on the FILELIST.TXT file.
my $time = $self->test_server() ;
get_file
Download and return a given file.
my $file = $connection->get_file('PACKAGES.TXT') ;
fetch_file
Download and store a given file.
$connection->fetch_file() ; # download the file $connection->file and store it at $config->{common}->{'update-directory'}/$connection->file, this way is not recommended
or
$connection->fetch_file($remote_file) ; # download the file $remote_file and store it at $config->{common}->{'update-directory'}/$connection->file, this way is not recommended
or
$connection->fetch_file('PACKAGES.TXT',"$config->{common}->{'update-directory'}/".$current_specialfilecontainer_object->id."/PACKAGES.TXT") ; # This is the recommended way.
# This is equivalent to : $connection->fetch_file($remote_file,$local_file) ;
This method return a slackget10::Status object with the following object declaration :
my $state = slackget10::Status->new(codes => {
0 => "All goes well.<br> Server said: <br>$ret_code - ".status_message( $ret_code ),
1 => "Server error, you must choose the next host for this server.<br> Server said: $ret_code - $tmp_status_message",
2 => "Client error, it seems that you have a problem with you connection or with the slackget10 library <br>(or with a library which we depended on). It is also possible that the file we try to download was not on the remote server.<br> Server said: <br>$ret_code - $tmp_status_message",
3 => "Server has redirected us, we prefer direct connection, change host for this server.<br> Server said: <br>$ret_code - $tmp_status_message",
4 => "The HTTP connection is not a success and we are not able to know what, we recommend to change the current host of this server.<br> Server said: <br>$ret_code - $tmp_status_message"
});
This is the direct code of this method :)
fetch_all
This method fetch all files declare in the "files" parameter of the constructor.
$connection->fetch_all or die "Unable to fetch all files\n";
This method save all files in the $config->{common}->{'update-directory'} directory (so you have to manage yourself the files deletion/replacement problems)
AUTHOR
DUPUIS Arnaud, <a.dupuis@infinityperl.org>
BUGS
Please report any bugs or feature requests to bug-slackget10-networking@rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=slackget10. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2005 DUPUIS Arnaud, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.