summaryrefslogtreecommitdiff
path: root/Xerl.pm
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2018-12-14 17:42:36 +0200
committerPaul Buetow <paul@buetow.org>2018-12-14 17:42:36 +0200
commit6cc1fe15416a6e652b644278626e47658351e545 (patch)
tree4c8890bdd5feef0b806974224181860807e8fd1b /Xerl.pm
parent849560bc3c48f6c753932dd08d2191e36d477ce0 (diff)
parent3e65cce0ec33e290cf45b7cc9e661977bb225810 (diff)
Merge branch 'hosts' of https://github.com/snonux/xerl into hosts
Diffstat (limited to 'Xerl.pm')
-rw-r--r--Xerl.pm63
1 files changed, 63 insertions, 0 deletions
diff --git a/Xerl.pm b/Xerl.pm
new file mode 100644
index 0000000..fd1421e
--- /dev/null
+++ b/Xerl.pm
@@ -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;