diff options
Diffstat (limited to 'Xerl.pm')
| -rw-r--r-- | Xerl.pm | 63 |
1 files changed, 63 insertions, 0 deletions
@@ -0,0 +1,63 @@ +# Xerl (c) 2005-2011, 2013-2015, 2017 by Paul Buetow +# +# E-Mail: xerl@dev.buetow.org WWW: https://xerl.buetow.org +# +# This is free software, you may use it and distribute it under the same +# terms as Perl itself. + +package Xerl; + +use strict; +use warnings; + +use v5.14.0; + +#use CGI::Carp 'fatalsToBrowser'; +use Time::HiRes 'gettimeofday'; + +use Xerl::Base; +use Xerl::Main::Global; +use Xerl::Page::Document; +use Xerl::Page::Templates; +use Xerl::Setup::Configure; +use Xerl::Setup::Parameter; +use Xerl::Setup::Request; + +sub run { + my Xerl $self = $_[0]; + my $time = [gettimeofday]; + + my $request = Xerl::Setup::Request->new( request => $ENV{REQUEST_URI} ); + $request->parse(); + + my $config = Xerl::Setup::Configure->new( + config => $self->get_config(), + %$request + ); + $config->parse(); + + return undef if $config->finish_request_exists(); + + $config->defaults(); + + my $parameter = Xerl::Setup::Parameter->new( config => $config ); + $parameter->parse(); + return undef if $config->finish_request_exists(); + + if ( $config->document_exists() ) { + my $document = Xerl::Page::Document->new( config => $config ); + $document->parse(); + return undef if $config->finish_request_exists(); + + } + else { + my $templates = Xerl::Page::Templates->new( config => $config ); + $templates->parse(); + return undef if $config->finish_request_exists(); + $templates->print($time); + } + + return undef; +} + +1; |
