summaryrefslogtreecommitdiff
path: root/Xerl/Page/Parameter.pm
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2011-03-06 10:57:41 +0000
committerPaul Buetow <paul@buetow.org>2011-03-06 10:57:41 +0000
commit213033db33be271791f2d9ff1c9c44c0bed79f18 (patch)
tree1b3ff0d0eddfc7f6995afa67b5d3fc2ef8fa85a7 /Xerl/Page/Parameter.pm
initial xerl import to utils
Diffstat (limited to 'Xerl/Page/Parameter.pm')
-rw-r--r--Xerl/Page/Parameter.pm72
1 files changed, 72 insertions, 0 deletions
diff --git a/Xerl/Page/Parameter.pm b/Xerl/Page/Parameter.pm
new file mode 100644
index 0000000..2100323
--- /dev/null
+++ b/Xerl/Page/Parameter.pm
@@ -0,0 +1,72 @@
+# Xerl (c) 2005-2009, Dipl.-Inform. (FH) Paul C. Buetow
+#
+# E-Mail: xerl@dev.buetow.org WWW: http://xerl.buetow.org
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of P. B. Labs nor the names of its contributors may
+# be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED Paul C. Buetow ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT Paul C. Buetow BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+package Xerl::Page::Parameter;
+
+use strict;
+use warnings;
+
+use Xerl::Base;
+use Xerl::Main::Global;
+use Xerl::Page::Configure;
+use Xerl::Tools::FileIO;
+
+sub parse($) {
+ my Xerl::Page::Parameter $self = $_[0];
+ my Xerl::Page::Configure $config = $self->get_config();
+
+ print "Content-Type: text/plain\n\n"
+ if $config->plain_exists();
+
+ if ( $config->href_exists() ) {
+ print "Location: ", $config->get_href(), "\n\n";
+ Xerl::Main::Global::SHUTDOWN();
+
+ }
+ elsif ( $config->env_exists() ) {
+ print "Content-Type: text/plain\n\n";
+ print "$_=", $ENV{$_}, "\n" for keys %ENV;
+ Xerl::Main::Global::SHUTDOWN();
+ }
+
+ if ( $config->devel_exists() ) {
+ $config->set_nolog(1);
+ $config->set_nocache(1);
+ }
+
+ if ( $config->conf_exists() ) {
+ print "Content-Type: text/plain\n\n";
+ print "$_=", $config->{$_}, "\n" for keys %$config;
+ Xerl::Main::Global::SHUTDOWN();
+ }
+
+ return $self;
+}
+
+1;