גאבור סבו - Gábor Szabó > WebService-GData > WebService::GData::Error::Entry

Download:
WebService-GData-0.06.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  0
View/Report Bugs
Module Version: 1.02   Source  

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

content:Scalar(optional)

Returns

WebService::GData::Error::Entry

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

none - Work as a getter
content:Scalar - Work as a setter

Returns

content:Scalar (as a getter)

location

Get/set the error location as an xpath.It requires a ref hash with type and content as keys.

Parameters

none - Work as a getter
content:HashRef - Work as a setter. the hash must be in contain the following : {type=>'...',content=>'...'}.

Returns

content:HashRef (as a getter)

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

none - Work as a getter
content:Scalar - Work as a setter.

Returns

content:Scalar (as a getter)

serialize

Send back an xml representation of an error.

Parameters

none

Returns

content:Scalar - xml representation of the error.

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.

syntax highlighting: