NAME
WebService::GData::Error::Entry - Wrap an xml error sent back by Google data APIs v2.
SYNOPSIS
use WebService::GData::Error;
#parse an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry($xmlerror);
$entry->code;
$entry->internalreason;
$entry->domain;
$entry->location->{type};#this is just a hash
$entry->location->{content};#this is just a hash
#create an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry();
$entry->code('too_long');
$entry->domain('your_domain');
$entry->location({type=>'header',content=>'Missing Version header'});
print $entry->serialize()#return <error>...</error> DESCRIPTION
inherits from WebService::GData
This package can parse error response from Google APIs service. You can also create your own basic xml error. All WebService::GData::* classes die a WebService::GData::Error object when something went wrong.
XML error Example:
<error>
     <domain>yt:validation</domain>
     <code>invalid_character</code>
     <location type='xpath'>media:group/media:title/text()</location>
</error>Example:
use WebService::GData::Error;
#parse an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry($xmlerror);
$entry->code;
$entry->internalreason;
$entry->domain;
$entry->location->{type};#this is just a hash
$entry->location->{content};#this is just a hash
#create an error from a Google data API server...
my $entry = new WebService::GData::Error::Entry();
$entry->code('too_long');
$entry->domain('your_domain');
$entry->location({type=>'header',content=>'Missing Version header'});Constructor
new
Create a WebService::GData::Error::Entry instance. If the content is an xml following the Google data API format, it will get parse.
Parameters
Returns
GET/SET METHODS
These methods return their content if no parameters is passed or set their content if a parameter is set.
code
Get/set an error code.
Parameters
Returns
location
- none- Work as a getter
- content:HashRef- Work as a setter. the hash must be in contain the following : {type=>'...',content=>'...'}.
Get/set the error location as an xpath.It requires a ref hash with type and content as keys.
Parameters
Returns
Example:
$error->location({type=>'invalid_character',content=>'The string contains an unsupported character.'});domain
Get/set the type of error. Google data API has validation,quota,authentication,service errors.
Parameters
Returns
serialize
- none
Send back an xml representation of an error.
Parameters
Returns
SEE ALSO
XML format overview and explanation of the different kind of errors you can encounter:
http://code.google.com/intl/en/apis/youtube/2.0/developers_guide_protocol_error_responses.html
BUGS AND LIMITATIONS
If you do me the favor to _use_ this module and find a bug, please email me i will try to do my best to fix it (patches welcome)!
AUTHOR
shiriru <shirirulestheworld[arobas]gmail.com>
LICENSE AND COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.