summaryrefslogtreecommitdiff
path: root/Xerl/Main/Global.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/Main/Global.pm
initial xerl import to utils
Diffstat (limited to 'Xerl/Main/Global.pm')
-rw-r--r--Xerl/Main/Global.pm97
1 files changed, 97 insertions, 0 deletions
diff --git a/Xerl/Main/Global.pm b/Xerl/Main/Global.pm
new file mode 100644
index 0000000..0ca2357
--- /dev/null
+++ b/Xerl/Main/Global.pm
@@ -0,0 +1,97 @@
+# 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::Main::Global;
+
+sub SHUTDOWN {
+ exit 0;
+
+ # Never reach this point
+ return undef;
+}
+
+sub DEBUG {
+ print 'Debug::', @_, "\n";
+
+ return undef;
+}
+
+sub ERROR {
+ print "Content-Type: text/plain\n\nXerl runtime error: ",
+ join( ' ', time, @_ );
+
+ Xerl::Main::Global::SHUTDOWN();
+
+ # Never reach this point
+ return undef;
+}
+
+sub PLAIN {
+ print "Content-Type: text/plain\n\n";
+
+ DEBUG(@_) if @_;
+
+ return undef;
+}
+
+sub REDIRECT ($) {
+ my $location = shift;
+ print "Status: 301 Moved Permanantly\n";
+ print "Location: $location\n\n";
+
+ Xerl::Main::Global::SHUTDOWN();
+
+ return undef;
+}
+
+sub _HTTP_DESCR ($) {
+ my $status = shift;
+
+ if ( $status == 404 ) {
+ "Status: 404 Not Found\015\012\n\n"
+
+ }
+ else {
+ "Status: 405 Method not allowed\015\012\n\n";
+ }
+}
+
+sub HTTP {
+ my $descr = _HTTP_DESCR(shift);
+ print $descr;
+ local $, = ' ';
+ print $descr;
+
+ Xerl::Main::Global::SHUTDOWN();
+
+ # Never reach this point
+ return undef;
+}
+
+1;