diff options
| author | Paul Buetow <paul@buetow.org> | 2018-12-14 17:42:36 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2018-12-14 17:42:36 +0200 |
| commit | 6cc1fe15416a6e652b644278626e47658351e545 (patch) | |
| tree | 4c8890bdd5feef0b806974224181860807e8fd1b /Xerl.pm | |
| parent | 849560bc3c48f6c753932dd08d2191e36d477ce0 (diff) | |
| parent | 3e65cce0ec33e290cf45b7cc9e661977bb225810 (diff) | |
Merge branch 'hosts' of https://github.com/snonux/xerl into hosts
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; |
