summaryrefslogtreecommitdiff
path: root/lib/Net/Amazon/Response.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/Amazon/Response.pm')
-rw-r--r--lib/Net/Amazon/Response.pm214
1 files changed, 0 insertions, 214 deletions
diff --git a/lib/Net/Amazon/Response.pm b/lib/Net/Amazon/Response.pm
deleted file mode 100644
index 6147e0e..0000000
--- a/lib/Net/Amazon/Response.pm
+++ /dev/null
@@ -1,214 +0,0 @@
-######################################################################
-package Net::Amazon::Response;
-######################################################################
-use warnings;
-use strict;
-
-use base qw(Net::Amazon);
-
-use Text::Wrap qw($columns wrap);
-use XML::Simple;
-
-our @FORCE_ARRAY_FIELDS = ();
-
-__PACKAGE__->make_accessor($_) for qw(
- status messages items xmlref total_results);
-
-##################################################
-sub new {
-##################################################
- my($class, %options) = @_;
-
- my $self = {
- status => "",
- messages => [],
- items => [],
- xmlref => {},
- total_results => undef,
- };
-
- bless $self, $class;
-}
-
-sub message {
- my($self) = @_;
-
- return join(";",@{$self->{messages}});
-}
-
-###########################################
-sub is_success {
-###########################################
- my($self) = @_;
-
- return $self->{status} ? 1 : "";
-}
-
-###########################################
-sub is_error {
-###########################################
- my($self) = @_;
-
- return !$self->is_success();
-}
-
-###########################################
-sub push_item {
-###########################################
- my($self, $item) = @_;
-
- push @{$self->{items}}, $item;
-}
-
-###########################################
-sub as_string {
-###########################################
- my($self) = @_;
-
- return Data::Dumper::Dumper($self);
-}
-
-###########################################
-sub list_as_string {
-###########################################
- my($self, @properties) = @_;
-
- my $full = "";
-
- # Column with
- $columns = 60;
- my $bullet = 1;
-
- foreach my $property (@properties) {
- $full .= "\n" if $full;
- my $bullet_string = sprintf("[%d]%s",
- $bullet, (" " x (3-length($bullet))));
- $full .= wrap("", " ", $bullet_string . $property->as_string());
- $bullet++;
- }
-
- return $full;
-}
-
-##################################################
-sub properties {
-##################################################
- my($self) = @_;
-
- my @properties = ();
-
- if($self->is_success && ref($self->{xmlref}->{Details}) eq 'ARRAY') {
- foreach my $xmlref (@{$self->{xmlref}->{Details}}) {
- my $property = Net::Amazon::Property::factory(xmlref => $xmlref);
- push @properties, $property;
- }
- }
-
- if(wantarray) {
- return (@properties);
- }
-
- if(@properties) {
- # Scalar context and we've got results. Return the first one.
- return $properties[0];
- }
-
- # Scalar context and we don't have anything.
- return undef;
-}
-
-##################################################
-sub xml_parse {
-##################################################
- my($self, $xml) = @_;
-
- my $xs = XML::Simple->new();
- return $xs->XMLin($xml, ForceArray => [ @FORCE_ARRAY_FIELDS ]);
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Net::Amazon::Response - Baseclass for responses from Amazon's web service
-
-=head1 SYNOPSIS
-
- $resp = $ua->request($request);
-
- if($resp->is_success()) {
- print $resp->as_string();
- }
-
- if($resp->is_error()) {
- print $resp->message();
- }
-
- if($resp->is_success()) {
- for my $property ($resp->properties) {
- print $property->as_string(), "\n";
- }
- }
-
-=head1 DESCRIPTION
-
-C<Net::Amazon::Response> is the baseclass for responses coming back
-from the useragent's C<request> method. Responses are typically
-not of type C<Net::Amazon::Response> but one of its subclasses
-C<Net::Amazon::Response::*>. However, for basic error handling and
-dumping content, C<Net::Amazon::Response>'s methods are typically used,
-because we typically don't know what type of object we're
-actually dealing with.
-
-=head2 METHODS
-
-=over 4
-
-=item is_success()
-
-Returns true if the request was successful. This doesn't mean any objects
-have been found, it just indicates a successful roundtrip.
-
-=item is_error()
-
-Returns true if an error occurred. Use C<message()> to determine what
-kind of error.
-
-=item properties()
-
-Returns the list of C<Net::Amazon::Property> objects which were found
-by the query.
-
-=item as_string()
-
-Dumps the content of the response.
-
-=item message()
-
-Returns the error message as a string in case an error occurred. In case
-several errors occurred, they're stringed together. Look up C<messages()>
-if you need them separated.
-
-=item messages()
-
-Returns all error messages for a response as a reference to an array
-of string messages.
-
-=back
-
-=head1 SEE ALSO
-
-=head1 AUTHOR
-
-Mike Schilli, E<lt>m@perlmeister.comE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2003 by Mike Schilli E<lt>m@perlmeister.comE<gt>
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut