diff options
| author | Paul Buetow <paul@buetow.org> | 2011-03-06 10:57:41 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2011-03-06 10:57:41 +0000 |
| commit | 213033db33be271791f2d9ff1c9c44c0bed79f18 (patch) | |
| tree | 1b3ff0d0eddfc7f6995afa67b5d3fc2ef8fa85a7 /Xerl/Main/Global.pm | |
initial xerl import to utils
Diffstat (limited to 'Xerl/Main/Global.pm')
| -rw-r--r-- | Xerl/Main/Global.pm | 97 |
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; |
