#!/usr/bin/perl

# Default Perl startup file

BEGIN
{
  use Apache();
  use Apache::Server();
  use lib Apache->server_root_relative('../../../perl/lib');
}

use PDM::Store::Server::Conf;

# Don't do expensive Params::Validate validation in production
unless(PDM::Store::Server::Conf->param('DEVELOPMENT_SERVER'))
{
  $Params::Validate::NO_VALIDATION = 1;
}

##
## CPAN mdoules
##

use URI;
use URI::Escape;

use Apache::DBI();

use Apache::Log();
use Apache::Util();
use Apache::Cookie();
use Apache::Constants();

use Apache::SizeLimit();
$Apache::SizeLimit::CHECK_EVERY_N_REQUESTS = 10;
$Apache::SizeLimit::MAX_PROCESS_SIZE = 100 * 1024; # in KB

use HTML::Mason();
use HTML::Mason::ApacheHandler();

##
## Palm Digital Media modules
##

#
# Standard modules
#

# Core modules

use PDM::Store();
use PDM::Store::User();

use PDM::Store::Product::Map 'nocache';

#
# Application modules
#

use PDM::Store::App::Cart();
use PDM::Store::App::Purchase();
use PDM::Store::App::Download();
use PDM::Store::App::SalesRegion();
use PDM::Store::App::Product();
use PDM::Store::App::Feature();
use PDM::Store::App::BestSeller();
use PDM::Store::App::GiftCertificate();
use PDM::Store::App::User::Login();
use PDM::Store::App::User::Account();
use PDM::Store::App::User::WishList();
use PDM::Store::App::User::CreditCards();
use PDM::Store::App::eReader::Themes();
use PDM::Store::App::Search();
use PDM::Store::App::Author();
use PDM::Store::App::MailingList();
use PDM::Store::App::Support::Contact();
use PDM::Store::App::User::Notification();
use PDM::Store::App::Contest();
use PDM::Store::App::Survey::eReaderWebSite();
use PDM::Store::App::DataFeed();

#
# Modules used exclusively by components
#

use PDM::Store::BestSellers();
use PDM::Store::BestSeller::ItemRecords();
use PDM::Store::RelatedPurchase::ItemRecords();

#
# Apache modules
#

use PDM::Store::Apache::Init();
use PDM::Store::Apache::Trans();
use PDM::WebSite::Apache::Auth();
use PDM::WebSite::Apache::Authz();
use PDM::Store::Apache::Handler();

use PDM::Store::Apache::App();

1;
