NAME
InfoSys::FreeDB::Connection::HTTP - FreeDB HTTP connection
SYNOPSIS
require InfoSys::FreeDB;
require InfoSys::FreeDB::Entry;
# Read entry from the default CD device
my $entry = InfoSys::FreeDB::Entry->new_from_cdparanoia();
# Create a HTTP connection
my $fact = InfoSys::FreeDB->new();
my $conn = $fact->create_connection( {
client_name => 'testing-InfoSys::FreeDB',
client_version => $InfoSys::FreeDB::VERSION,
} );
# Query FreeDB
my $res_q = $conn->query( $entry );
scalar( $res_q->get_match() ) ||
die 'no matches found for the disck in the default CD-Rom drive';
# Read the first match
my $res_r = $conn->read( ( $res_q->get_match() )[0] );
# Write the entry to STDERR
use IO::Handle;
my $fh = IO::Handle->new_from_fd( fileno(STDERR), 'w' );
$res_r->get_entry()->write_fh( $fh );
ABSTRACT
FreeDB HTTP connection
DESCRIPTION
InfoSys::FreeDB::Connection::HTTP
is the HTTP implementation of the InfoSys::FreeDB::Connection
abstract class.
CONSTRUCTOR
- new(OPT_HASH_REF)
-
Creates a new
InfoSys::FreeDB::Connection::HTTP
object.OPT_HASH_REF
is a hash reference used to pass initialization options.OPT_HASH_REF
is mandatory. On error an exceptionError::Simple
is thrown.Options for
OPT_HASH_REF
may include:freedb_cgi
-
Passed to set_freedb_cgi(). Defaults to '~cddb/cddb.cgi'.
Options for
OPT_HASH_REF
inherited through packageInfoSys::FreeDB::Connection
may include:client_host
-
Passed to set_client_host(). Mandatory option.
client_name
-
Passed to set_client_name(). Mandatory option.
client_user
-
Passed to set_client_user(). Mandatory option.
client_version
-
Passed to set_client_version(). Mandatory option.
freedb_host
-
Passed to set_freedb_host(). Mandatory option.
freedb_port
-
Passed to set_freedb_port(). Mandatory option.
proto_level
-
Passed to set_proto_level(). Defaults to 1.
proxy_host
-
Passed to set_proxy_host().
proxy_passwd
-
Passed to set_proxy_passwd().
proxy_port
-
Passed to set_proxy_port(). Defaults to 8080.
proxy_user
-
Passed to set_proxy_user().
METHODS
- connect()
-
This method is an implementation from package
InfoSys::FreeDB::Connection
. Connects the object to the FreeDB information service using the object's attributes. Ahello
commend is sent out, the protocol level is queried and set to the highest level available. On error an exceptionError::Simple
is thrown.- SPEED-UP NOTE
-
If the
freedb_host
isn'tfreedb.freedb.org
and protocol level1
is specified, theconnect
method tries to use the highest available protocol level. To do so, it queries the FreeDB to find out exaclty which level is supported. OnHTTP
connections this takes long. To speed upHTTP
connections specify a higherproto_level
-say5
beforeconnect()
is called.
- discid(ENTRY)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues adiscid
command on the FreeDB database.ENTRY
is aInfoSys::FreeDB::Entry
object. On error an exceptionError::Simple
is thrown. - disconnect()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Disconnects the object from the FreeDB information service. - get_client_host()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the connecting client host. - get_client_name()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the connecting client name. - get_client_user()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the connecting client user. - get_client_version()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the connecting client version. - get_freedb_cgi()
-
Returns the FreeDB cgi.
- get_freedb_host()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the FreeDB host. - get_freedb_port()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the FreeDB port. - get_proto_level()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the current protocol level. - get_proxy_host()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the proxy host to use. - get_proxy_passwd()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the proxy password to use. - get_proxy_port()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the proxy port to use. - get_proxy_user()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Returns the proxy user name to use. - hello()
-
This method is not supported over
HTTP
. - log()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues alog
command on the FreeDB database. TO BE SPECIFIED - lscat()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues anlscat
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::LsCat
object. On error an exceptionError::Simple
is thrown. - motd()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues anmotd
command on the FreeDB database. ReturnsInfoSys::FreeDB::Response::Motd
object. On error an exceptionError::Simple
is thrown. - proto([ LEVEL ])
-
This method is an implementation from package
InfoSys::FreeDB::Connection
. This method is not supported overHTTP
. - query(ENTRY)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Queries the FreeDB database.ENTRY
is aInfoSys::FreeDB::Entry
object. Returns aInfoSys::FreeDB::Response::Query
object. On error an exceptionError::Simple
is thrown. - quit()
-
This method is an implementation from package
InfoSys::FreeDB::Connection
. Issues aquit
command on the FreeDB database and disconnects. ReturnsInfoSys::FreeDB::Response::Quit
object. On error an exceptionError::Simple
is thrown. - read(MATCH)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Reads an entry from the FreeDB database.MATCH
is aInfoSys::FreeDB::Match
object. Returns aInfoSys::FreeDB::Response::Match
object. On error an exceptionError::Simple
is thrown. - set_client_host(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the connecting client host.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_name(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the connecting client name.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_user(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the connecting client user.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_client_version(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the connecting client version.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_freedb_cgi(VALUE)
-
Set the FreeDB cgi.
VALUE
is the value. Default value at initialization is~cddb/cddb.cgi
. On error an exceptionError::Simple
is thrown. - set_freedb_host(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the FreeDB host.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_freedb_port(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the FreeDB port.VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_proto_level(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the current protocol level.VALUE
is the value. Default value at initialization is1
. On error an exceptionError::Simple
is thrown. - set_proxy_host(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the proxy host to use.VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_proxy_passwd(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the proxy password to use.VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_proxy_port(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the proxy port to use.VALUE
is the value. Default value at initialization is8080
. On error an exceptionError::Simple
is thrown. - set_proxy_user(VALUE)
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Set the proxy user name to use.VALUE
is the value. On error an exceptionError::Simple
is thrown. - sites()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues asites
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Sites
object. On error an exceptionError::Simple
is thrown. - stat()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues astat
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Stat
object. On error an exceptionError::Simple
is thrown. - update()
-
This method is an implementation from package
InfoSys::FreeDB::Connection
. THIS METHOD IS NOT YET IMPLEMENTED Issues aupdate
command on the FreeDB database. TO BE SPECIFIED_ - ver()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues aver
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Ver
object. On error an exceptionError::Simple
is thrown. - whom()
-
This method is inherited from package
InfoSys::FreeDB::Connection
. Issues awhom
command on the FreeDB database. Returns aInfoSys::FreeDB::Response::Whom
object. On error an exceptionError::Simple
is thrown. - write(ENTRY, CATEGORY)
-
This method is an implementation from package
InfoSys::FreeDB::Connection
. This method is not supported overHTTP
.
SEE ALSO
InfoSys::FreeDB, InfoSys::FreeDB::Connection, InfoSys::FreeDB::Connection::CDDBP, InfoSys::FreeDB::Entry, InfoSys::FreeDB::Entry::Track, InfoSys::FreeDB::Match, InfoSys::FreeDB::Response, InfoSys::FreeDB::Response::DiscId, InfoSys::FreeDB::Response::Hello, InfoSys::FreeDB::Response::LsCat, InfoSys::FreeDB::Response::Motd, InfoSys::FreeDB::Response::Proto, InfoSys::FreeDB::Response::Query, InfoSys::FreeDB::Response::Quit, InfoSys::FreeDB::Response::Read, InfoSys::FreeDB::Response::SignOn, InfoSys::FreeDB::Response::Sites, InfoSys::FreeDB::Response::Stat, InfoSys::FreeDB::Response::Ver, InfoSys::FreeDB::Response::Whom, InfoSys::FreeDB::Response::Write::1, InfoSys::FreeDB::Response::Write::2, InfoSys::FreeDB::Site
BUGS
None known (yet.)
HISTORY
First development: September 2003 Last update: October 2003
AUTHOR
Vincenzo Zocca
COPYRIGHT
Copyright 2003 by Vincenzo Zocca
LICENSE
This file is part of the InfoSys::FreeDB
module hierarchy for Perl by Vincenzo Zocca.
The InfoSys::FreeDB module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
The InfoSys::FreeDB module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the InfoSys::FreeDB module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA