summaryrefslogtreecommitdiff
path: root/bin/contrib/rc-httpd/handlers/cgi
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2024-04-07 13:25:49 +0200
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2024-04-07 13:25:49 +0200
commit9cb56dabb676391a9382731347e8d2b07b9437a5 (patch)
tree95302f041497679202722d9896ec1386bed2d86c /bin/contrib/rc-httpd/handlers/cgi
parent0a37a1cc5909e11098963267edc9654b85e7ce16 (diff)
big cleanup
Diffstat (limited to 'bin/contrib/rc-httpd/handlers/cgi')
-rwxr-xr-xbin/contrib/rc-httpd/handlers/cgi46
1 files changed, 0 insertions, 46 deletions
diff --git a/bin/contrib/rc-httpd/handlers/cgi b/bin/contrib/rc-httpd/handlers/cgi
deleted file mode 100755
index 2c9a9b9..0000000
--- a/bin/contrib/rc-httpd/handlers/cgi
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/rc
-fn filter_headers{
- response=(200 OK)
- lines=''
- done=false
- while(~ $done false){
- line=`{getline}
- head=`{echo $line | awk '{print tolower($1)}'}
- if(~ $head status:*)
- response=`{echo $line | awk '{$1="" ; print}'}
- if not if(~ $line '')
- done=true
- if not
- lines=$"lines^$"line^$cr^'
-'
- }
- echo 'HTTP/1.1' $"response^$cr
- echo -n $"lines
- do_log $response(1)
-}
-
-fn run_cgi {
- path=$cgi_path exec $"cgi_bin $params || echo 'Status: 500'
-}
-
-cgi_bin=$1
-cgi_dir=.
-if(! ~ $#* 1)
- cgi_dir=$*($#*)
-if not if(~ $"cgi_bin /*){
- cgi_dir=`{basename -d $"cgi_bin}
- cgi_dir=$"cgi_dir
-}
-if(! ~ $"cgi_bin */*)
- cgi_bin=./$"cgi_bin
-if(! builtin cd $"cgi_dir >[2]/dev/null || ! test -x $"cgi_bin){
- error 500
- exit
-}
-
-run_cgi | {
- filter_headers
- emit_extra_headers
- echo $cr
- exec cat
-}