]> git.plutz.net Git - cgilite/blobdiff - server.sh
forking cgilite into separate project
[cgilite] / server.sh
diff --git a/server.sh b/server.sh
deleted file mode 100755 (executable)
index c49c0d8..0000000
--- a/server.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/zsh
-
-# Copyright 2016 Paul Hänsch
-#
-# This file is part of shcgi.
-# 
-# shcgi is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# shcgi is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-# 
-# You should have received a copy of the GNU Affero General Public License
-# along with shcgi.  If not, see <http://www.gnu.org/licenses/>. 
-
-if [ "$1" = '--server' ]; then
-  shift 1
-  ncat -klc "$call --ncat" $@
-  exit $?
-fi
-
-export REMOTE_ADDR="${NCAT_REMOTE_ADDR}"
-export SERVER_NAME="${NCAT_LOCAL_ADDR}"
-export SERVER_PORT="${NCAT_LOCAL_PORT}"
-
-eval $(
-sed -unr '
-  w/dev/stderr
-  /^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$/{
-    h
-    s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;export REQUEST_METHOD='\''\1'\'';p
-    g
-    s;^(GET|HEAD|POST) ([^\?]*\??.*) (HTTP\/[0-9]\.[0-9])\r?$;\2;
-    s;'\'';'\''\\'\'''\'';g
-    s;^.*$;export REQUEST_URI='\''&'\'';p
-    g
-    s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;\2;
-    s;'\'';'\''\\'\'''\'';g
-    s;^.*$;export PATH_INFO='\''&'\'';p
-    g
-    s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;\3;
-    s;'\'';'\''\\'\'''\'';g
-    s;^.*$;export QUERY_STRING='\''&'\'';p
-    g
-    s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;export SERVER_PROTOCOL='\''\4'\'';p
-    g
-  }
-
-  /^[Pp][Rr][Oo][Xx][Yy]: /d
-
-  /^[a-zA-Z_-]+: .*$/{
-    h
-    s;^[^:]+: (.*)\r$;\1;
-    s;'\'';'\''\\'\'''\'';g
-    s;^.*$;'\''&'\'';
-    x
-    s;: .*$;;
-    y;abcdefghijklmnopqrstuvwxyz-;ABCDEFGHIJKLMNOPQRSTUVWXYZ_;
-    s;^.+$;export HTTP_&=;
-    G
-    s;\n;;
-    p
-  }
-  /^\r?$/q
-'
-)
-
-HTTP_format(){
-  LC_ALL=C sed -urn '
-  :A
-  /^\r?$/!{H;n;bA}
-  
-  g
-  s;^(\r?\n)*;;;
-  s;([^\r])\n;\1\r\n;g;
-  aConnection: close\r\n\r
-  /^Status: *[1-5][0-9][0-9] .*/{s;^Status: *;HTTP/1.1 ;; bX}
-  s;^(.+\n)?Location: .*$;HTTP/1.1 302 Found\r\n&;
-  s;^(.+\n)?Content-Type: .*$;HTTP/1.1 200 OK\r\n&;
-  
-  :X
-  p
-  $q
-  n
-  bX
-  '
-}
-
-
-if [ -z "$QUERY_STRING" ]; then
-  PATH_INFO="$(printf "$(printf %s "$PATH_INFO" |sed 's:+: :g;s:\\:\\\\:g;s:%:\\x:g')")"
-  PATH_INFO="$(invalidate "${PATH_INFO}" '(^|.*/)\.\./.*' '')"
-  [ -f "${treeroot:-${_DATA}}/$PATH_INFO" ] && . "$_EXEC/shcgi/static.sh" "${treeroot:-${_DATA}}/$PATH_INFO"
-  exit 0
-fi |HTTP_format