summaryrefslogtreecommitdiff
path: root/lib/Net/Amazon/Request.pm
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-11-11 06:55:13 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-11-11 06:55:13 +0000
commit3282be229999dc36c197b264d63063a18d136331 (patch)
tree98a42db29d955b39e7bed1b599fdcc56c3a29de9 /lib/Net/Amazon/Request.pm
parentcfdd733c17cfa4f1a43b827a656e9e53cc2524ac (diff)
downloadxxv-3282be229999dc36c197b264d63063a18d136331.tar.gz
xxv-3282be229999dc36c197b264d63063a18d136331.tar.bz2
* Update installation list with required modules
* Remove unused/doubled provided external perl moduls
Diffstat (limited to 'lib/Net/Amazon/Request.pm')
-rw-r--r--lib/Net/Amazon/Request.pm221
1 files changed, 0 insertions, 221 deletions
diff --git a/lib/Net/Amazon/Request.pm b/lib/Net/Amazon/Request.pm
deleted file mode 100644
index 962d7bf..0000000
--- a/lib/Net/Amazon/Request.pm
+++ /dev/null
@@ -1,221 +0,0 @@
-######################################################################
-package Net::Amazon::Request;
-######################################################################
-
-use warnings;
-use strict;
-
-use constant DEFAULT_MODE => 'books';
-use constant DEFAULT_TYPE => 'heavy';
-use constant DEFAULT_PAGE_COUNT => 1;
-use constant DEFAULT_FORMAT => 'xml';
-use constant DEFAULT_SORT_CRITERIA => '+salesrank';
-
-use constant VALID_TYPES => { map { $_ => 1 } qw(heavy lite) };
-
-our $AMZN_XML_URL = "http://xml.amazon.com/onca/xml3";
-
-##################################################
-sub amzn_xml_url {
-##################################################
- return $AMZN_XML_URL;
-}
-
-##################################################
-sub new {
-##################################################
- my($class, %options) = @_;
-
- my $self = {
- mode => DEFAULT_MODE,
- type => DEFAULT_TYPE,
- page => DEFAULT_PAGE_COUNT,
- f => DEFAULT_FORMAT,
- sort => DEFAULT_SORT_CRITERIA,
- %options,
- };
-
- die "Unknown type in ", __PACKAGE__, " constructor: ",
- $self->{type} unless exists VALID_TYPES->{$self->{type}};
-
- bless $self, $class;
-}
-
-##################################################
-sub params {
-##################################################
- my($self) = @_;
-
- return(%$self);
-}
-
-##################################################
-# Figure out the Response class to a given Request
-# class. To be used by sub classes.
-##################################################
-sub response_class {
-##################################################
- my($self) = @_;
-
- my $response_class = ref($self);
- $response_class =~ s/Request/Response/;
- return $response_class;
-}
-
-##
-## 'PRIVATE' METHODS
-##
-
-# CLASS->_convert_option( OPTIONS, ORIGINAL, TARGET [, CALLBACK] )
-#
-# Takes a reference to a hash of OPTIONS and renames the
-# ORIGINAL key name to the TARGET key name. If the optional
-# CALLBACK subroutine reference is defined, that subroutine
-# is invoked with two arguments:
-#
-# CALLBACK->( OPTIONS, TARGET )
-#
-# The result of the CALLBACK's execution is then returned to
-# the caller. No assumptions are made about what the CALLBACK
-# should return (or even *if* is should return)--that's the
-# caller's responsibility.
-#
-# Returns 1 in the absensence of a CALLBACK.
-#
-sub _convert_option {
- my ($class, $options, $original, $target, $callback) = @_;
-
- if ( exists $options->{$original} ) {
- $options->{$target} = $options->{$original};
- delete $options->{$original};
- }
-
- return 1 unless ( $callback );
-
- # The key name is explicitly passed-in so that the caller doesn't
- # have think "Hrmm.. now which key am I working on, the original
- # or the target key?" Confusion is bad.
- return $callback->($options, $target);
-}
-
-# CLASS->_assert_options_defined( OPTIONS, KEYS )
-#
-# Takes a reference to a hash of OPTIONS and a list of
-# one or more KEYS. Tests to see if each key in KEYS
-# has a defined value. Calls die() upon the first
-# missing key. Otherwise, returns undef.
-#
-sub _assert_options_defined {
- my ($class, $options, @keys) = @_;
-
- foreach my $key ( @keys ) {
- die "Mandatory parameter '$key' not defined"
- unless ( defined $options->{$key} );
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Net::Amazon::Request - Baseclass for requests to Amazon's web service
-
-=head1 SYNOPSIS
-
- my $req = Net::Amazon::Request::XXX->new(
- [ type => 'heavy', ]
- [ page => $start_page, ]
- [ mode => $mode, ]
- [ offer => 'All', ]
- [ sort => $sort_type, ]
- );
-
-=head1 DESCRIPTION
-
-Don't use this class directly, use derived classes
-(like C<Net::Amazon::Request::ASIN>, C<Net::Amazon::Request::Wishlist>
-etc.) instead to specify the type of request and its parameters.
-
-However, there's a bunch of parameters to the constructor
-that all request types have in common, here they are:
-
-=over 4
-
-=item type
-
-Defaults to C<heavy>, but can be set to C<lite> if no reviews etc.
-on a product are wanted. Some fields (e.g. C<isbn>) are not going to be
-available in C<lite> mode, though.
-
-=item mode
-
-Defaults to C<books>, but can be set to other catalog values.
-
-=item page
-
-Defaults to C<1>, but can be set to a different number to
-start with a different result page. Used in conjunction with the
-C<max_pages> parameter of the C<Net::Amazon> object. C<page> is the
-offset, C<max_pages> is the maximum number of pages pulled in starting
-at C<page>.
-
-=item sort
-
-Defaults to C<+salesrank>, but search results can be sorted in various
-ways, depending on the type of product returned by the search. Search
-results may be sorted by the following criteria:
-
-=over 8
-
-=item *
-Featured Items
-
-=item *
-Bestselling
-
-=item *
-Alphabetical (A-Z and Z-A)
-
-=item *
-Price (High to Low and Low to High)
-
-=item *
-Publication or Release Date
-
-=item *
-Manufacturer
-
-=item *
-Average Customer Review
-
-=item *
-Artist Name
-
-=back
-
-Consult L<Net::Amazon::Request::Sort> for details.
-
-=item offer
-
-To receive values for the fields
-C<CollectibleCount>, C<NumberOfOfferings>, C<UsedCount>,
-specify C<offer =E<gt> "All">.
-
-=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