NAME
Net::FreeDB2::Connection::HTTP - FreeDB/CDDB concrete connection class using the HTTP protocol
SYNOPSIS
DESCRIPTION
Net::FreeDB2::Connection::HTTP
is a concrete FreeDB/CDDB
connection class that uses the HTTP protocol to connect to FreeDB/CDDB
servers.
CONSTRUCTOR
- new (OPT_HASH_REF)
-
Creates a new
Net::FreeDB2::Connection::HTTP
object. Throws aError::Simple
exception if a mandatory option is missing.See Net::FreeDB2::Connection for allowed/mandatory options for
OPT_HASH_REF
. Additionally the follwoing option is allowed:- freedb_cgi
-
The FreeDB/CDDB cgi path. Defaults to
~cddb/cddb.cgi
.
METHODS
- hello ()
-
hello
is not supported under HTTP. This method does not do anything. - lscat ()
-
Issues an
lscat
command on the FreeDB/CDDB database. Returns anARRAY
with available categories. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - query (ENTRY)
-
Queries the FreeDB/CDDB database using
ENTRY
which is aNet::FreeDB2::Entry
object. Returns aNet::FreeDB2::Response::Query
object. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - read (MATCH)
-
Reads an entry from the FreeDB/CDDB database using
MATCH
which is aNet::FreeDB2::Match
object. Returns aNet::FreeDB2::Response::Read
object. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - write (ENTITY)
-
Quote from CDDBPROTO: 'All CDDBP commands are supported under HTTP, except for "cddb hello", "cddb write", "proto" and "quit".' Therefor this method only throws an
Error::Simple
exception. - log ()
-
Issues an
log
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - motd ()
-
Issues an
motd
command on the FreeDB/CDDB database. Returns anARRAY
containing the motd lines. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - discid (ENTRY)
-
Issues an
discid
command on the FreeDB/CDDB database using theNet::FreeDB2::Entry
objectENTRY
. Returns the discid as calculated by FreeDB/CDDB. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - proto ()
-
Issues an
proto
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - sites ()
-
Issues an
sites
command on the FreeDB/CDDB database. Returns anARRAY
with sites. Throws anError::Simple
exception if no connection is made, if the instanciation of anHTTP::Request
object fails or if the HTTP request fails. Also, exceptions frommkHello ()
ormkUrlBase ()
may be thrown if an exceptional situation occurs. - stat ()
-
Issues an
stat
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - ver ()
-
Issues an
ver
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - update ()
-
Issues an
update
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - whom ()
-
Issues an
whom
command on the FreeDB/CDDB database. TO BE IMPLEMENTED - connect ()
-
Connects to the FreeDB/CDDB database. Throws an
Error::Simple
exception if the instanciation of theLWP::UserAgent
(which BTW forms the actiual connection) object fails. - mkHello ()
-
Makes a FreeDB/CDDB HTTP hello string for uasage by other FreeDB/CDDB command methods and returns it. Throws an
Error::Simple
exception if client name, client version, client host or client user not set. - mkUrlBase ()
-
Makes a HTTP mase URL string for uasage by other FreeDB/CDDB command methods and returns it. Throws an
Error::Simple
exception if FreeDB/CDDB host or FreeDB/CDDB cgi not set. - setFreeDBCgi (VALUE)
-
Set the FreeDB/CDDB cgi (e.g.
~cddb/cddb.cgi
) attribute.VALUE
is the value. - getFreeDBCgi ()
-
Returns the FreeDB/CDDB cgi attribute.
SEE ALSO
Net::FreeDB2::Entry, Net::FreeDB2::Match, Net::FreeDB2::Response, Net::FreeDB2::Response::Query and Net::FreeDB2::Response::Read
BUGS
Not all FreeDB/CDDB commands are implemented (yet).
HISTORY
First development: September 2002
AUTHOR
Vincenzo Zocca <Vincenzo@Zocca.com>
COPYRIGHT
Copyright 2002, Vincenzo Zocca.
LICENSE
This file is part of the Net::FreeDB2
module hierarchy for Perl by Vincenzo Zocca.
The Net::FreeDB2 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 Net::FreeDB2 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 Net::FreeDB2 module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA